Fragment pliku XML wygląda jakoś tak:
<month no="1"> <item data="2009/01/03" dist="20" exdist="18.60" /> <item data="2009/01/25" dist="50" exdist="49.10" /> <month no="2"> ... </month>
Wszystkie item
pomiędzy month
trzeba zsumować aż do zadanego
numeru miesiąca (włącznie),
który jest n.b. wartością atrybutu no
. Poniższy szablon
wykona ww. zadanie:
<xsl:template name='drukuj-do-mc'> <xsl:param name='mc'/> <xsl:text> [od początku roku: </xsl:text> <xsl:value-of select="sum(//item[not(../@no > $mc)]/@dist)"/> <xsl:text> km] </xsl:text> </xsl:template>
Wyróżniony wiersz zawiera kluczowe przekształcenie XPath:
//item[not(../@no > $mc)]/@dist
, co można zinterpretować następująco:
wszystkie atrybuty dist
przyczepione do
elementu item
, z całego dokumentu, ale pod warunkiem, że wartość atrybutu
no
elementu nadrzędnego jest nie większa niż $mc
.
Pakiet pozwala na formatowanie otoczenia verbatim
, przykładowo
można dodać numerowanie wierszy, zmienić stopień pisma (przydatne jak
zawartość się nie mieści).
Można też zdefiniować znak, który
będzie rozpoznawany jako polecenie wewnątrz verbatim
.
To ostatnie przydaje się do formatowania fragmentów tekstu, np.
złożenia kursywą lub w innym kolorze (przykład niżej)
\documentclass{article} \usepackage{fancyvrb} \DefineVerbatimEnvironment{SVerbatim}{Verbatim}% {commandchars=\+\[\],numbers=left,numbersep=5pt,fontsize=\footnotesize} %% \DefineVerbatimEnvironment{XVerbatim}% {Verbatim}{numbers=left,numbersep=5pt,fontsize=\small} \begin{document} \begin{SVerbatim} aa [ ] \[ \] %% <-- znaki [ ] znikają magicznie bb [ ] ccc +textit[cccc Hop siup!] \end{SVerbatim} \begin{Verbatim}[commandchars=\@\[\]] aa [ ] \[ \] bb [ ] ccc @textit[cccc Hop siup!] \end{Verbatim} Magiczne commandchars definiujące znaki rozpoczynające polecenie można definiować także `indywidualnie': \begin{XVerbatim}[commandchars=\@\[\]] aa [ ] \[ \] bb [ ] ccc @textit[cccc Hop siup!] \end{XVerbatim} \end{document}
Polecenie zatem zaczyna się znakiem `+
' a argument
jest zawarty wewnątrz `[
' oraz `]
'. Tych
znaków nie można używać wewnątrz Verbatim
(por. przykład
pierwszy, powyżej).
W tej sytuacji ich deklaracja ,,globalna'' jest ryzykowana,
bo może się zdarzyć,
że będzie potrzeba wstawić ,,magiczny'' znak literalnie.
Ciekawostka, z wykładu w Bachotku. Krój, którym są -- nazwijmy to -- składanie tablice rejestracyjne w Niemczech jest dość specyficzny. Nie mając pojęcia do czego służy ww. font można by pomyśleć że to jakiś niedorobiony produkt amatora: litery ,,z różnych parafii'', jedna z szeryfami drugie nie, znaki w innych krojach optycznie podobne tutaj są specjalnie różne....
It was designed by Karlgeorg Hoefer for the German government in the late 1970s in the light of Red Army Faction terrorism when it was discovered that with the then-standard font for vehicle registration plates--the road sign font--it was particularly easy to modify letters by applying a small amount of black paint or tape. For example, it was easy to change a "P" to an "R" or "B", a "3" to an "8", or an "L" or "F" to an "E". Modifications to FE-font plates are somewhat more difficult, as they also require the use of white paint, which is easily distinguished at a distance from the retroreflective white background of the plate, in particular at night. Faked FE-Schrift letters (e.g., "P" to "R") appear conspicuously disproportionate.
Podrobić trójkę z ósemki, zamalowując kredą połowę znaku, jak to zrobił Hans Kloss w 17 odcinku SWNŻ (Akcja liść dębu) byłoby dużo trudniejsze. Dla porównania w większości fontów wygląda to tak: 88/33 (zakładam, że sz. czytelnik używa normalnego kroju w przeglądarce).