偏移符号而不改变布局

偏移符号而不改变布局

我正在使用某个符号,我想将其向下移动而不影响它的布局(更改周围标记的位置):

测试用例是:

$\begin{array}{ccc}
   a & b & c\\
   a & b & e\\
\end{array}$

我想将 c 向下移动到 e 的正上方,这样 c 的底部就会接触到 e 的顶部,甚至与 e 的顶部重叠,而不会对布局产生任何影响(c 除外)。除了 c 的变化方式外,这两个矩阵看起来应该完全相同。

(答案应该相对通用,因为以上只是一个测试用例)

答案1

您可以使用\smash\raisebox

在此处输入图片描述

笔记:

  • 添加它们\hlines是为了能够比较前后情况。
  • 用于\raisebox降低所需特性,而 用于\smash确保环境的其余部分不受影响。

代码:

\documentclass{article}
\usepackage{amsmath}
\begin{document}
$\begin{array}{ccc}\hline
   a & b & c\\
   a & b & e\\\hline
\end{array}$
$\begin{array}{ccc}\hline
   a & b & \smash{\raisebox{-1.75ex}{c}}\\
   a & b & e\\\hline
\end{array}$
\end{document}

答案2

嵌套array将 放在c上方e。这样可以避免ce在外部位于不同的行上array,并且定位变得独立于其他单元格的内容,这可能会增加行距。内部array需要b将 放在e基线上,请参阅 Peter Grill 的评论。

另一个技巧是\arraystretch有意义地使用0。然后使用环境插入的无效高度和深度重置支柱array

根据问题的要求,\smash使的高度(和深度)无效c

\documentclass{article}
\begin{document}
$\begin{array}{ccc}
   a & b & \\
   a & b &
  \renewcommand*{\arraystretch}{0}%
  \begin{array}[b]{@{}c@{}}\smash{c}\\e\end{array}\\
\end{array}$
\end{document}

结果

相关内容