Optex 的题词/右对齐宏

Optex 的题词/右对齐宏

使用 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

在此处输入图片描述

相关内容