当我使用\JoinCoffin
构建页面并添加同一棺材的多个实例时,对该棺材的持续引用似乎表现得“合理”。也就是说,对棺材的任何引用都是对其最新实例的引用。
我意识到这种用法“适用于我的情况”,但想知道它是否“正确”。这种行为是 受支持的功能吗xcoffins
,还是我应该避免它?
这是一个 CWE(紧凑的工作示例!):
% !TEX TS-program = XeLaTeX
% !TEX encoding = UTF-8 Unicode
\documentclass[a4paper]{memoir}
\usepackage{graphicx}
\usepackage{xcolor}
\usepackage{xcoffins}
\nonzeroparskip
\setlength{\parindent}{0pt}
\isopage
\checkandfixthelayout
\begin{document}
\NewCoffin \tpage
\NewCoffin \tbar
\SetHorizontalCoffin \tbar
{\color{blue} \rule{\textwidth}{1pc}}
\NewCoffin \kim
\SetHorizontalCoffin \kim
{\includegraphics[width=2in]{ubiquitous-surveillance-warning.png}}
\JoinCoffins \tpage \tbar
\JoinCoffins \tpage[\tbar-b,\tbar-r] \kim[t,r]
\JoinCoffins \tpage[\kim-b,\kim-r] \tbar[t,r]
% ===================================================================
\JoinCoffins \tpage[\tbar-b,\tbar-l] \kim[t,l] % <-- This is the line
% ===================================================================
\TypesetCoffin \tpage
\end{document}
及其结果,您可以看到图形的第二个副本相对于棺材的第二个实例“正确”地放置\tbar
:
答案1
连接到主棺材上的“附属”棺材的支柱仍可用<subcoffin>-<pole>
,因此在示例中,棺材连接到后,l
棺材的支柱\kim
仍可用。这是棺材设计概念的一部分:复杂的对齐可能需要物体相对于“内部”结构相互连接。\kim-l
\kim
\tpage
如果同一口棺材多次与“主”棺材连接,仅有的最新连接的杆子仍然可用。因此,在示例中,第一个\kim
棺材的杆子“丢失”了。因此,您以后将引用的任何棺材在“连接在一起的棺材”集合中都应该有一个唯一的名称。
您可以使用 查看有哪些杆子可用\ShowCoffinStructure <coffin>
,它将列出所有已知的杆子。