作为一本自制食谱书布局的一部分,我尝试在页面上的绝对位置布置一系列文本框。我使用eso-pic
背景图像在页面上放置一个开口,用于放置我想要布置的文本,例如配料和说明。
我目前使用 来eso-pic
AddToShipoutPictureFg
处理旋转小页面中的每个文本块。如果我理解正确的话, 的参数AddToShipoutPicture
只会在页面末尾展开。当我使用AddToShipoutPicture
宏中的计数器等变化定义时,这会产生问题。
下面是一个示例,展示了我使用的多个旋转文本框的方法。
\documentclass[twoside,openright,letterpaper,11pt]{memoir}
\usepackage{rotating}
\usepackage{eso-pic}
\newcounter{mycounter}
\setcounter{mycounter}{1}
\begin{document}
% First chunk of angled boxed text.
\AddToShipoutPictureFG*{
\setlength{\unitlength}{1in}
\put(2,6){% Or in my document \put(Xcoord,Ycoord)
\begin{rotate}{45}
\begin{minipage}[t]{1in}
This is some text. I expect
the counter to be 1, counter is \themycounter.
\end{minipage}
\end{rotate}
}
}
\stepcounter{mycounter}
% Or in my document:
% \renewcommand{\Xcoord}{calculated X position}
% \renewcommand{\Ycoord}{calculated Y position}
% Second chunk of angled boxed text.
\AddToShipoutPictureFG*{
\setlength{\unitlength}{1in}
\put(2,8){% Or in my document \put(Xcoord,Ycoord)
\begin{rotate}{-30}
\begin{minipage}[t]{1in}
This is some more text. I expect
the counter to be 2, counter is \themycounter.
\end{minipage}
\end{rotate}
}
}
\null
\end{document}
结果显示计数器的值始终为最后设置的值:
如何在源文本中出现时强制扩展计数器的值AddToShipoutPictureFG
,以便显示红色箭头处的输出1
而不是2
?
注 1:我是使用 pdflatex 的新手。如果有更简单的方法可以在页面上获得多个旋转、绝对定位的文本框,请提供建议。我尝试使用rotating
带有textpos
环境的包,但它们似乎不能很好地协同工作 - 旋转发生在我无法确定的文本块中的某个点。
注 2:在本例中,我使用了一个计数器来说明AddToShipoutPictureFG
调用之间定义的改变。我的文档中有\stepcounter{mycounter}
一个宏,它重新定义了下一个文本框的 X、Y 坐标对,该文本框将在下一个调用中使用AddToShipoutPictureFG
。当然,页面末尾的 X、Y 定义是最后一个 X、Y 集,因此文本框总是出现在彼此的顶部,而不是出现在每次AddToShipoutPictureFG
调用之前设置的 X、Y 坐标上。
答案1
放
\stepcounter{mycounter}
紧接着, \themycounter
所以它在使用后会增加。正如你在主流程中增加它,但在输出例程中使用它两次