在得到建议后使用layouts
包为了对长度进行可视化调试,我想出了以下示例,并用它来进行编译xelatex test.tex
:
\documentclass[12pt,a4paper]{article}
\usepackage[pass]{geometry}
\usepackage{tikz,enumitem}
\usepackage{fix-cm}
\usepackage{fontspec}
\defaultfontfeatures{Ligatures=TeX}
\setmainfont{Junicode}
\usepackage{layouts}
\begin{document}
\pdfpagewidth=148mm \pdfpageheight=210mm % for PDF output
\paperwidth=148mm \paperheight=210mm % for TikZ
\begin{tikzpicture}[overlay,remember picture,inner sep=0pt,yscale=-1,outer sep=0pt,anchor=north west]
\begin{scope}[shift={(-\oddsidemargin,-\topmargin-\headheight-\headsep-\marginparsep)}]% layer1
% \path[anchor=north west] (0,0) node[below right] (dbg) {% this goes to (0,0) but after margin
\path[anchor=north west] (current page.north west) node[below right] (dbg) {%
\begin{minipage}{\paperwidth}%
\setlayoutscale{1.0} %
\drawdimensionstrue %
\pagedesign %
\end{minipage}
}%path
;
\end{scope}
\end{tikzpicture}
\end{document}
这就是我得到的输出(图像的上/左/右边缘与 pdf 页面的相应边缘相关):
值得注意的是,所有读取的长度都报告为零;否则我希望可以强制将layouts
页面图缩放为 1,并使用 tikz 节点覆盖在当前页面上 - 但这显然失败了。
我是否可以layouts
按照预期将页面图表叠加到页面上?如果可以,如何实现?
非常感谢您的任何回答,
干杯!
答案1
我猜这是 的一个错误layouts
。该软件包的当前维护者是 Will Robertson。我认为你应该发送一个错误报告。
目前,使用以下补丁etoolbox
似乎有效:
\documentclass[12pt,a4paper]{article}
\usepackage[pass]{geometry}
\usepackage{layouts}
\usepackage{etoolbox}
\patchcmd{\drawpage}{\ifdrawparameters}{\iftrue}%
{\typeout{^^J*******\string\drawpage fixed*******^^J}}%
{\typeout{^^J*******\string\drawpage not fixed*******^^J}}
\begin{document}
\pagedesign
\end{document}
当然你必须自己设置 tikz 环境 ;-)