我在 parbox 间距与连字符结合方面遇到了问题。我希望以类似表格的方式将 parbox 设置为键值对。因此,我有两个 parbox,每行具有给定的宽度。第一个问题是 parbox 中第一个单词的连字符,这通过使用 解决了\hspace{0pt}
。现在,当我有多行时,每行都有一个键和一个值 parbox,它们之间没有垂直间距。
所以我尝试使用 来解决这个问题\strut
。现在,我有了垂直间距,但第一个单词的连字符不再起作用。
请参阅以下最小工作示例:
\documentclass[10pt,a4paper]{article}
\newcommand{\myKey}{MyLongKeyLabel}
\newcommand{\myValue}{ThisIsMyLongValue}
\newcommand{\myKeyValuePair}{%
\parbox[t]{20mm}{\raggedright%
\hspace{0pt}\myKey%\strut%
}%
\hspace{3mm}%
\parbox[t]{20mm}{\raggedright%
\hspace{0pt}\myValue%\strut%
}\par
}
\begin{document}
\myKeyValuePair
\myKeyValuePair
\myKeyValuePair
\end{document}
当取消注释\strut
命令时,连字符将不再起作用。
我的问题是:如何实现 parbox 中第一个单词的连字,并且在连续行中的 parbox 之间有垂直间距?
提前感谢您的任何想法。
答案1
TeX 中,单词连字符的可能形式是一系列字母(非零\lccode
),以 glue(即\hskip
单词间 glue)开头,以不同于 box 或 line 的字符结尾。算法更复杂,但上面提到的句子很重要。并且\strut
是 box 或 line。这否定了连字符。您需要使用此代码:
\strut\hskip0pt\relax\myKey\nobreak\hskip0pt\strut
和
\strut\hskip0pt\relax\myValue\nobreak\hskip0pt\strut
现在,该词以 by 开头\hskip
,也以 eded by\hskip
结尾。两个\strut
s(before 和 after)都很重要,因为使用了第一个支柱的高度,也使用了第二个支柱的深度。