我正在尝试将文本与 PlainTeX/OpTeX 中的裸图像顶部对齐,使用以下习惯用法:
\hbox to \hsize {
\vtop{\hsize=... ...}
\hskip...
\vtop{\hsize=... ...}}
如果两个垂直框都包含文本,这似乎会很好地工作,但如果我使用 \inspic (或 \includegraphics),则对齐会急剧偏离,并且第二个框的基线(如果该术语不正确,请原谅我)会一直向下移动到图像的底部。
有人可以详细说明一下图像可能做了什么,导致另一个框发生这样的移动,以及可以采取什么措施来防止这种情况发生?
编辑:抱歉,我添加了一个确切表达我意思的例子。
\input lua-visual-debug.sty
\input graphicx.tex %
\hbox to \hsize {
% \vtop{\hsize=0.54\hsize \indent \includegraphics[width=8.5cm]{sunrise.jpg}}
\vtop{\hsize=0.4\hsize
Non impedit maxime sed expedita. Ab harum sit numquam molestiae minima nostrum quia. Dolores voluptatem rerum voluptatibus nihil maiores non. Provident perferendis eligendi nihil deleniti sunt qui cum dolore. Recusandae quos a ipsa dolorem.…
}
\hskip4mm
\vtop{\hsize=0.4\hsize
Omnis voluptatem rem dolores ex. In rerum autem ut. Fugiat non in dolorum minima accusantium aperiam nobis aliquam.
}}
\bye
这两个是上述代码的输出,并(取消)注释另一个 vtop
答案1
您没有提供任何有关您的输入或导致的错位的示例,但是\includegraphics
例如乳胶总是将基线放在图像的底部边缘,因此就像\vrule
这里显示的那样。
\hbox to \hsize {%don't forget this
xxxxxxxxx%
\vtop{\hsize=1cm \noindent\vrule width 1cm height 2cm}%
\hskip1cm
\vtop{\hsize=1cm \noindent\vrule width 1cm height 4cm }%
xxxxxxx%
}
\bye
如您所见,两条规则在其底边对齐,该底边与 xxx 文本的基线对齐。
编辑后,似乎您想要将图像的顶部与文本的顶部对齐,第二个将其与第一行文本的基线对齐,第二个将其提高支柱的高度,这可能太多了,如果大多数文本都是小写的,您可能只想将其提高`ex。
\hbox to \hsize {%don't forget this
xxxxxxxxx%
\vtop{\hsize=1cm \noindent\vrule width 1cm height 2cm}%
\hskip1cm
\vtop{\hsize=2cm a b c d e f g h i j k l m n o p q r s t u v w x y z }%
xxxxxxx%
}
\bigskip\hrule\bigskip
\hbox to \hsize {%don't forget this
xxxxxxxxx%
\vtop{\kern0pt
\hsize=1cm \noindent\vrule width 1cm height 2cm}%
\hskip1cm
\vtop{\hsize=2cm
\noindent\strut a b c d e f g h i j k l m n o p q r s t u v w x y z }%
xxxxxxx%
}
\bigskip\hrule\bigskip
\hbox to \hsize {%don't forget this
xxxxxxxxx%
\vtop{\kern-\ht\strutbox
\hsize=1cm \noindent\vrule width 1cm height 2cm}%
\hskip1cm
\vtop{\hsize=2cm
\noindent\strut a b c d e f g h i j k l m n o p q r s t u v w x y z }%
xxxxxxx%
}
\bye