summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/doc/cstex/opmac-d.tex
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2014-05-09 21:59:33 +0000
committerKarl Berry <karl@freefriends.org>2014-05-09 21:59:33 +0000
commit3718baf0c743e1846d48839f867ad5924e79c8a3 (patch)
tree943bc30e3f6e743ceec08265958b1474ff35c77b /Master/texmf-dist/doc/cstex/opmac-d.tex
parentc2518d034346ecd639cf7bc057cce448a830ac7b (diff)
cstex (9may14)
git-svn-id: svn://tug.org/texlive/trunk@33942 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/doc/cstex/opmac-d.tex')
-rw-r--r--Master/texmf-dist/doc/cstex/opmac-d.tex244
1 files changed, 175 insertions, 69 deletions
diff --git a/Master/texmf-dist/doc/cstex/opmac-d.tex b/Master/texmf-dist/doc/cstex/opmac-d.tex
index 32fef6bf372..735087fd6a8 100644
--- a/Master/texmf-dist/doc/cstex/opmac-d.tex
+++ b/Master/texmf-dist/doc/cstex/opmac-d.tex
@@ -7,7 +7,7 @@
% This file is encoded in ISO-8859-2 because
% UTF-8 encTeX has a conflict with DocByTeX
-\def\projectversion{Nov. 2013}
+\def\projectversion{May 2014}
\def\headtitle{OPmac}
\widowpenalty=10000
@@ -253,6 +253,7 @@ uživatelské dokumentaci.
\dgn \nb cnvhook
\dgn \nb pghook
\dgn \nb toclinehook
+\dgn \nb fnotehook
\dgn \nb mnotehook
\dgn \nb captionhook
@@ -1658,7 +1659,7 @@ charakterizuje obvyklou možnost chování PDF prohlížeče při odskoku na cíl.
Podrobněji viz manuál k~pdf\TeX{}u. PDF prohlížeče většinou
lícují horní hranu okna přesně s~místem cíle, je tedy
potřeba cíl umístit poněkud výše, abychom viděli i odkazovaný text.
-K~tomu právě slouží registr \db destheight.
+K~tomu právě slouží obsah makra \db destheight.
\inext{dest}{\empty}{+-}
@@ -1730,15 +1731,13 @@ Makro \db url "{<text>}" se používá k tisku URL. Vytiskne "<text>" fontem
mezeru s dodatečnou mírnou roztažitelností \db urlskip. Mezera vpravo od
těchto znaků je navíc zlomitelná s penaltou definovanou v makru \db
urlbskip. Dvojité lomítko \db urlslashslash má zlomitelnou mezeru jen na
-konci.
+konci. Makro "\|" je lokálně definováno jako prázdné, ale při "\urlfont"
+nabývá hodnoty \db urlspecchar. Takže ve skutečném odkaze se neprojeví, ale
+při tisku ano. Uživatel si může "\urlspecchar" definovat dle svých představ
+(například jako "\hfil\break").
\inext{url}{\empty}{+-}
-Je třeba vysvětlit, proč je v makru "\urlskip" použito "\null", neboli
-"\hbox{}". Tento box se přilepí na předchozí slovo a tím zakážeme toto slovo
-dělit podle vzorů dělení slov. Spojovník při rozděleném slovu je totiž pro
-čtenáře matoucí: nemůže vědět, zda je nebo není součástí URL.
-
Makro "\url{<text>}" pracuje tak, že uloží "<text>" do "\tmpb" a nechá
vyměnit příslušné znaky uvnitř "\tmpb" pomocí "\replacestrings".
Nakonec vytiskne "<text>" prostřednictvím "\ulink".
@@ -1748,8 +1747,9 @@ některé další znaky, ale ne všechny: procento, backlash.
U těchto znaků bychom nejprve museli vyměnit jejich
kategorie. Pak by ale makro "\url" nefungovalo uvnitř parametrů jiných
maker. V zájmu jednoduchosti makra "\url" to neděláme. Takže pokud uživatel
-má v URL znak procento, nahradí ho sekvencí "\percent" manuálně a pokud tam má
-další speciální znak, vyřeší to podobným makrem jako "\percent".
+má v URL znak procento, musí psát "\%"
+nebo si změní kategorie sám. Podobná poznámka platí pro znaky "{", "}", "\",
+"#" a "$".
Makro \db replacestrings "{<string1>}{<string2>}" vymění v makru "\tmpb"
veškeré výskyty "<string1>" za "<string2>". Pro tento účel definuje pracovní
@@ -2238,6 +2238,27 @@ Při kladení vlevo musíme použít "fill", abychom přeprali natahovací mezeru z
\inext{mnoteA}{^^B\cbrace}{++}
+Text uvnitř "\mnote" přebírá barvu kvůli "\vadjust" \uv{se zpožděním}, podle
+barvy, která je na konci řádku, vedle kterého je "\mnote" umístěna. Makra
+tedy při zpracování parametru "\mnote" nemohou dopředu vědět, jaká to bude
+barva, a nelze tedy použít zásobník barev řízený makry. Uživateli přitom
+musíme dát možnost barvu "\mnote" nastavit, například:
+
+\begtt
+\def\mnotehook{\noindent\Black}
+\endtt
+zajistí, že budou všechny poznámky na okraji černé bez ohledu na to, jakou
+barvu mají řádky, vedle kterých ty poznámky stojí. K tomu účelu je nastavení
+případných barev uživatelem jednak v makru "\mnoteA" obklopeno do dvojice
+"\pdfsave"--"\pdfrestore" a dále je nastartován pomocí \db mnoteC lokální
+zásobník barev, který je pomocí \db mnoteD vrácen do stavu, v jakém byl před
+zahájemním zpracování "\mnote". Uživatel může v prametru "\mnote" používat
+"{\localcolor\Green X{\localcolor\Blue Y}Z}" s~očekávaným výsledkem.
+Barvy neoznačené "\localcolor" končí svou platnost na konci poznámky
+"\mnote".
+
+\inext{mnoteC}{^^B\cbrace}{++}
+
Makro \db Xmnote pracuje během čtení REF souboru a využívá toho, že makro
"\Xpage" nastavuje číslo právě procesované strany do registru "\lastpge".
Takže stačí použít "\sxdef" následujícím způsobem:
@@ -2255,31 +2276,32 @@ pak na definovanost "\mnotesfixed" ptá a pokud je definované, nepoužije
\subsec Bibliografické reference
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-Nejprve uvedeme deklarace deskriptoru \db auxfile a čítačů
+Nejprve uvedeme deklarace deskriptoru \db auxfile, stringu \db bibmark a čítačů
\db bibnum a \db lastcitenum.
\inext{auxfile}{\empty}{+-}
-Makro \db cite "[<lejblík1>,<lejblík2>,...]" si prostřednictvím \db citeA
-zavolá "\rcite{<lejblík>}" pro každou jednotlivou položku oddělenou čárkou ve
-svém parametru. Makro "\citeA" v sobě skrývá fintu: parametr nemá jediný,
-ale dva "#1#2". Protože první z nich je neseparovaný, ignorují se případné
-mezery za čárkou a "#1" obsahuje první písmeno "<lejblíku>". Uvnitř makra
-měníme \db citesep, což je čárka a mezera, která se má mezi údaji
-vytisknout. Makro \db nocite "[<lejblík1>,<lejblík2>,...]" je definováno
-stejně, jen připraví jiný význam makra "\docite", krz které budeme tisknout
-v "\rcite" potřebný údaj. Veškerá
-činnost maker "\cite" a "\nocite" probíhá uvnitř skupiny.
+Makro \db cite "[<lejblík1>,<lejblík2>,...]" si opakovaně zavolá
+"\citeA<lejblík-i>", kde se připraví čísla citovaných publikací do
+lokálně tvořeného seznamu "\savedcites". Poté zavolá "\printsavedcites",
+které lokálně tvořený seznam čísel vytiskne. Kromě toho makro "\citeA" udělá
+plno dalších potřebných věcí, jak uvidíme za chvíli.
+Makro \db nocite se chová jako "\cite" až na to, že se nic netiskne.
+Makro \db rcite vytiskne čísla publikací, ale bez hranatých závorek kolem.
+Makro \db savedcites je globálně prázdné a zaplní se vždy znovu uvnitř
+skupiny vymezené makrem "\cite" nebo "\nocite" nebo "\rcite".
\inext{cite}{\empty}{+-}
-Makro \db rcite "{<lejblík>}" řeší zhruba řečeno následující věci:
-
+Makro \db citeA "<lejblík>," řeší zhruba řečeno následující věci:
\begitems
\item * Zjistí, zda je definován "\csname bib:<lejblík>\endcsname". Pokud ano,
- vytiskne jeho hodnotu, pokud ne, vytiskne do textu otazníky a na terminál
- varování. Tato kontrolní sekvence začne být známá po použití
+ přidá obsah tohoto makra (což je číslo citovaného záznamu)
+ do "\savedcites". Pokud ne, přidá do
+ "\savedcites" otazník a na terminál vypíše varování.
+ Kontrolní sekvence "\csname bib:<lejblík>\endcsname" bude obsahovat
+ "<číslo citace>" po použití
"\bib[<lejblík>]" nebo "\bibitem{<lejblík>}". Tato makra uloží
odpovídající informaci do REF souboru, odkud ji při opakovaném \TeX{}ování
vyzvedneme. Je to klasická činnost, kterou provozujeme i u ostatních
@@ -2288,41 +2310,45 @@ Makro \db rcite "{<lejblík>}" řeší zhruba řečeno následující věci:
v makrech "\usebibtex" nebo "\usebbl".
\enditems
-Makro "\rcite" je naprogramováno zhruba takto
+Makro "\citeA" je naprogramováno zhruba takto
\def\begtthook{\langleactive}
\begtt
-function rcite(<lejblík>) {
+function citeA(<lejblík>) {
if (<lejblík> == '*') { <zapiš do> \citelist '*'; return; }
if (\bib:<lejblík> == nedef) {
- <zapiš do> \citelist <lejblík>;
+ <přidej do> \citelist <lejblík>;
<na terminál:> "Warning, cite [label] unknown";
- <do tiskového výstupu:> "??";
+ <přidej do> \savedcites "?,";
+ <lokálně vypni třídění a zkracování seznamu> \savedcites;
\bib:<lejblík> = empty;
return;
if (\bib:<lejblík> == empty) {
- <do tiskového výstupu:> "??";
+ <přidej do> \savedcites "?,";
+ <lokálně vypni třídění a zkracování seznamu> \savedcites;
return;
}
if (\bib:<lejblík> končí znakem '&') {
- <zapiš do> \citelist <lejblík>;
+ <přidej do> \citelist <lejblík>;
<odstraň znak & z obsahu makra> \bib:<lejblík>;
}
- <tiskni obsah makra> \bib:<lejblík>;
+ <přidej do> \savedcites <expandovaný> "\bib:<lejblík>,";
}
\endtt
-\def\begtthook{\langleactive}
Výklad kódu: Protože chceme šetřit pamětí bufferu "\citelist", zapisujeme
tam každý "<lejblík>" jen jednou. Zda se nedeklarovaný "<lejblík>" vyskytl
-poprvé poznáme podle nedefinované hodnoty "\bib:<lejblík>". Zda se vyskytl
-později znovu poznáme podle toho, že má hodnotu "empty". Zda se deklarovaný
-"<lejblík>" vyskytl poprvé poznáme podle znaku "&" v jeho obsahu.
+poprvé, poznáme podle nedefinované hodnoty "\bib:<lejblík>". Zda se vyskytl
+nedeklarovaný "<lejblík>" později znovu poznáme podle toho, že má makro
+"\bib:<lejblík>" hodnotu "empty". Zda se deklarovaný
+"<lejblík>" vyskytl poprvé poznáme podle znaku "&" v~jeho obsahu.
Návrh kódu v C-like notaci nyní převedeme do maker v \TeX{}u:
-\inext{rcite}{^^B\cbrace}{++}
+\inext{citeA}{^^B\cbrace}{++}
+Makro snímá svůj parametr jako "#1#2," aby mohly být "<lejblíky>" odděleny
+před čárkou mezerou, která je neseparovaným parametrem "#1" ignorována.
Asi nejzajímavější vychytávka v tomto makru se týká testu na znak "&".
Implicitně při čtení REF souboru se do makra "bib:<lejblík>" uloží
"\bibnn{<hodnota>}&". Příkaz "\if" za sebou totálně expanduje vše
@@ -2334,48 +2360,130 @@ Odstranění tohoto znaku probíhá znovu totální expanzí,
tentokrát "\bibnn" první parametr "<hodnota>" zopakuje a druhý parametr
se znakem "&" zahodí.
-Než se pustíme do výkladu makra "\docite", připravíme si makra \db printcite
-"<položka>" a \db printdashcite "<položka>". První z nich tiskne jednu
-položku oddělenou od případné
-další čárkou, druhé tiskne položku, před kterou předchází pomlčka
-vyznačující interval položek. Pointa makra "\printcite" je v tom, že si samo
-po prvním zavolání připraví separátor "\citesep" (který je na začátku
-činnosti "\cite" prázdný), takže při opakovaném volání "\printcite" se
-vytiskne i požadovaný separátor. Pomlčka v "\printdashcite" je schována do
-"\hbox", aby nedocházelo těsně za ní ke zlomu řádku.
-
-\inext{printcite}{\empty}{+-}
-
-Makro \db docite "<položka>" vytiskne otazníky při prázdném parametru a jinak
+Makro \db printsavedcites případně setřídí seznam "\savedcites"
+podle velikosti zavoláním "\sortcitesA"
+a dále opakovaně na jednotlivé prvky seznamu zavolá makro
+"\citeB", které prvky seznamu vytiskne a případně je zkrátí pomocí intervalů
+(místo "3,4,5" píše "3--5"). Pomocnou proměnnou "\tmpb" využije makro
+"\citeB", jak uvidíme později při výkladu tohoto makra.
+
+\inext{printsavedcites}{^^B\cbrace}{++}
+
+Makro \db sortcitesA seřadí seznam "\savedcites" podle velikosti. Takže třeba
+"4,7,3,5," se promění na "3,4,5,7,". Implicitně je definováno jako prázdné
+makro, takže řazení se neprovede. Nicméně uživatel ho použitím makra
+\db sortcitations v~hlavičce svého dokumentu probudí k životu.
+
+Oživené "\sortcitesA" nejprve vyvrhne do čtecí fronty obsah "\savedcites"
+ukončený další čárkou (máme zde dvě čárky vedle sebe) a následně spustí \db
+sortcitesB, které postupně odebírá jednotlivé prvky ze čtecí fronty, předává
+je do nově tvořeného setříděného seznamu, kam je vkládá na správné místo.
+Výchozí hodnota nově tvořeného seznamu obsahuje číslo "300000", které bude
+vždy na konci seznamu, protože se předpokládá větší než jakýkoli tříděný
+prvek. Zajímavý trik s "\edef\savedcites{...\expandafter}" způsobí, že se
+"\savedcites" nejprve vyvrhne (po aplikaci dvou "\expandafter") do čtecí
+fronty a teprve poté dostane novou hodnotu pomocí "\edef". Na konci makra
+"\sortcitesA" ze seznamu odebereme koncové číslo "300000".
+
+\inext{sortcitesA}{\count=2 ^^B\cbrace}{++}
+
+Vložení prvku do zatříděného seznamu probíhá pomocí \db sortcitesC, což je
+makro, které nově tvořený seznam, který je nyní také vyvržen ve čtecí
+frontě, projde zleva doprava, dokud nenarazí na číslo větší než vkládané.
+Při té činnosti opakovaně sbírá hodnoty a vkládá je zpět do "\savedcites".
+Je-li zařazovaný prvek "\tmpa" menší než odebraný prvek z fronty, vloží se
+pomocí \db sortcitesD do "\savedcites" původní "\savedcites" následovaný
+"\tmpa" následovaný testovaným prvkem následovaný zbytkem vstupní
+fronty (až po "\end").
+
+\inext{sortcitesC}{\empty}{+-}
+
+Makro \db citeB "<položka>," ukončí činnost při prázdném parametru,
+jinak se po vytištění "<položky>" zavolá znova.
+Vytiskne dva otazníky, je-li parametrem otazník, a jinak
vytiskne prostřednictvím "\printcite" jednu "<položku>". Kromě toho řeší při
nenulovém "\lastcitenum" slučování po sobě následujících čísel položek do
intervalů. Naposledy vytištěnou položku uchovává v registru "\lastcitenum".
Při příštím zavolání zvětší "\lastcitenum" o jedničku a srovná ji s
-"<položkou>". Jsou-li si rovny, jde o následující položku v řadě a takovou
+"<položkou>". Jsou-li si rovny, jde o~následující položku v řadě a takovou
položku netiskneme, nicméně si její hodnotu uchováme v "\tmpb". Pokud je
mezi souvislou řadou položek díra, tj. "\lastcitenum" se nerovná
"<položce>", pak dovytiskneme předchozí interval pomocí
"\printdashcite{\the\tmpb}" a následně vytiskneme i "<položku>".
Makro \db shortcitations jednoduše nastavuje "\lastcitenum" na nenulovou
-hodnotu a tím probudí k životu hlavní část makra "\docite".
+hodnotu a tím probudí k životu hlavní část makra "\citeB".
-\inext{docite}{\empty}{+-}
+\inext{citeB}{\empty}{+-}
-Následuje kód makra \db bib "[<lejblík>]", které prostřednictvím
-\db wbib "{<lejblík>}{<hodnota>}" vloží do REF souboru propojené údaje o
-tom, jaké má "<lejblík>" přiřazeno číslo v seznamu literatury.
-Makro "\wbib" připojí před "\wref" příkaz "\immediate" právě tehdy, když
-"\wref" je ve stavu, kdy skutečně zapisuje do souboru REF.
-Makro \db Xbib pracuje při čtení souboru REF a dělá to, co jsme si řekli už
-dříve: nastaví hodnotu makra "\bib:<lejblík>" na "\bibnn{<hodnota>}&".
+Činnost "\cite" je konečně završena voláním maker
+\db printcite "<položka>" a \db printdashcite "<položka>". První z nich tiskne jednu
+položku oddělenou od případné
+další čárkou, druhé tiskne položku, před kterou předchází pomlčka
+vyznačující interval položek. Pointa makra "\printcite" je v tom, že si samo
+po prvním zavolání upraví separátor \db citesep, který je globálně a tedy na začátku
+činnosti "\cite" prázdný. Při opakovaném volání "\printcite" se tedy
+vytiskne i požadovaný separátor. Pomlčka v~"\printdashcite" je schována do
+"\hbox", aby nedocházelo těsně za ní ke zlomu řádku.
+
+\inext{printcite}{\empty}{+-}
+
+Při použití \db nonumcitations potlačíme případné předchozí
+"\shortcitations" a "\sortcitations" a dále nastavíme \db citelinkA
+na jinou, než implicitní prázdnou hodnotu. Makro "\citelinkA" vytiskne
+"\bim:<číslo citace>", tedy značku citace (je to nastaveno v "\Xbib").
+Není-li značka citace známá, vypíšeme varování a tiskneme "<číslo citace>".
+Makro \db etalchar je potřebné při použití Bib\TeX{}ového stylu "alpha".
+
+\inext{nonumcitations}{\empty}{+-}
+
+Makro \db ecite "[<lejblík>]{<text>}" nejprve provede
+"\citeA#1,,,", tedy vlastně "\nocite[<lejblík>]" a pak si
+\db eciteB vyzvedne ze "\savedcites"
+první údaj před čárkou, tedy "<číslo citace>", a uloží do "#1". V~"#2" je případný zbytek ze
+"\savedcites" a dále v "#3" pokračuje "<text>". Makro vytiskne jen
+"<text>", když je odkaz nedefinován, jinak vytiskne "<text>" prostřednictvím
+makra "\citelink".
+
+\inext{ecite}{\empty}{+-}
+
+Následuje kód makra \db bib "[<lejblík>]". Nejprve je ošetřeno, zda je použit
+zkrácený nebo rozšířený zápis "\bib[<lejblík>] = {<značka>}". V prvním
+případě se zavolá "\bibB" s prázdným "\bibmark", v druhém případě se
+"\bibmark" nejprve naplní prostřednictvím makra \db bibA.
+Makro \db bibB vloží prostřednictvím
+\db wbib "{<lejblík>}{<číslo citace>}{<značka>}" do REF souboru propojené údaje o
+tom, jaké má "<lejblík>" přiřazeno "<číslo citace>" v seznamu literatury.
+Makro "\tmpb" je naplněno "<lejblíkem>" pro případné použití v "\dest" (při
+draft módu) nebo pro použití v makru "\printbib".
+Makro "\wbib" připojí před "\wref" příkaz "\immediate", aby byly zapsány
+do REF souboru aktuální hodnoty parametrů.
\inext{bib}{\empty}{+-}
+Makro \db Xbib pracuje při čtení souboru REF a dělá to, co jsme si řekli už
+dříve: nastaví hodnotu makra "\bib:<lejblík>" na "\bibnn{<číslo citace>}&".
+Dále definuje "\bim:<číslo citace>" jako třetí parametr, který je při použití
+"\bib" prázdný, ale při čtení "*.bbl" souboru vygenerovaného pomocí
+"alpha.bst" nebo "apalike.bst" tam bude uložena "<značka>". Dále "\Xbib"
+definuje \db lastbibnum jako "<číslo citace>", takže po přečtení REF souboru
+obsahuje největší použité "<číslo citace>". To se může hodit, pokud designér
+chce odsadit seznam literatury podle šířky největšího čísla citace.
+
+\inext{Xbib}{\empty}{+-}
+
+Makro \db printbib se vloží na začátek každého záznamu v seznamu literatury.
+Implicitně vytiskne "\the\bibnum" v hranaté závorce a při "\nonumcitations"
+netiskne nic. V obou případech nastaví odsazení druhého a dalších řádků
+odstavce na "\iindent". Designér si může toto makro předefinovat dle svého
+uvážení.
+
+\inext{printbib}{\empty}{+-}
+
Makro \db addcitelist "{<lejblík>}" přidá do \db citelist údaj ve tvaru
-"\lcite[<lejblík>]". Hranaté závorky jsou použity proto, aby fungoval test
+\db citeI "[<lejblík>]". Hranaté závorky jsou použity proto, aby fungoval test
"\isinlist\citelist{[<lejblík>]}". Jak uvidíme za chvíli, makro
"\addcitelist" změní během činnosti makra "\usebibtex" svůj význam na
-\db writeaux, aby případné použití "\cite" až za "\usebitex" rovnou
+\db writeaux, aby případné použití "\cite" až za "\usebibtex" rovnou
zapisovalo do AUX souboru. Podobně makro "\addcitelist" změní v makru
"\usebbl" svůj význam \db writeXcite "{<lejblík>}",
aby v příštím průchodu \TeX{}em
@@ -2419,13 +2527,11 @@ V BBL souboru se vyskytují povely \db bibitem. Za každým z nich se možná
objeví parametr v~hranaté závorce "[<značka>]" a následně je uveden
"{<lejblík>}". Pak na dalších řádcích jsou bibliografická data jednoho
záznamu ukončená prázdným řádkem. Objeví-li se "[<značka>]", dává tím
-Bib\TeX{} najevo, že se má tato "<značka>" použít místo běžného číslování
+Bib\TeX{} najevo, že se může tato "<značka>" použít místo běžného číslování
záznamů. Následuje kód, který takové údaje přečte, vytiskne a vloží do REF
-souboru o tom zprávu prostřednictvím "\wref{<lejblík>}{<hodnota>}".
-Rozlišují se dva režimy tisku: není-li přítomna "[<značka>]" (makro "\tmpa"
-je prázdné), pak pomocí "\llap" vytiskneme "[<číslo>]". Jinak se posuneme o
-"-\iindent" a tiskneme "[<značku>]" následovanou mezerou. Pak se vytisknou
-další údaje bibliografického záznamu.
+souboru o tom zprávu prostřednictvím "\wref{<lejblík>}{<číslo citace>}{<značka>}".
+Makro "\tmpb" je naplněno "<lejblíkem>" pro případné použití v "\dest" (při
+draft módu) nebo pro použití v makru "\printbib".
\dgn\nb bibitemB \dgn\nb bibitemC \dgn\nb bibitemD
\inext{bibitem}{^^B\cbrace}{++}
@@ -2447,7 +2553,7 @@ prázdný řádek alias "\par") přečtena do parametru "#2" makra "\bibitemC".
Celý údaj je pak vytištěn jen za předpokladu, že "[<lejblík>]" je přítomen
v seznamu "\citelist". Třetí makro "\bbl:c" pracuje jako druhé až na to, že
údaj netiskne, ale zapamatuje si ho do makra "\bb:<lejblík>". Po takovém
-projití BBL souboru ještě projde "\citelist", kde se "\lcite[<lejblík>]"
+projití BBL souboru ještě projde "\citelist", kde se "\citeI[<lejblík>]"
promění v "\bb:<lejblík>", takže se záznam vytiskne. Nyní ale v pořadí, v
jakém jsou "<lejblíky>" zařazeny do "\citelist".