Projekt: Hesla Jednoty bratrské/2024/hesla24.tex

Projekt: Hesla Jednoty bratrské/2024/hesla24.tex

editovat

Příklad zdrojového souboru pro PlainTeX

Příklad použití:

pdfcsplain hesla24.tex
%% Hesla Jednoty bratrské 2024                     %%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%                                
%% formát: csplain, kódování: UTF8                 %%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% /dvojversi

%% věci okolo pdf
\ifx\pdfoutput\undefined
\else
  \pdfpagewidth=105mm \pdfpageheight=148.5mm
   \pdfinfo{
     /Author (Petr Heřman)
     /Title (Hesla Jednoty bratrské 2024)
     /Subject ()
     /Keywords ()
     /Creator(TeX)
   }
  \pdfcompresslevel=9
\fi

% fonty
\input ofs [sjannon] \loadingenc=1  % Olšákův fontový systém, ke stáhnutí na:
% \input ofs [sjbasker]             % ftp://math.feld.cvut.cz/pub/olsak/ofs/
\setfonts [JannonTextModerne/10pt]  % základní font
% \setfonts [JBaskervilleText/10pt]
% \setfonts [ComputerModern/10pt]

\fontdef\mesf [-bf/14pt]           % font pro měsíce
\fontdef\dencf [-bf/]              % font pro čísla dnů
\fontdef\denf [-bf/]               % font pro dny

\fontdef\pisenf [-it/8.5pt]          % font pro písně
\fontdef\cislopisnef [-rm/8.5pt]     % font pro číslo písně
\fontdef\svatf [-bf/]              % font pro svátky
\fontdef\vyznamf [-it/]            % font pro významné dny
\fontdef\zdrojf [-it/]             % font pro zdroj 
\fontdef\vysf [-rm/]               % font pro vysvětlivky
\fontdef\vyrocif [-it/8pt]         % font pro výročí
\fontdef\reklf [-it/]              % font pro ``řekl...''
\fontdef\nadf [-bf/14pt]           % font pro nadpisy
\fontdef\adrif [-it/]              % font pro italiku v adresáři
\fontdef\tirf [/8.5pt]               % font pro tiraz
\fontdef\smallf [/8.5pt]             % font pro drobné písmo
\fontdef\citatf [-it/8.5pt]          % font pro citáty
\fontdef\autorf [-it/8.5pt]          % font pro autory citátů
%\fontdef\monof [-tt/8.5pt]           % monospaced font pro URL
%\fontdef\monof [CMTypewriter/10pt]    % monospaced font pro URL
\fontdef\monof [-rm/]       % monospaced font pro URL – nechám normální
\fontdef\muf [-it/9pt]          % font pro misijné území


%% přeškrtnutí - obšlohnuto z:
%% https://github.com/kstep/vimwiki-vim-plugin/blob/master/misc/Vimwiki1.1.1QR.tex
%% akorát problém, že to přeškrtne jen jedno písmeno a ne celý blok
\def\strikethrough#1{{%
\setbox0=\hbox{#1}%
\dimen0 0.5ex\dimen1\dimen0\advance\dimen1 by0.4pt%
\rlap{\leaders\hrule height \dimen1 depth -\dimen0\hskip\wd0}%
\box0
}}


%% dělení slov
\chyph
\righthyphenmin=2
%\overfullrule=0pt

\hyphenation{roz-hně-val truch-lí-cí aby-chom do-oprav-dy Čes-ko-bra-trs-ké}

%% uvozovky můžeme zapisovat "takto"
\catcode`\"=13
\def"{\begingroup\clqq \def"{\crqq\endgroup}}
\catcode`\'=13
\def'{\begingroup\clq \def'{\crq\endgroup}}

%% všeliké velikosti všeličehos
\baselineskip=11.5pt % vzdálenost účaří
\parindent=0pt     % odstavcová zarážka
\parskip=0pt       % vertikální mezera mezi odstavci
\topskip=10pt      % první účaří

%% velikosti mezer
\spaceskip=.33333em plus .16667em minus .13333em
\let\,=\thinspace % zúžená mezera
\emergencystretch=2em
\bigskipamount=11.5pt plus6pt minus6pt
\medskipamount=.5\baselineskip
\let\n=\enspace

% vynechá daný počet řádků i na začátku strany
\def\skiplines #1{\par\hbox{}\nobreak\vskip-\baselineskip 
     \vskip #1\baselineskip}
% pokusí se zkrátit odstavec o řádku
\def\stahni #1*{{\spaceskip=.2em plus .1em minus .1em \looseness=-1 #1}\heslonum=1}

%% penalty
\clubpenalty =10000
\widowpenalty=10000
\hbadness=2000
\vbadness=2000

%% největší rozměry písma
\newbox\pismobox
\setbox\pismobox=\hbox{ÁÉÍČĚŘjyg}
\def\podpera{\vrule height\ht\pismobox depth\dp\pismobox width0pt}

%% záhlaví
\headline={{\rm \parindent=0pt \par \podpera
  \ifodd\pageno \the\pageno\hfill \firstmark
  \else \firstmark \hfill \the\pageno
  \fi}
}
\newdimen\zahskip \zahskip=1pt % mezera mezi záhlavím a čárou pod ním
\newdimen\linkaw  \linkaw=.4pt % tloušťka linky v záhlaví

%% zrcadlo stránky
\vsize=28\baselineskip    % výška sazby
\advance\vsize by\topskip
\hsize=80mm               % šířka sazby
\voffset=-1in
\advance\voffset by 10mm  % horní okraj
\newdimen\oddpagehoffset  \oddpagehoffset=-1in
\newdimen\evenpagehoffset \evenpagehoffset=-1in
\advance\oddpagehoffset  by 15mm % vnitřní okraj
\advance\evenpagehoffset by 10mm % vnější okraj
% vysuneme záhlaví pryč ze zrcadla
\advance\voffset by-\ht\pismobox
\advance\voffset by-\dp\pismobox
\advance\voffset by-\zahskip

%% makra pro sazbu jednotlivých částí hesel
\def\mesic #1§{\heslonum=0 \cteninum=0
  \vfill\eject
  \skiplines1
  {\lineskiplimit=-\maxdimen
  \centerline{\mesf #1}
  \par}\nobreak\vskip12pt plus3pt minus3pt
  \mark{#1}
}

\newcount\heslonum \newcount\cteninum % počet hesel a čtení 

%\def\den #1. #2§{\heslonum=0 \cteninum=0 \vskip12pt plus3pt minus6pt{\dencf #1.\kern.25em\denf \lowercase{#2}}\enspace}
\def\den #1. #2§{\heslonum=0 \cteninum=0 \vskip10pt plus3pt minus6pt{\dencf #1.\kern.25em\denf \lowercase{#2}}\enspace}

\def\densvatek #1. #2§{\heslonum=0 \cteninum=0 {\dencf #1.\kern.25em\denf \lowercase{#2}}\enspace} %% jako \den, jen bez mezery

%\def\heslo #1§{\cteninum=0 \ifnum\heslonum=0 {\rm #1}\else\vskip6pt plus6pt minus3pt {\rm #1}\fi \advance\heslonum by1}
%\def\heslo #1§{\cteninum=0 \ifnum\heslonum=0 {\rm #1}\else\vskip4pt plus4pt minus2pt {\rm #1}\fi \advance\heslonum by1}
\def\heslo #1§{\cteninum=0 \ifnum\heslonum=0 {\rm #1}\else\vskip4pt plus2pt minus2pt {\rm #1}\fi \advance\heslonum by1}

\def\zdroj #1§{\unskip
  \nobreak\hfill\penalty71\hskip.5em\hbox{}\nobreak\hfill
  \hbox{\zdrojf #1\/}\par
        }
\def\Zdroj #1§{\par\nobreak\rightline{\zdrojf #1}} % náhradní makro pro \zdroj

%\def\citat #1§{\removelastskip\vskip6pt plus3pt minus3pt
%  {\leftskip=1.5em\citatf #1}
%}

\def\citat #1§{\removelastskip\vskip6pt plus3pt minus3pt
  {\citatf #1}
}

\def\trojversia #1§#2§#3§{\removelastskip\vskip6pt plus3pt minus3pt
  {\citatf #1 \break #2 \break #3}
}

\def\autor #1§{\unskip
  \nobreak\hfill\penalty71\hskip.5em\hbox{}\nobreak\hfill
  \hbox{\autorf #1\/}\par
        }

\def\\{\hfil\break}

{\catcode`\^^M=\active   % these lines must end with %
  \gdef\zalom{\catcode`\^^M=\active \let^^M=\\}%
  \global\let^^M=\\} % this is in case ^^M in a \write

\def\odsad #1{\leavevmode\hbox to 2.5em{#1\hfill}}
\def\oodsad #1{\leavevmode\hbox to 4em{#1\hfill}}

%\def\trojversi #1§#2§#3§{\removelastskip\vskip6pt plus3pt minus3pt
%   \bgroup \parindent=1.5em \obeylines \citatf #1\\ \odsad{} #2\\ \oodsad{} #3
%}\

%\def\sbirka #1§{\egroup \vskip-\baselineskip \hfill {\autorf #1} \nobreak\vskip6pt plus3pt minus3pt}
%\def\sbirka #1§{\egroup \vskip-\baselineskip \hfill {} \nobreak\vskip6pt plus3pt minus3pt} % neuvádíme

\def\trojversi #1§#2§#3§{\removelastskip\vskip6pt plus3pt minus3pt
%    {\leftskip=1.5em\citatf
%    {\parindent=1.5em\citatf
%    #1\par\parindent=3em
%    #2\par\parindent=4.5em
%    #3\par}
    {\parindent=4.5em\citatf
    #1\par\parindent=6em
    #2\par\parindent=7.5em
    #3\par}
}

%\def\dvojversi #1§#2§{\removelastskip\vskip6pt plus3pt minus3pt
%    {\leftskip=1.5em\citatf
%    {\parindent=1.5em\citatf
%    #1\par\parindent=3em
%    #2\par}
%    {\baselineskip=9.5pt\parindent=1.5em\citatf
\def\dvojversi #1§#2§{\removelastskip\vskip4pt plus2pt minus2pt
    {\baselineskip=9pt\parindent=1.5em\citatf
    #1\par
    #2\par}
}

\def\sbirka #1§{}

%\def\pisen{\removelastskip\vskip6pt plus3pt minus3pt
%   \bgroup \baselineskip=9.5pt \parindent=1.5em \obeylines \pisenf
\def\pisen{\removelastskip\vskip3pt plus3pt minus3pt
   \bgroup \baselineskip=9pt \parindent=1.5em \obeylines \pisenf
}\

\def\pisennrls{\vskip3pt plus3pt minus3pt
   \bgroup \baselineskip=9pt \parindent=1.5em \obeylines \pisenf
}\

\def\pisenns{
   \bgroup \parindent=1.5em \obeylines \pisenf
}\

\def\poem{\removelastskip\vskip3pt
   \bgroup \parindent=1.1em \obeylines
}\

\def\textoverline#1{$\overline{\hbox{#1}}$}

{\catcode`\^^M=\active   % these lines must end with %
  \gdef\zalom{\catcode`\^^M=\active \let^^M=\\}%
  \global\let^^M=\\} % this is in case ^^M in a \write

\def\pisn{\removelastskip\vskip6pt plus3pt minus3pt
   \bgroup \obeylines \pisenf
}\

{\catcode`\^^M=\active   % these lines must end with %
  \gdef\zalom{\catcode`\^^M=\active \let^^M=\\}%
  \global\let^^M=\\} % this is in case ^^M in a \write

\def\pisnn{\removelastskip\vskip0pt plus3pt minus3pt
   \bgroup \parindent=1.5em \obeylines \pisenf
}\

%\def\cislopisne #1§{\egroup \vskip-\baselineskip \hfill {\cislopisnef #1}\nobreak\vskip6pt plus3pt minus3pt}
\def\cislopisne #1§{\egroup \vskip-\baselineskip \hfill {\cislopisnef #1}\nobreak\vskip2pt plus2pt minus4pt}

\def\cislopisn #1§{\egroup \hfill #1\nobreak\vskip6pt plus3pt minus3pt}   % pod veršem

% \def\autorr #1§{\egroup \vskip-6pt \hfill \autorf #1\nobreak\vskip6pt plus3pt minus3pt}   % pod veršem

\def\siles{\removelastskip\vskip6pt plus3pt minus3pt
   \bgroup \parindent=1.5em \obeylines \pisenf
}\
\def\cislosiles #1§{\egroup \vskip-\baselineskip \hfill #1\nobreak\vskip6pt plus3pt minus3pt}

%\def\cteni #1§{\nobreak \ifnum\cteninum=0 \vskip6pt plus6pt minus3pt #1\else\hfill #1\fi \advance\cteninum by1}
\def\cteni #1§{\nobreak \ifnum\cteninum=0 \vskip4pt plus2pt minus2pt #1\else\hfill #1\fi \advance\cteninum by1}
\def\ctenii #1§{\nobreak \hfill #1}

\def\svatek #1§{\heslonum=0 \cteninum=0 \vskip12pt plus6pt minus6pt \centerline{\svatf #1}\par\nobreak}

\def\svatekvysvetleni #1§#2§{\heslonum=0 \cteninum=0 \vskip12pt plus6pt minus6pt \centerline{{\svatf #1} (#2)}\par\nobreak}

\def\vysvetleni #1§{\heslonum=0 \cteninum=0
  {\leftskip=0pt plus1fill \rightskip=0pt plus1fill 
  \vysf (#1) \nobreak\vskip6pt plus6pt minus0pt}}
  
\def\vysvetlenizdroj #1§#2§{\heslonum=0 \cteninum=0
  {\leftskip=0pt plus1fill \rightskip=0pt plus1fill 
  \vysf (#1 {\it #2}) \nobreak\vskip6pt plus6pt minus0pt}}

%\def\vyznamny #1§{\heslonum=0 \cteninum=0 \vskip12pt plus6pt minus6pt \centerline{\vyznamf #1}\par\nobreak\vskip-6pt}
\def\vyznamny #1§{\heslonum=0 \cteninum=0 \vskip12pt plus6pt minus6pt \centerline{\vyznamf #1}\par\nobreak\vskip-5pt}

\def\<#1>{{\it#1\/}}

%\def\vyroci #1§{\nobreak\medskip {\vyrocif #1}}
%\def\vyroci #1§{\baselineskip=20pt \nobreak\medskip {\vyrocif #1}}
%\def\vyroci #1§{\nobreak\vskip2pt {\baselineskip=9.5pt \leftskip=1.8em \parindent=-1.8em\vyrocif #1\par}}
\def\vyroci #1§{\nobreak\vskip4pt {\baselineskip=9pt \leftskip=1.8em \parindent=-1.8em\vyrocif #1\par}}
\def\vyrocins #1§{\nobreak \vskip-2pt {\vyrocif #1}}

\def\quest #1§{{\bf ?? #1}}


\def\nadpis #1\par{
  \vfill\eject
 {%\lineskiplimit=-\maxdimen
  \baselineskip=16pt
  \rightskip=0pt plus1fill
  \noindent{\nadf #1}
  \par}\nobreak\vskip6pt plus3pt minus3pt
  \mark{\hfil}
}

\def\nadpisuvnitr #1\par{
  \skiplines1
 {%\lineskiplimit=-\maxdimen
%  \baselineskip=16pt
  \rightskip=0pt plus1fill
  \noindent{\nadf #1}
  \par}\nobreak\vskip-6pt plus3pt minus3pt
  \mark{\hfil}
}

%% perikopy
\newbox\datumbox
\setbox\datumbox=\hbox{26.\,12.\,} % box s nejdelsim datem
\def\periden #1§#2§#3§{\hbox to0pt{#1\hss}\enspace\hskip\wd\datumbox #2\ \xleaders\hbox{.\,}\hfil #3\break}
\def\peridenposl #1§#2§#3§{\hbox to0pt{#1\hss}\enspace\hskip\wd\datumbox #2\ \xleaders\hbox{.\,}\hfill #3}

\def\nebo{{\setfonts [-it/8pt]nebo}}

\def\vakat{\vfil\eject{\linkaw=0dd\headline={\hfil}\null\vfil\eject}}

%% zrcadlové okraje
\let\Shipout=\shipout
\def\shipout{\ifodd\pageno
  \hoffset=\oddpagehoffset
\else
  \hoffset=\evenpagehoffset
\fi\Shipout}

%% výstupní rutina
\def\heslaoutput{\shipout\vbox{%
  \the\headline
  \vskip\zahskip
  \hrule height\linkaw
  \vskip\baselineskip
  \vbox to\vsize{\unvbox255}
  \global\advance\pageno by1}
}
\output={\heslaoutput}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%% zde začíná vlastní text %%%%%%%%%%%%%%%%%%%%%%%%%%%

%\tracingpages=1
%\tracingonline=1


\input hes24_01-titul
\input hes24_02-copy
\input hes24_03-uvod
\input hes24_04-vyroci
\input hes24_05-preklady
\input hes24_06-vysvetleni
\input hes24_07-modlitby
\input hes24_08-straz
\input hes24_09-jazyky

\input hes2401
\input hes2402
\input hes2403
\input hes2404
\input hes2405
\input hes2406
\input hes2407
\input hes2408
\input hes2409
\input hes2410    
\input hes2411
\input hes2412

\input hes24per
\input hes24_11-unitas
\input hes24_12-adresy
%\input hes24_13-poznamky
%\input hes24kalendarium
\input hes24_15-tiraz
\bye