# paperdoorknob: Print glowfic # # This program is free software: you can redistribute it and/or modify it # under the terms of the GNU General Public License as published by the # Free Software Foundation, version 3. from args import spec_from_commandline_args from glowfic import Thread from spec import Spec def process(spec: Spec) -> None: spec.texout.write(br'''\documentclass{article} \usepackage{amssymb} \usepackage{booktabs} \usepackage{graphicx} \usepackage{longtable} \usepackage{soul} \usepackage{varwidth} \usepackage{wrapstuff} ''') if spec.geometry is not None: spec.texout.write(br'\usepackage[' + spec.geometry.encode('UTF-8') + b']{geometry}\n') spec.texout.write(br'''\begin{document} \newcommand{\href}[2]{#2\footnote{\detokenize{#1}}} \def\glowiconsize{%fmm} \newcommand{\glowicon}[1]{\includegraphics[ width=\glowiconsize,height=\glowiconsize,keepaspectratio ]{#1}} \newcommand{\ifnotempty}[2]{\expandafter\ifx\expandafter\relax \detokenize{#1}\relax\else #2\fi} %s ''' % (spec.icon_size, spec.layout)) Thread(spec).emit() spec.texout.write(b'\\end{document}\n') def main() -> None: with spec_from_commandline_args() as spec: process(spec) if __name__ == '__main__': main()