使用 pdflatex 和 minted 包,如何消除空白并包含整个文档?

使用 pdflatex 和 minted 包,如何消除空白并包含整个文档?

我使用 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}

在此处输入图片描述

相关内容