summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/doc/cstex/opmac-u.tex
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/doc/cstex/opmac-u.tex')
-rw-r--r--Master/texmf-dist/doc/cstex/opmac-u.tex66
1 files changed, 53 insertions, 13 deletions
diff --git a/Master/texmf-dist/doc/cstex/opmac-u.tex b/Master/texmf-dist/doc/cstex/opmac-u.tex
index b06b913b1c8..a4450421637 100644
--- a/Master/texmf-dist/doc/cstex/opmac-u.tex
+++ b/Master/texmf-dist/doc/cstex/opmac-u.tex
@@ -971,23 +971,48 @@ Uvedený příklad povede na následující výsledek:
\medskip
Ve skutečnosti výsledek nebude uprostřed řádku, ale tam, kam "\table"
-napíšete. Kromě písmen "c", "l", "r" se v <deklaraci> mohou objevit znaky
-\uv{svislítko}, které vymezují svislou čáru mezi sloupci.
+napíšete.
-V datové části musí být tolik sloupců, kolik jich bylo deklarováno.
+Kromě písmen "c", "l", "r" se v <deklaraci> mohou objevit znaky
+\uv{svislítko}, které vymezují svislou čáru mezi sloupci.
+Dále kromě deklarátorů jednotlivých sloupců "c", "l", "r" je v OPmac od verze Jun
+2017 připraven deklarátor "p{<rozměr>}", který vymezí sloupec
+tabulky s pevnou šířkou sloupce <rozměr>. Delší text se formátuje jako odstavec
+dané šířky bez odstavcové zarážky, kratší jednořádkový text je vlevo. Například
+"p{42mm}"
+vytvoří sloupec pro text široký 42\,mm. Při velmi úzkých sloupcích nastávají
+obvykle potíže s formátováním odstavce do bloku. V takovém případě můžete
+hned za <rozměr> přidat třeba "\raggedright" a odstavec bude formátován
+s~nezarovnaným pravým okrajem, například "p{42mm\raggedright}".
+
+V <deklaraci> je možné místo opakování stejného deklarátoru použít číslo
+následované deklarátorem, tedy třeba "4c" je totéž jako "cccc". Opakovat se
+mohou celé úseky <deklarace>, pokud za číslem pokračuje úsek ve svorkách.
+Například "c 3{|c}" je totéž jako "c|c|c|c". Mezery v~<deklaraci> se ignorují a
+je možné je použít pro zvýšení přehlednosti.
+
+V datové části tabulky musí být přesně tolik sloupců, kolik jich bylo deklarováno.
Jsou odděleny znakem "&" nebo symbolem pro konec řádku "\cr". Z toho vyplývá,
že na každém řádku musí být v datové části o jeden znak "&" méně, než je počet sloupců.
Nedodržíte-li toto pravidlo, \TeX{} se pomstí chybovou hláškou
-
\begtt
! Extra alignment tab has been changed to \cr
\endtt
%
-nebo vytvoří nedomrlou tabulku. Místo symbolu pro konec řádku "\cr" je možno
+nebo vytvoří nedomrlou tabulku.
+
+Místo symbolu pro konec řádku "\cr" je možno
použít "\crl" (přidá jednoduchou vodorovnou čáru) nebo "\crll" (přidá dvojitou
čáru), "\crli" (přidá čáru přerušenou svislými dvojitými linkami,
tj.~{\bf i}nterrupted) a
"\crlli" (přidá dvojitou čáru přerušenou svislými dvojitými linkami).
+Konečně lze použít "\crlp{<seznam>}", což vloží přerušovanou čáru jako
+"\crli", ale jen ve sloupcích, jejichž pořadová čísla oddělená čárkami
+jsou vyjmenována v <seznamu>. Takže třeba užití "\crlp{1,2}" v ukázce tabulky výše
+(místo "\crli") vytvoří čáru jen pod slovy \uv{měsíc} a \uv{zboží}. V
+<seznamu> lze používat zkratky typu "<od>-<do>", napříkad "1-3,5" je totéž jako
+"1,2,3,5".
+
Těsně za "\cr", "\crl" atd. může následovat "\tskip<dimen>",
což vytvoří vertikální mezeru velikosti <dimen>, přitom se nepřeruší svislé
čáry v tabulce.
@@ -1032,6 +1057,18 @@ Tip: vyzkoušejte si
každá datová položka bude zpracována v matematickém módu. Makro "\table" se
nyní podobá \LaTeX{}ovému prostředí "array".
+Chcete-li přesáhnout jedním údajem více sloupců tabulky, můžete použít
+plain\TeX{}ové makro "\multispan{<číslo>}" nebo makro z OPmac
+"\mspan<číslo>[<deklarace>]{<text>}", které přesáhne <číslo> sloupců a <text>
+v tomto prostoru formátuje podle <deklarace>, která obsahuje právě jedno
+písmeno "c", "l" nebo "r" (označující způsob formátování) a dále může obsahovat
+jeden nebo více znaků "|" (označující svislé čáry). Máte-li v tabulce svislé čáry
+a chcete, aby svislé čáry z "\mspan" na ně navazovaly, pak použijte v
+"\mspan" čáry před údajem "c", "l" nebo "r" jedině v případě, že "\mspan" zasahuje do
+prvního sloupce. V ostatních případech používejte čáry výhradně na konci
+<deklarace>, protože každý sloupec (s výjimkou prvního) přidává případné
+svislé čáry jen na svůj konec.
+
Makro "\frame{<text>}" vytvoří rámeček kolem <textu> s vnitřními okraji
o~velikostech "\vvkern" a "\hhkern". Například "\frame{ahoj}" vytvoří \frame{ahoj}.
Povšimněte si, že účaří rámovaného textu zůstalo nezměněno. Pokud chcete mít
@@ -1041,32 +1078,35 @@ a nahoře a dole s~jednoduchými čarami a celou ji zabalit do "\frame":
\vbox{
\begtt
\frame{\table{|c||l||r||c|}{\crl
- \multispan4\vrule\hss\bf Nadpis\hss \vrule\tabstrut \crl
+ \mspan4[|c|]{\bf Nadpis} \crl
\noalign{\kern\hhkern}\crli
první & druhý & třetí & čtvrtý \crlli
sedmý & osmý & devátý & desátý \crli}}
\endtt
\par\removelastskip\vskip-8.3ex
\hfill\frame{\table{|c||l||r||c|}{\crl
- \multispan4\vrule\hss\bf Nadpis\hss \vrule\tabstrut \crl
+ \mspan4[|c|]{\bf Nadpis} \crl
\noalign{\kern\hhkern}\crli
první & druhý & třetí & čtvrtý \crlli
sedmý & osmý & devátý & desátý \crli}}
}
\medskip
-Kromě předdefinovaných znaků "c,l,r,|" se může v "<deklaraci>" objevit
-libovolný další symbol, stačí připravit
-"\def\tabdeclare<symbol>{<vlevo>##<vpravo>}". V technické dokumentaci je
-příklad deklarace položky "P", která se při delším textu láme do více řádků.
+Kromě předdefinovaných znaků "c,l,r,p" lze v "<deklaraci>" "\table" použít
+libovolný další symbol pro deklaraci sloupce, stačí připravit
+"\def\tabdeclare<symbol>{<vlevo>##<vpravo>}". Toto je podrobněji popsáno
+v technické dokumentaci.
Tloušťka všech čar je v \TeX{}u implicitně 0,4pt. OPmac umožňuje tuto
implicitní tloušťku nastavit jinak pomocí "\rulewidth=<šířka>", například
"\rulewidth=1.5pt".
Další příklad použití makra "\table" najdete v sekci~\ref[cislovani].
-Pokud potřebujete vytvořit komplikovanější tabulky, nezbude než prostudovat
-TBN, kapitolu čtvrtou.
+Pokud potřebujete vytvořit komplikovanější tabulky, můžete se inspirovat
+sekcí \ulink[http://petr.olsak.net/opmac-tricks.html]{OPmac triků}
+věnující se tabulkám. Můžete si také definovat případně další vlastní tabulkové
+deklarátory nebo použít přímo primitivní "\halign", což vyžaduje zřejmě
+prostudovat TBN, kapitolu čtvrtou.
\sec Vkládání obrázků