我使用 tex 是因为它似乎是最适合我的工作流程的工具……
我正在制作海报来教授计算机编程,这些海报需要充满语法高亮的代码。我有一个源代码文件目录,需要能够在这些文件上运行脚本,将它们转换为可以在页面布局程序 Scribus 中使用的格式。
PDFLATEX 似乎是适合做这件事的工具,但是我之前没有使用过 Latex,只是摆弄了几个小时而已。
我的 example.tex 如下所示:
\documentclass{article}
\usepackage{minted}
\thispagestyle{empty}
\usemintedstyle{monokai}
\begin{document}
\begin{LARGE}
\inputminted{php}{example.php}
\end{LARGE}
\end{document}
我只需使用 即可生成 PDF pdflatex --shell-escape example.tex
。这真的很棒,因为我有一个装满文件的文件夹,可以运行脚本来创建所有文件的 PDF,PDF 嵌入在 Scribus 中,当我更改代码时,我只需运行脚本即可更新所有 PDF,这些 PDF 会在 Scribus 中自动更新。耶!...只是我不知道 Latex...
问题: 似乎应用了一些默认文档大小。垂直方向太大,水平方向太小,因此代码/内容被截断了。
理想情况下,pdf 文档会根据代码内容自动调整大小,且不留任何空白边距。目前我不需要自动换行,但我想我以后会需要。
问题!...
这个尺寸/边距/文档大小有什么问题东西? 我该如何消除这个巨大的空白边距并显示代码的全部内容?
我试过了:
- 更改
documentclass{}
为minimal
(这需要删除LARGE
并且不能解决任何一个问题)和standalone
(这只会中断并说“可能缺少 \item”。 - 做一些类似于几何的事情
\usepackage[paperwidth=\maxdimen,paperheight=\maxdimen]{geometry}
,但是会在整个代码周围渲染出大量的空白(所以所有的代码都是可见的,也许我可以pdfcrop
在其上运行,但我不需要这样做,对吧?)
答案1
页面的默认大小通常是 letter 或 A4。您可以使用几何图形来缩小页面大小,但不能这样做,\maxdimen
因为这是 TeX 可以处理的最大长度。
使用独立版时,您可以使用该varwidth
选项。但您必须手动设置线宽:
\documentclass[varwidth=4cm,border=2mm]{standalone}
\usepackage{minted}
\thispagestyle{empty}
\usemintedstyle{monokai}
\begin{document}
\inputminted[breaklines]{php}{example.php}
\end{document}