是否可以创建一个pdflatex
文档
- 包含多个带有表格的页面(每页一个表格)
- 并且 pdf 文件所有页面的页面宽度都被裁剪为最大内容的宽度(高度相同)?
我希望我说得足够清楚:例如,第 1 页的表格宽度为 20 厘米,高度为 25 厘米。所有其他页面的表格宽度均为 19 厘米,但第 10 页的表格高度为 26 厘米。因此,我希望整个文档的页面格式为:宽度为 20 厘米,高度为 26 厘米,并且所有表格都应对齐到此页面尺寸的左上角)
答案1
准备一个文件,例如
\documentclass[a4paper]{article}
\usepackage[pass]{geometry}
\pagestyle{empty}
\newsavebox{\tablebox}
\newlength{\maxwidth}
\newlength{\maxheight}
\newenvironment{ftabular}
{\begin{lrbox}{\tablebox}\begin{tabular}}
{\end{tabular}\end{lrbox}%
\ifdim\dimexpr\ht\tablebox+\dp\tablebox\relax>\maxheight
\global\maxheight=\dimexpr\ht\tablebox+\dp\tablebox\relax
\fi
\ifdim\wd\tablebox>\maxwidth
\global\maxwidth=\wd\tablebox
\fi}
\begin{document}
\input{tables}
\renewenvironment{ftabular}
{\noindent\begin{tabular}}
{\end{tabular}\newpage}
\pdfpageheight=\maxheight
\pdfpagewidth=\maxwidth
\newgeometry{margin=0pt}
\input{tables}
\end{document}
该文件tables.tex
将包含您的表格
\begin{ftabular}{lll}
abc & def & ghi
\end{ftabular}
\begin{ftabular}{llp{2cm}}
pippo & pluto & paperino va al mare e fa il bagno dieci volte
\end{ftabular}
这个想法是编译文件两次;第一次我们收集尺寸,第二次我们打印表格。如果您还需要标题,则需要做更多工作。