给出这样的命令
\newcommand{\AB}{$\textsf{A} \subseteq \textsf{B/string}$}
是否有可能将字符串计算为类似
\newcommand{\ABhyp}{\textsf{A} is contained in \textsf{B/string}}
如果 TeX 决定使用连字符\AB
或使用\AB
?会出现溢出框
答案1
这绝不是理想的,但您可以将断点定义为\discretionary{<pre-break>}{<post-break>}{<no-break>}
:
\documentclass{article}
\usepackage{showframe}% Just for this example
\newcommand{\AB}{%
\textsf{A}%
\discretionary{\mbox{ is}}{\mbox{contained in }}{\mbox{${}\subseteq{}$}}%
\textsf{B/string}%
}
\begin{document}
\AB
Some text to fill the line width with characters and then we have the \AB.
\end{document}
它之所以不理想,是因为它\mbox
消除了使行适合水平宽度的任何典型的字间间距调整。因此,A
和is
和contained
之间的间距in
可能B/string
与周围的字间间距略有不同。然而,这在很大程度上取决于它所用段落的上下文,在大多数情况下可能不可见。单词较长的句子(字间间距很少)可能会强调这一点。