xcoffins 在连接两个相同棺材实例时的行为

xcoffins 在连接两个相同棺材实例时的行为

当我使用\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

xcoffins output

答案1

连接到主棺材上的“附属”棺材的支柱仍可用<subcoffin>-<pole>,因此在示例中,棺材连接到后,l棺材的支柱\kim仍可用。这是棺材设计概念的一部分:复杂的对齐可能需要物体相对于“内部”结构相互连接。\kim-l\kim\tpage

如果同一口棺材多次与“主”棺材连接,仅有的最新连接的杆子仍然可用。因此,在示例中,第一个\kim棺材的杆子“丢失”了。因此,您以后将引用的任何棺材在“连接在一起的棺材”集合中都应该有一个唯一的名称。

您可以使用 查看有哪些杆子可用\ShowCoffinStructure <coffin>,它将列出所有已知的杆子。

相关内容