我以为我知道如何使用,\hphantom{}
但由于逗号,我不知道如何轻松处理这种情况。我想让文本与行对齐X
。我添加了适当的\hphantom{{}+1}
后行上的逗号X
,但间距不正确。如果我添加\hphantom{{}+1}
前逗号,因为行Z
间距是可以的,但我想要左边的逗号。
但令人惊讶的是,如果我添加一个额外的幻影右侧的逗号三个全部行,然后内容正确对齐:
问题:
- 如何
\hphantom
使用适当的方法来调整逗号引起的间距问题? - 为什么添加 额外的幻影逗号三个全部行修复事物?
笔记:
- 是的,我可以在文本之前添加一个额外的对齐点
that is
,但如果文本长度超过列的宽度,我希望整个文本能够正确换行。
代码:
\documentclass{article}
\usepackage{tabularx}
\begin{document}
\begin{tabularx}{\linewidth}{r@{}X}
$X$~ &represents $n = 4k, \hphantom{{}+1}$ that is \ldots,\\
$Y$~ &represents $n = 4k+1, $ that is \ldots,\\
$Z$~ &represents $n = 4k \hphantom{{}+1},$ that is \ldots,\\
\end{tabularx}
\bigskip
But adding an additional phantom comma fixes the alignment:
\smallskip
\begin{tabularx}{\linewidth}{r@{}X}
$X$~ &represents $n = 4k, \hphantom{{}+1,}$ that is \ldots,\\
$Y$~ &represents $n = 4k+1, \hphantom{,}$ that is \ldots,\\
$Z$~ &represents $n = 4k \hphantom{{}+1}, \hphantom{,}$ that is \ldots,\\
\end{tabularx}
\end{document}
答案1
除了第三行不可接受之外,错误还在于考虑公式的逗号部分,而事实并非如此。
文本标点符号仅在显示的数学公式中属于公式,否则应在公式标记之外输入。
考虑阅读
$X$ represents $4k$, that is ...
作为
咕哝代表咕哝, 那是 ...
换句话说,把所有的数学内容都变成咕哝。如果逗号在里面,它将被包括在相应的咕哝,所以它不会对阅读(和语法)产生任何影响。
在您的示例中,您希望有一个与“+1”一样宽的空间,并具有适当的间距,因为公式其中一行的宽度比其他行的宽度要宽。逗号不在讨论范围内,因为在三个例子中都存在逗号。
\documentclass{article}
\usepackage{tabularx}
\begin{document}
\noindent
\begin{tabularx}{\linewidth}{r@{ }X}
$X$ & represents $n = 4k$,\hphantom{${}+1$} that is \ldots,\\
$Y$ & represents $n = 4k+1$, that is \ldots,
\end{tabularx}
\end{document}
还请注意如何避免$X$~
第一列中的尴尬。
答案2
首先,让我们同意在所有行中n = 4k + 1
产生n = 4k \hphantom{{} + 1}
相同的水平空间。
LaTeX 将每个数学符号按类别组织起来(示例,参见参考资料 2):
- 奥德伊纳里,
- 操作erator,
- 垃圾桶阿里,
- 相对化,
- 打开,
- 关闭,
- 点评估,和
- 内。
\mathop
这些可以通过、\mathord
等来强制执行\mathbin
。
两个物体之间应留出多少水平空间是有规则的。
根据这些规则,应在标点符号类别的符号和普通符号之间放置一个小空格( \,
/ ),而不是在普通符号和标点符号之间放置一个小空格(/)(顺序很重要)。\thinmuskip
此规则使 中的间距$1,2, 3$
看起来像“1, 2, 3”,而不是“1,2,3”(数学模式中的空格无效)。这也是为什么使用逗号分隔数字中的整数和小数需要写为 的原因123{,}456
。(逗号“不再可见”4
并且位于组的末尾:无间距。)
现在,在您的例子中它看起来怎么样?(我假设空间\hphantom
被视为一个普通符号(它必须是某种东西)。)
第一张桌子
第一排
…
k, \hphantom
类别
…点 点
间距
…奥德没有任何点薄的奥德
第二排
…
1 ,
,
!后面没有符号
类别
…顺序点
间距
…奥德没有任何点
这样就缺少了一小块空间。
第三排
k \hphantom ,
,
!后面没有符号
类别
…顺序 顺序 点数
间距
…奥德没有任何奥德没有任何点
同样,与第一行相比,我们缺少一个小空间。
解决方案
我猜你想在没有数学内容的情况下在逗号后有自然的间距(数学后面的空格无论如何都会被使用),所以让我们让第一行的逗号不知道它后面的内容(问题的解决方案)或者作为埃格尔已经说明,你的逗号实际上是一个文本逗号,虽然我发现解决方案, \hphantom{${}+1$} that
很麻烦,但在这种情况下它在语义上是正确的(问题的解决方案)。
查看行是'和Z'我在其中添加了一个普通原子{}
,它的效果,
与原始原子一样X划船\hphantom
而已。
代码
\documentclass{article}
\usepackage{tabularx}
\begin{document}
\begin{tabularx}{\linewidth}{>{$}r<{$}@{ }l}
X & represents $n = 4k, \hphantom{{}+1}$ that is \ldots, \\
X' & represents $n = 4k{,} \hphantom{{}+1}$ that is \ldots, \\
X'' & represents $n = 4k $,\hphantom{${}+1$} that is \ldots, \\
Y & represents $n = 4k+1, $ that is \ldots, \\
Y' & represents $n = 4k+1, {} $ that is \ldots, \\
Z & represents $n = 4k \hphantom{{}+1}, $ that is \ldots, \\
Z' & represents $n = 4k \hphantom{{}+1}, {}$ that is \ldots, \\
\end{tabularx}
\end{document}
输出
第二张桌子
在第二个表中,你在每一行都添加了一个幻像,
,但每个逗号后面都没有任何符号。它们都引入了相同的空格,但新的\hphantom
s (行是和是) 充当普通符号,并在第一个表格行的最后一个符号逗号后激活细间距。
参考
美国数学学会,数学类型:第 3 部分“印刷中的数学”,第 37 页。
LaTeX Companion,第二版。(我只有德文版:第 8.9 节“Symbole in Formeln”,第 540 页及后续页面以及第 8.7 表:Abstände zwischen Symbolen)