diff options
author | Karl Berry <karl@freefriends.org> | 2020-02-13 22:10:16 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2020-02-13 22:10:16 +0000 |
commit | bfeb45d26b022e8977bd2379f7dda34d9f3b754f (patch) | |
tree | c4bd2b7544f4ff4b1bf0f2888072db5493a8c14d /Master/texmf-dist/doc/cstex | |
parent | a577698d46014ac3caa5d673e244c268dac50ab0 (diff) |
cstex (13feb20)
git-svn-id: svn://tug.org/texlive/trunk@53767 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/doc/cstex')
-rw-r--r-- | Master/texmf-dist/doc/cstex/opmac-d.tex | 75 |
1 files changed, 50 insertions, 25 deletions
diff --git a/Master/texmf-dist/doc/cstex/opmac-d.tex b/Master/texmf-dist/doc/cstex/opmac-d.tex index 767d9897a31..df97f9fa9be 100644 --- a/Master/texmf-dist/doc/cstex/opmac-d.tex +++ b/Master/texmf-dist/doc/cstex/opmac-d.tex @@ -8,7 +8,7 @@ % UTF-8 encTeX has a conflict with DocByTeX \chyph -\def\projectversion{June 2019} +\def\projectversion{July 2019} \def\headtitle{OPmac} \widowpenalty=10000 @@ -1647,39 +1647,62 @@ Uživatel si může definovat další. \inext{Blue}{\empty}{+-} -Makro \db setcmykcolor "{<CMYK barva>}" nastaví požadovanou barvu. +OPmac preferuje barevný model CMYK, proto je výše použito k definici barev +makro \db setcmykcolor. Je ovšem možné použít také \db setrgbcolor, což na RGB +zařízeních (monitorech) dá skoro jistě jásavější barvy. Můžete tedy marka +pro jednotlivé barvy předefinovat, např. "\def\Red{\setrgbcolor{1 0 0}}", +ale je vhodné oba barevné modely v jednom dokumentu nemíchat. Tiskárny +přijímají jedině CMYK, ideálně i s konkrétním barevným profilem. + +\inext{setcmykcolor}{setrgbcolor}{++} + +Makra \db formatcmyk a \db formatrgb připravují argument s požadovanou +barvou do formátu podle PDF standardu, tj. např. "1 1 0 0 k 1 1 0 0 K" +v případě CMYK a barvy modré. +Povšimněte si, že se současně +pracuje s barvou textu "<c> <m> <y> <k> k" i s barvou tenkých linek +"<c> <m> <y> <k> K". +Poněkud jiný standard je pak použit v souboru +"opmac-xetex.tex" při použití Xe\TeX{}u. +Ve "\write" příkazech se sice +makra "\formatcmyk" a "\setcmykcolor" expandují, ale expanze se zastaví +u "\setcolor", protože toto makro je deklarováno pomocí "\addprotect". + +\inext{formatcmyk}{\empty}{+-} + +Makro \db setcolor "{<barva>}" nastaví požadovanou barvu. Nejprve přepne makro "\ensureblacko" do aktivního stavu. V tomto stavu makro setrvá právě tehdy, když je v dokumentu použit aspoň jednou přepínač barvy. -Dále makro "\setcmykcolor" nastaví při +Dále makro "\setcolor" nastaví při "\localcolorfalse" barvu přímo a při "\localocolortrue" barvu vloží do zásobníku a pomocí "\aftergroup" zajistí návrat k původní hodnotě. -Navíc nastaví na odpovídající hodnotu makro \db currentcolor. +Navíc nastaví na odpovídající hodnotu makro "\currentcolor". -\inext{setcmykcolor}{^^B\cbrace}{++} +\inext{setcolor}{^^B\cbrace}{++} -Makro "\currentcolor" je nastaveno na výchozí hodnotu \db pdfblackcolor +Makro \db currentcolor je nastaveno na výchozí hodnotu \db pdfblackcolor \inext{pdfblackcolor}{currentcolor}{++} Makro \db ensureblacko "{<sazba>}" je použito pro sazbu záhlaví a zápatí ve výstupní rutině v~makru "\opmacoutput". Implicitně se "\ensureblacko{<sazba>}" chová stejně jako samotná "<sazba>", ale po použití přepínače barvy -"\setcmykcolor" začne fungovat jako \db ensureblackoA, což zajistí bravu +"\setcolor" začne fungovat jako \db ensureblackoA, což zajistí bravu "<sazby>" v~černém. Je to provedeno tak, že je na začátku "<sazby>" alokována nová úroveň zásobníku barev s výchozí černou barvou a na konci "<sazby>" je tato úroveň zásobníku ukončena. \inext{ensureblacko}{\empty}{+-} -Makra \db colorstackpush "{<CMYK barva>}" a \db colorstackpop implementují +Makra \db colorstackpush "{<barva>}" a \db colorstackpop implementují práci se zásobníkem barev za použití odpovídajících \TeX{}ových primitivů. +Je použit implicitně inicializovaný zásobník \db colorstackcnt k s číslem nula +(děkuji P. Krajníkovi za tip). Není-li přítomen pdf\TeX{} ve verzi aspoň 1.40, je barva nastavena pomocí "\pdfliteral" (což v komplikovanějších případech při přechodu na další stránky nefunguje správně), jinak je použit "\pdfcolorstack", který je -inicializován pomocí "\pdfcolorstackinit". Povšimněte si, že se současně -pracuje s barvou textu "<c> <m> <y> <k> k" i s barvou tenkých linek -"<c> <m> <y> <k> K". -Konečně makro \db colorstackset "{<CMYK barva>}" nastavuje barvu přímo s +inicializován pomocí "\pdfcolorstackinit". +Konečně makro \db colorstackset "{<barva>}" nastavuje barvu přímo s umístěním této bravy na vrchol zásobníku místo bravy předchozí. \inext{pdfcolorstack}{\empty}{+-} @@ -2268,33 +2291,35 @@ pdf\TeX{}u jako makra, která nedělají nic. \subsec Poznámky pod čarou a na okraji stránek %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -Makro \db fnote předpokládá, že správné číslo poznámky na dané stránce je +Makro "\fnote" předpokládá, že správné číslo poznámky na dané stránce je připraveno v makru "\fn:<číslo>", kde "<číslo>" je celkové číslo poznámky napříč celým dokumentem sledované globálním čítačem \db fnotenum. -Makro ohlásí svou existenci do REF souboru záznamem "\Xfnote" (bez + +\inext{fnotenum}{\empty}{+-} + +Makro "\fnote" ohlásí svou existenci do REF souboru záznamem "\Xfnote" (bez parametru). Dále vytiskne značku pomocí "\fnmarkx" a ve skupině přejde na menší sazbu a zavolá plain\TeX{}ové makro "\vfootnote", které vloží sazbu pomocí tzv. insertu (TBN, kapitola~6.7). Plain\TeX{}ové nastavení této -třídy insertu není makrem OPmac nijak měněno. +třídy insertu není makrem OPmac nijak měněno. To vše je řešeno v interním makru +\db fnoteG "{<značka>}{<text>}". + +\inext{fnoteG}{^^B\cbrace}{++} + +Konečně makro \db fnote je implementováno pomocí "\fnoteG" se značkou +"\fnmarkx" zatímco makro \db fnotetext dělá to samé, ale značka v textu je +prázdná. -\inext{fnotenum}{^^B\cbrace}{++} +\inext{fnote}{fnotetext}{++} Makro \db fnotemark přičte lokálně k "\fnotenum" svůj parametr a vytiskne odpovídající značku. Celá práce makra probíhá ve skupině, takže po ukončení makra se "\fnotenum" vrátí do své původní hodnoty. - -\inext{fnotemark}{^^B\cbrace}{++} - -Makro \db fnotetext teprve zvedne čítač "\fnotenum" globálně a vytiskne -poznámku pomocí plain\TeX{}ového "\vfootnote". - -\inext{fnotetext}{^^B\cbrace}{++} - Makro \db fnmarkx vytiskne otazník nebo \db thefnote. Předpokládá se, že si uživatel předefinuje "\thefnote" k obrazu svému. Lokální číslo poznámky na stránce má připraveno v makru \db locfnum. -\inext{fnmarkx}{\empty}{+-} +\inext{fnotemark}{\empty}{+-} Při čtení REF souboru se pro každou stranu přečte nejprve "\Xpage", což je makro, které pronuluje \db fnotenumlocal. |