我正在尝试棺材作为封面(顺便说一句,我非常享受,真是一个王牌套餐)。
我现在想做的是将一个标志、一些水平的空白和一个彩色的水平条很好地融入\textwidth
在我的代码中,虽然水平条的长度计算效果很好,但看起来有点笨重和 20 世纪。我特别担心可能会产生很大的开销\settowidth{\worki}{\TypesetCoffin{\logo}}
。有人能建议一种更干净、更“现代”的方式来做这件事吗?
\CoffinWidth{<coffin>}
补充一个问题:有没有计划在 xcoffins 中添加棺材专用的测量工具?例如,可能类似于?
附言:我很欣赏 xcoffins 的持续改进,而且界面可能仍然有点可塑性......
这是我的 M(ish)WE:
\documentclass[12pt,a4paper]{memoir}
\semiisopage
\checkandfixthelayout
\usepackage{xcolor}
\usepackage{graphicx}
\usepackage{xcoffins}
\begin{document}
\thispagestyle{empty}
\NewCoffin \result
\SetHorizontalCoffin \result {}
\NewCoffin \logo
\SetHorizontalCoffin \logo {\includegraphics[height=2in]{mylogo}}
\NewCoffin \ruleh
\newlength{\worki}
\newlength{\workii}
\settowidth{\worki}{\TypesetCoffin{\logo}}
\setlength{\workii}{\textwidth}
\addtolength{\workii}{-5pt}
\addtolength{\workii}{-\worki}
\SetHorizontalCoffin \ruleh {\color{blue}\rule{\workii}{1pc}}
\JoinCoffins \result \logo
\JoinCoffins \result[\logo-vc,\logo-r] \ruleh[vc,l](5pt,0pt)
\noindent
\TypesetCoffin \result
\end{document}
答案1
\setlength{\worki}{\wd\logo}
棺材名称也是包含它的盒子寄存器的名称。这可能不是“现代”的做法,也许棺材可能有一个接口。
如果您想要一些“现代”的东西,那么可以定义这些命令:
\usepackage{xparse}
\ExplSyntaxOn
\NewDocumentCommand{\WidthOfCoffin}{m}{ \box_wd:N #1 }
\NewDocumentCommand{\HeightOfCoffin}{m}{ \box_ht:N #1 }
\NewDocumentCommand{\DepthOfCoffin}{m}{ \box_dp:N #1 }
\ExplSyntaxOff
所以你可以说
\setlength{\worki}{\WidthOfCoffin{\logo}}