使用 Optex,我想制作一个齐平的右侧(题词)宏/环境。
我尝试使用 e-plain defs 进行左对齐/右对齐,但是它们不起作用。
它们应该看起来像这样,但这\hskip 10cm
有点笨拙。
\hskip 10cm \vbox{
\bgroup
\parindent 0pt
\_typoscale[800/800]
\it
\obeylines
``Crescem no sul vermelhas sementes,
Vem primavera e poucas vingaram.
Colhe-as, senhor, leva a mão bem cheia;
tantas vicejam como as saudades.''\par
\egroup
}
\bye
另外两种方法可以实现此目的(\vbox
不需要,而且还可以减少行间间距):
\bgroup
\_typoscale[800/800]
\it
\hfill \table{l}{
“Crescem no sul vermelhas sementes,\cr
Vem primavera e poucas vingaram.\cr
Colhe-as, senhor, leva a mão bem cheia;\cr
tantas vicejam como as saudades.''\cr
}
\egroup
%{\Grey \hrule height 3pt width \hsize}
\bgroup
\leftskip=10cm %\leftskip=.6\hsize
\parindent 0pt
\_typoscale[800/800]
\it
\obeylines
``Crescem no sul vermelhas sementes,
Vem primavera e poucas vingaram.
Colhe-as, senhor, leva a mão bem cheia;
tantas vicejam como as saudades.''\par
\egroup
答案1
请注意,OpTeX 提供了宏\boxlines
,其功能与 egreg 的代码几乎相同\obeylines\let^^M=\cr\halign{#\hfil
。它将源文件的下一行以垂直模式放入单独的框中,并通过关闭该模式}
。
\noindent {\bf 1 Epigrafe}
\par\nobreak\bigskip
\noindent\hfill\vbox{
\typoscale[800/800]
\it
\boxlines
\noindent\llap{``}Crescem no sul vermelhas sementes,
Vem primavera e poucas vingaram.
Colhe-as, senhor, leva a mão bem cheia;
tantas vicejam como as saudades.''
}
\bye
答案2
主要问题是您的\vbox
水平尺寸与标准一样宽\hsize
,因为您在其中构建段落,因此您无法控制行的实际宽度。您可以考虑拆开盒子并测量每行(即段落的最后一行),但有一种更简单的方法,即使用对齐。
\noindent {\bf 1 Epigrafe}
\par\nobreak\bigskip
\noindent\hfill\vbox{
\typoscale[800/800]
\it
\tabskip=0pt
\obeylines\let^^M=\cr\halign{#\hfil
\llap{``}Crescem no sul vermelhas sementes,
Vem primavera e poucas vingaram.
Colhe-as, senhor, leva a mão bem cheia;
tantas vicejam como as saudades.''
}}
\bye