![如何让页面没有白边?](https://linux22.com/image/441787/%E5%A6%82%E4%BD%95%E8%AE%A9%E9%A1%B5%E9%9D%A2%E6%B2%A1%E6%9C%89%E7%99%BD%E8%BE%B9%EF%BC%9F.png)
它想要在最短的运行时间内,在一页长页面上输出 Latex 文档的 PDF(或 PNG)格式,并且没有白色边框。
和软件包以某种方式内置了此功能,我想使用它们的方法。但是,这两个软件包都是为实现其他目标而编写的,并且对段落、浮动、脚注、条目、宏等产生了不良副作用,从而破坏了我在其他地方的文档preview
。standalone
我需要什么提示?
我想在本次运行结束时提取在一次 Latex 运行中设置 pdf 页面高度的功能 - 就像在standalone
或中一样preview
,但我无法从这些包中提取核心功能:我只是不太擅长阅读它们的宏。在这里,我希望得到一些提示。
我还尝试过什么但失败了?
我使用
zref-absolute
或\pdfsaveposition
将文档长度写入文件,在下一次运行 pdflatex 时再次读取文件,然后根据需要设置纸张大小。运行正常,但需要两次调用 pdflatex,这会使运行时间加倍,这在我的用例中是不必要的。我
pdf-crop
在结果中使用了 pdf-crop 使用 ghostscript 来拾取边界框(这需要非常它会删除嵌入到文件中的 PDF 注释,这两项功能对于我的用例来说都是一大障碍。我需要注释,而 ghostscript 的时间安排使运行时间加倍。我使用
pdf.js
和node
进行 PDF->PNG 渲染,检测 PNG 中的边界框,裁剪到此框(并处理注释)。有效,但非常慢的。我使用了
mutool run
它的 Javascript 接口。我可以根据需要处理注释,检测边界框,将 PDF 渲染为 PNG,所有这些都非常快,但我无法正确实现裁剪:PNG 总是太大,而且看起来 mupdf - Javascript 绑定要么有一些变换矩阵的实现中存在错误,并且没有绑定到合适的裁剪方法。
因此我查看了preview
代码standalone
并尝试提取这些可能很短的功能......但没有成功。
答案1
你可能想稍微调整顶部和底部,但基本上
\documentclass{article}
\begin{document}
\setbox0\vbox{{
\section{test}
some text some text some text some text some text some text some text some text
some text some text some text some text some text some text some text some text
some text some text some text some text some text some text some text some text
some text some text some text some text some text some text some text some text
some text some text some text some text some text some text some text some text
some text some text some text some text some text some text some text some text
some text some text some text some text some text some text some text some text
some text some text some text some text some text some text some text some text
\section{ another section}
some text some text some text some text some text some text some text some text
some text some text some text some text some text some text some text some text
some text some text some text some text some text some text some text some text
some text some text some text some text some text some text some text some text
}}
\pdfpageheight=\ht0
\pdfpagewidth=\wd0
\hoffset-1in
\voffset-1in
\shipout\box0
\end{document}
答案2
这不是你想要的,但我看不出独立版有什么问题。所有浮点数都实现为 [h],但你还能把它们放在哪里呢?它们 \parindent
会\parskip
被 minipage 重置,脚注也是如此。
\documentclass[class=report]{standalone}
\usepackage{amsmath}
\usepackage{lipsum}% MWE only
\begin{document}
\begin{minipage}{5in}
\parindent=1.5em
\parskip=0pt
\chapter{Yadda Yadda}
\lipsum[1-2]
\begin{figure}
\caption{A figure}
\end{figure}
\begin{itemize}
\item Firat
\item Second
\end{itemize}
\begin{table}
\caption{A Table}
\end{table}
Test\footnote{This is a test}
\begin{equation}
x=a
\end{equation}
\end{minipage}
\end{document}