\def\visualbox#1#2#3{% \hbox{% \vrule height#2depth#3\hskip-0.4pt% \vbox{% \hrule width#1\vskip-0.4pt% \vskip#2% \vskip-0.4pt\hrule \vskip#3% \vskip-0.4pt\hrule \vskip-#3% }% \hskip-0.4pt\vrule height#2depth#3% }% } \def\visualized#1{% \setbox0\hbox{#1}% \hbox{\copy0\hskip-\wd0\visualbox{\wd0}{\ht0}{\dp0}}% } \def\pagebody{\visualized{\vbox to\vsize{\boxmaxdepth\maxdepth \pagecontents}}} \let\oldshipout=\shipout \def\shipout#1#2{\oldshipout\vbox{\visualized{#1{#2}}}} \newskip\intercolskip \intercolskip=5mm \newbox\prvnisloupec \newbox\druhysloupec \newdimen\orighsize \newif\ifprvnisloupec \def\dvasloupce{% \prvnisloupectrue \orighsize\hsize \advance\hsize-\intercolskip \divide\hsize by2% \output{% \ifprvnisloupec \global\prvnisloupecfalse \global\setbox\prvnisloupec\box255% \else \global\prvnisloupectrue \hsize\orighsize \plainoutput \fi }% \let\origpagebody=\pagebody \def\pagebody{\hbox{% \setbox\druhysloupec=\box255% \setbox255\box\prvnisloupec \origpagebody \hskip\intercolskip \setbox255\box\druhysloupec \origpagebody }% }% } \dvasloupce \chyph \tolerance800 \pretolerance800 \emergencystretch4pt \hbadness5000 \hyphenation{úpra-vu} {\bf Špatně:} \def\minitab#1#2{\line{\hss#1\hss\hss#2\hss}} \minitab {pes}{štěká} \minitab {kočka}{mňouká} \minitab {slepice}{kdáká} \bigskip {\bf Dobře:} \def\minitab#1#2{\line{% \hss\hbox to0pt{\hss#1\hss}\hss \hss\hbox to0pt{\hss#2\hss}\hss }} \minitab {pes}{štěká} \minitab {kočka}{mňouká} \minitab {slepice}{kdáká} \bigskip \def\PAR{% \ifhmode \unskip \hskip\parfillskip \vadjust{\vskip\parskip}\break \fi \indent} \long\def\totokse#1#2{#1% \expandafter{\the#1#2}} \input epsf \newdimen\okoli \okoli=2mm \newdimen\obrdimen \newif\ifvlevo \newcount\obrcount \newtoks\obrtoks \newdimen\obrvlevo \newdimen\obrsirka % \vlozobrazek {hloubka}{kód pro obrázek} \def\vlozobrazek#1#2{\par \setbox0=\hbox{#2}% \vtop to0pt{% \vskip#1% \ifvlevo \line{\copy0\hss}% \else \line{\hss\copy0}% \fi \vss}% \vskip-\baselineskip % (pouze částečná kompenzace vložení) \obrcount=1% \obrtoks={}% \obrsirka=\hsize \obrvlevo=0pt% \obrdimen=\wd0\advance\obrdimen by\okoli \advance\obrsirka by-\obrdimen \ifvlevo \advance\obrvlevo by\obrdimen \fi \obrdimen=0pt% \dimen0=#1\advance\dimen0by-\okoli \loop\ifdim\obrdimen<\dimen0% \totokse\obrtoks{0pt\hsize}% \advance\obrcount by1% \advance\obrdimen by\baselineskip \repeat \advance\dimen0by\ht0% \advance\dimen0by2\okoli \loop\ifdim\obrdimen<\dimen0% \totokse\obrtoks{\obrvlevo\obrsirka}% \advance\obrcount by1% \advance\obrdimen by\baselineskip \repeat \parshape\obrcount\the\obrtoks 0pt\hsize } Občas bychom potřebovali, aby makro pro úpravu počtu řádků v odstavci - {\tt \string\looseness} - fungovalo na více odstavců najednou. Pokusíme se proto vytvořit makro, které se co nejvíce přiblíží chování primitiva {\tt \string\PAR}, ale přitom nedá \TeX u pokyn k zalomení: \vlevotrue \vlozobrazek{17mm}{\epsfxsize=2cm\epsfbox{tuxsit.eps}} Občas bychom potřebovali, aby makro pro úpravu zlomu odstavce (např.~-- {\tt \string\looseness} nebo {\tt \string\parshape})~-- fungovalo na více odstavců najednou. Pokusíme se proto vytvořit makro, které se co nejvíce přiblíží chování primitiva {\tt \string\par}, ale přitom nedá \TeX u pokyn k~zalomení: \PAR Občas bychom potřebovali, aby makro pro úpravu zlomu odstavce (např.~-- {\tt \string\looseness} nebo {\tt \string\parshape})~-- fungovalo na více odstavců najednou. Pokusíme se proto vytvořit makro, které se co nejvíce přiblíží chování primitiva {\tt \string\par}, ale přitom nedá \TeX u pokyn k~zalomení:\footnote*{Toto je poznámka pod čarou.} Občas bychom potřebovali, aby makro pro úpravu zlomu odstavce (např.~-- {\tt \string\looseness} nebo {\tt \string\parshape})~-- fungovalo na více odstavců najednou. Pokusíme se proto vytvořit makro, které se co nejvíce přiblíží chování primitiva {\tt \string\par}, ale přitom nedá \TeX u pokyn k~zalomení: Občas bychom potřebovali, aby makro pro úpravu zlomu odstavce (např.~-- {\tt \string\looseness} nebo {\tt \string\parshape})~-- fungovalo na více odstavců najednou. Pokusíme se proto vytvořit makro, které se co nejvíce přiblíží chování primitiva {\tt \string\par}, ale přitom nedá \TeX u pokyn k~zalomení: Občas bychom potřebovali, aby makro pro úpravu zlomu odstavce (např.~-- {\tt \string\looseness} nebo {\tt \string\parshape})~-- fungovalo na více odstavců najednou. Pokusíme se proto vytvořit makro, které se co nejvíce přiblíží chování primitiva {\tt \string\par}, ale přitom nedá \TeX u pokyn k~zalomení: Občas bychom potřebovali, aby makro pro úpravu zlomu odstavce (např.~-- {\tt \string\looseness} nebo {\tt \string\parshape})~-- fungovalo na více odstavců najednou. Pokusíme se proto vytvořit makro, které se co nejvíce přiblíží chování primitiva {\tt \string\par}, ale přitom nedá \TeX u pokyn k~zalomení: Občas bychom potřebovali, aby makro pro úpravu zlomu odstavce (např.~-- {\tt \string\looseness} nebo {\tt \string\parshape})~-- fungovalo na více odstavců najednou. Pokusíme se proto vytvořit makro, které se co nejvíce přiblíží chování primitiva {\tt \string\par}, ale přitom nedá \TeX u pokyn k~zalomení: Občas bychom potřebovali, aby makro pro úpravu zlomu odstavce (např.~-- {\tt \string\looseness} nebo {\tt \string\parshape})~-- fungovalo na více odstavců najednou. Pokusíme se proto vytvořit makro, které se co nejvíce přiblíží chování primitiva {\tt \string\par}, ale přitom nedá \TeX u pokyn k~zalomení: Občas bychom potřebovali, aby makro pro úpravu zlomu odstavce (např.~-- {\tt \string\looseness} nebo {\tt \string\parshape})~-- fungovalo na více odstavců najednou. Pokusíme se proto vytvořit makro, které se co nejvíce přiblíží chování primitiva {\tt \string\par}, ale přitom nedá \TeX u pokyn k~zalomení: \vlevofalse \vlozobrazek{17mm}{\epsfxsize=2cm\epsfbox{tuxsit.eps}} Občas bychom potřebovali, aby makro pro úpravu zlomu odstavce (např.~-- {\tt \string\looseness} nebo {\tt \string\parshape})~-- fungovalo na více odstavců najednou. Pokusíme se proto vytvořit makro, které se co nejvíce přiblíží chování primitiva {\tt \string\par}, ale přitom nedá \TeX u pokyn k~zalomení: \PAR Občas bychom potřebovali, aby makro pro úpravu zlomu odstavce (např.~-- {\tt \string\looseness} nebo {\tt \string\parshape})~-- fungovalo na více odstavců najednou. Pokusíme se proto vytvořit makro, které se co nejvíce přiblíží chování primitiva {\tt \string\par}, ale přitom nedá \TeX u pokyn k~zalomení: Občas bychom potřebovali, aby makro pro úpravu zlomu odstavce (např.~-- {\tt \string\looseness} nebo {\tt \string\parshape})~-- fungovalo na více odstavců najednou. Pokusíme se proto vytvořit makro, které se co nejvíce přiblíží chování primitiva {\tt \string\par}, ale přitom nedá \TeX u pokyn k~zalomení: Občas bychom potřebovali, aby makro pro úpravu zlomu odstavce (např.~-- {\tt \string\looseness} nebo {\tt \string\parshape})~-- fungovalo na více odstavců najednou. Pokusíme se proto vytvořit makro, které se co nejvíce přiblíží chování primitiva {\tt \string\par}, ale přitom nedá \TeX u pokyn k~zalomení: Občas bychom potřebovali, aby makro pro úpravu zlomu odstavce (např.~-- {\tt \string\looseness} nebo {\tt \string\parshape})~-- fungovalo na více odstavců najednou. Pokusíme se proto vytvořit makro, které se co nejvíce přiblíží chování primitiva {\tt \string\par}, ale přitom nedá \TeX u pokyn k~zalomení: Občas bychom potřebovali, aby makro pro úpravu zlomu odstavce (např.~-- {\tt \string\looseness} nebo {\tt \string\parshape})~-- fungovalo na více odstavců najednou. Pokusíme se proto vytvořit makro, které se co nejvíce přiblíží chování primitiva {\tt \string\par}, ale přitom nedá \TeX u pokyn k~zalomení: \topinsert \epsfxsize=.5\hsize \centerline{\epsfbox{tuxsit.eps}} {\it Tux jako plovoucí objekt také funguje.} \vfil \endinsert Občas bychom potřebovali, aby makro pro úpravu zlomu odstavce (např.~-- {\tt \string\looseness} nebo {\tt \string\parshape})~-- fungovalo na více odstavců najednou. Pokusíme se proto vytvořit makro, které se co nejvíce přiblíží chování primitiva {\tt \string\par}, ale přitom nedá \TeX u pokyn k~zalomení: Občas bychom potřebovali, aby makro pro úpravu zlomu odstavce (např.~-- {\tt \string\looseness} nebo {\tt \string\parshape})~-- fungovalo na více odstavců najednou. Pokusíme se proto vytvořit makro, které se co nejvíce přiblíží chování primitiva {\tt \string\par}, ale přitom nedá \TeX u pokyn k~zalomení: Občas bychom potřebovali, aby makro pro úpravu zlomu odstavce (např.~-- {\tt \string\looseness} nebo {\tt \string\parshape})~-- fungovalo na více odstavců najednou. Pokusíme se proto vytvořit makro, které se co nejvíce přiblíží chování primitiva {\tt \string\par}, ale přitom nedá \TeX u pokyn k~zalomení: Občas bychom potřebovali, aby makro pro úpravu zlomu odstavce (např.~-- {\tt \string\looseness} nebo {\tt \string\parshape})~-- fungovalo na více odstavců najednou. Pokusíme se proto vytvořit makro, které se co nejvíce přiblíží chování primitiva {\tt \string\par}, ale přitom nedá \TeX u pokyn k~zalomení: Občas bychom potřebovali, aby makro pro úpravu zlomu odstavce (např.~-- {\tt \string\looseness} nebo {\tt \string\parshape})~-- fungovalo na více odstavců najednou. Pokusíme se proto vytvořit makro, které se co nejvíce přiblíží chování primitiva {\tt \string\par}, ale přitom nedá \TeX u pokyn k~zalomení: Občas bychom potřebovali, aby makro pro úpravu zlomu odstavce (např.~-- {\tt \string\looseness} nebo {\tt \string\parshape})~-- fungovalo na více odstavců najednou. Pokusíme se proto vytvořit makro, které se co nejvíce přiblíží chování primitiva {\tt \string\par}, ale přitom nedá \TeX u pokyn k~zalomení: \bye