Compare commits

...

4 Commits

  1. 88
      src/formatitko/tex/formatitko.tex
  2. 64
      src/formatitko/tex/formatitkolib.tex
  3. 7
      src/formatitko/tex_generator.py

88
src/formatitko/tex/formatitko.tex

@ -22,6 +22,8 @@
\pdfglyphtounicode{radicalbig}{221A}
\pdfglyphtounicode{radicalBig}{221A}
\input formatitkolib.tex
\input minim-xmp.tex
\startmetadata
@ -38,8 +40,6 @@
\pdfgentounicode=1
%Create an OutputIntent in order to correctly specify colours
\immediate\pdfobj stream attr{/N 3} file{sRGB.icc}
\pdfcatalog{%
@ -61,52 +61,6 @@
\parskip=5pt plus 3pt minus 2pt
\parindent=0sp
\def\strong#1{{%
\def\emph##1{{\bi{}##1}}%
\bf{}#1%
}}
\def\emph#1{{%
\def\strong##1{{\bi{}##1}}%
\it{}#1%
}}
\def\superscript#1{$^{\hbox{#1}}$}
\def\subscript#1{$_{\hbox{#1}}$}
\newcount\fncount
\fncount=1
\def\fnmark{\superscript{\the\fncount}}
\def\fn#1{\footnote\fnmark{#1}\advance\fncount by 1}
\def\section#1#2{
\vfil\supereject\vbox{\settextsize{20}\bf #1\kern 1em\relax#2
\addtoc\tocsection{#1}{}{#2}
}\nobreak\vskip 12pt
}
\def\subsection#1#2{
\vskip 12pt\vbox{\settextsize{18}\bf #1\kern 1em\relax#2
\addtoc\tocsubsection{#1}{}{#2}
}\nobreak\vskip 7pt
}
\def\subsubsection#1#2{
\vskip 10pt\vbox{\settextsize{16}\bf #1\kern 1em\relax#2
\addtoc\tocsubsubsection{#1}{}{#2}
}\nobreak\vskip 6pt
}
\def\subsubsubsection#1#2{
\vskip 8pt\vbox{\settextsize{14}\bf #1\kern 1em\relax#2}\nobreak\vskip 5pt
}
\def\subsubsubsubsection#1#2{
\vskip 7pt\vbox{\settextsize{12}\bf #1\kern 1em\relax#2}\nobreak\vskip 5pt
}
\def\subsubsubsubsubsection#1#2{
\vskip 7pt\vbox{\settextsize{12}\bf #1\kern 1em\relax#2}\nobreak\vskip 5pt
}
\long\def\blockquote#1{\vskip\lineskip\vskip\parskip\hbox{\vrule\hskip5pt\vbox{#1}}}
\def\strikeout#1{FIXME: Strikeout not implemented}
\def\underline#1{FIXME: Underline not implemented}
\def\mathbb#1{\hbox{\bb #1}}
@ -119,7 +73,7 @@
}
% doporučen je horní, dolní a pravý okraj 25 mm, levý okraj 40 mm.
% Protože doba tisknutí prací je už pryč, my máme tejně velkou stránku uprostřed papíru
% Protože doba tisknutí prací je už pryč, my máme stejně velkou stránku uprostřed papíru
\voffset 25mm
\hoffset 32.5mm
@ -143,21 +97,13 @@
%\def\h{\it} % hint
%\def\bh{\bi} % bold hint
\def\N{{\bb N}}
\def\R{{\bb R}}
\def\E{{\bb E}}
\def\O{{\cal O}}
\def\SYM{{\rm SYM}}
\def\frac#1#2{{{#1} \over {#2}}}
\def\mod{\mathrel{\rm mod}}
\settextsize{12}
\def\unparskip{\vskip-\parskip}
\def\floatinsert#1{\par{
\long\def\floatinsert#1{\par{
\setbox0=\vbox{\boxmaxdepth=2pt\relax #1}
\dimen0=\dimexpr \ht0 + \dp0 + \baselineskip + \pagetotal - \pageshrink \relax
\ifdim\dimen0 > \pagegoal
@ -178,13 +124,21 @@
}}
% Obecny plovouci objekt: \float{objekt}{popisek}{mezera pred}{mezera po}
\def\figure#1#2#3#4{
\long\def\figure#1#2#3#4{
\medskip#3
\centerline{#1}#4
\hbox to \hsize{\hfil\vtop{
\parindent=0pt
\leftskip=0pt plus 0.2\hsize
\rightskip=0pt plus 0.2\hsize
\parfillskip=0pt plus 0.2\hsize
\spaceskip=0.3333em
\settextsize{10}
#1
}\hfil}#4
\medskip
\smallskip
{
\setbox0=\hbox{#2}
\setbox0=\hbox{\settextsize{10}#2}
\ifdim\wd0 < 0.8\hsize
\centerline{\box0}
\else
@ -195,12 +149,12 @@
\rightskip=0pt plus 0.3\hsize
\parfillskip=0pt
\spaceskip=0.3333em
#2
\settextsize{10}#2
}}
\fi
}}
\def\floatpage#1{
\long\def\floatpage#1{
\pageinsert
\vbox to \vsize{#1}
\endinsert
@ -224,9 +178,9 @@
\immediate\openout\tocfile=toc-new.aux
% Voláme: \addtoc\tocmacro{number}{asterisks}{title}
\long\def\addtoc#1#2#3#4{
\edef\brum{
\write\tocfile{\string#1{\noexpand\the\noexpand\count0}{#2}{#3}{#4}}
\long\def\addtoc#1#2#3#4{%
\edef\brum{%
\write\tocfile{\string#1{\noexpand\the\noexpand\count0}{#2}{#3}{#4}}%
}
\brum
\brum%
}

64
src/formatitko/tex/formatitkolib.tex

@ -0,0 +1,64 @@
\def\strong#1{{%
\def\emph##1{{\bi{}##1}}%
\bf{}#1%
}}
\def\emph#1{{%
\def\strong##1{{\bi{}##1}}%
\it{}#1%
}}
\def\N{{\bb N}}
\def\R{{\bb R}}
\def\E{{\bb E}}
\def\O{{\cal O}}
\def\SYM{{\rm SYM}}
\def\frac#1#2{{{#1} \over {#2}}}
\def\superscript#1{$^{\hbox{\settextsize{0.8\textsize}#1}}$}
\def\subscript#1{$_{\hbox{\settextsize{0.8\textsize}#1}}$}
\newcount\fncount
\fncount=1
\def\fnmark{$^{\the\fncount}$}
\def\fn#1{\footnote\fnmark{#1}\advance\fncount by 1}
\def\section#1#2{
\vfil\supereject
\vbox{\settextsize{20}\bf #1\kern 1em\relax#2%
\addtoc\tocsection{#1}{}{#2}%
}\nobreak\vskip 12pt
}
\def\subsection#1#2{
\vskip 12pt\vbox{\settextsize{18}\bf #1\kern 1em\relax#2%
\addtoc\tocsubsection{#1}{}{#2}%
}\nobreak\vskip 7pt
}
\def\subsubsection#1#2{
\vskip 10pt\vbox{\settextsize{16}\bf #1\kern 1em\relax#2%
\addtoc\tocsubsubsection{#1}{}{#2}%
}\nobreak\vskip 6pt
}
\def\subsubsubsection#1#2{
\vskip 8pt\vbox{\settextsize{14}\bf #1\kern 1em\relax#2}\nobreak\vskip 5pt
}
\def\subsubsubsubsection#1#2{
\vskip 7pt\vbox{\settextsize{12}\bf #1\kern 1em\relax#2}\nobreak\vskip 5pt
}
\def\subsubsubsubsubsection#1#2{
\vskip 7pt\vbox{\settextsize{12}\bf #1\kern 1em\relax#2}\nobreak\vskip 5pt
}
\long\def\blockquote#1{\vskip\lineskip\vskip\parskip\hbox{\vrule\hskip5pt\vbox{#1}}}
\def\strikeout#1{FIXME: Strikeout not implemented}
\def\underline#1{FIXME: Underline not implemented}
\def\mathbb#1{\hbox{\bb #1}}
\def\unparskip{\vskip-\parskip}
\catcode`@=11
\def\vecoverrightarrow#1{\vbox{\m@th\ialign{##\crcr
\vecrightarrowfill\crcr\noalign{\kern-\p@\kern 0.09em\nointerlineskip}
$\hfil\displaystyle{#1\,}\hfil$\crcr}}}
\def\vecrightarrowfill{$\settextsize{5}\m@th\smash-\mkern-7mu%
\cleaders\hbox{$\mkern-2mu\smash-\mkern-2mu$}\hfill
\settextsize{5}\mkern-7mu\mathord\rightarrow$}
\catcode`@=12

7
src/formatitko/tex_generator.py

@ -151,10 +151,7 @@ class UCWTexGenerator(OutputGenerator):
width = str(int(e.attributes["width"][:-1])/100) + "\\hsize"
width = "width " + width
if isinstance(e.parent.parent, Figure):
self.writeln(f'\\putimage{{{width}}}{{{url}}}')
else:
self.writepar(f'\\putimage{{{width}}}{{{url}}}')
self.writeln(f'\\centerline{{\\putimage{{{width}}}{{{url}}}}}')
def generate_Code(self, e: Code):
self.write(r"\verb`")
@ -230,7 +227,7 @@ class UCWTexGenerator(OutputGenerator):
self.write(r"}")
def generate_Caption(self, e: Caption):
self.generate_Slanted(e)
self.generate(e.content)
def generate_Math(self, e: Math):
if e.format == "DisplayMath":

Loading…
Cancel
Save