如何获取数学符号的宽度来对齐表格的行?

如何获取数学符号的宽度来对齐表格的行?

我尝试对齐字母b,d,t垂直堆叠。但\neg符号的宽度未知。这是什么?一般如何找出它?许多间距存在,但具体是什么?

\documentclass{article}
\usepackage{amsmath, booktabs}

\begin{document}
\begin{tabular}{@{}ll@{}}
\toprule
combination         & example \\ \midrule
$(b,\ \ \ d,\ \ \ t)$           &         \\
$(b,\ \ \ d,\neg t)$      &         \\
$(b,\neg d,\ \ t)$      & double auction \\
$(b,\neg d,\neg t)$ &         \\ \bottomrule
\end{tabular}
\end{document}

图片

答案1

\hphantom{\neg}将插入与以下完全相同的水平空格\neg

\documentclass{article}
\usepackage{amsmath, booktabs}

\begin{document}
\begin{tabular}{@{}ll@{}}
\toprule
combination         & example \\ \midrule
$(b,\hphantom{\neg} d,\hphantom{\neg} t)$           &         \\
$(b,\hphantom{\neg} d,\neg t)$      &         \\
$(b,\neg d,\hphantom{\neg} t)$      & double auction \\
$(b,\neg d,\neg t)$ &         \\ \bottomrule
\end{tabular}
\end{document}

答案2

另一种方式是使用\eqparbox包,它为标准框命令定义一个标签系统:所有共享相同标签的框都具有该系列中最宽框的自然宽度。

\documentclass{article}
\usepackage{amsmath, booktabs}
\usepackage{eqparbox}
\newcommand{\eqmathbox}[2][T]{\eqmakebox[#1][r]{$#2$}}

\begin{document}

\begin{tabular}{@{}ll@{}}

\toprule
combination & example \\ \midrule
$(b, \eqmathbox[D]{d},\eqmathbox{ t})$ & \\
$(b,\eqmathbox[D]{d}, \eqmathbox{t})$ & \\
$(b,\eqmathbox[D]{\neg d}, \eqmathbox{t})$ & double auction \\
$(b,\eqmathbox[D]{\neg d},\eqmathbox{\neg t})$ & \\ \bottomrule
\end{tabular}

\end{document}

在此处输入图片描述

答案3

这使得所有组件具有相同的宽度(此处指定为)2.1ex,再加上增加的列间间隙\,\,

如果数组内容发生变化并且允许\neg第一列存在,则这允许一定的灵活性。

\documentclass{article}
\usepackage{amsmath, booktabs}
\newcommand\cw{2.1ex}
\def\z(#1,#2,#3){%
  (\makebox[\cw][r]{$#1$},\,\,\makebox[\cw][r]{$#2$},\,\,\makebox[\cw][r]{$#3$})}
\begin{document}
\begin{tabular}{@{}ll@{}}
\toprule
combination         & example \\ \midrule
$\z(b,d,t)$           &         \\
$\z(b,d,\neg t)$      &         \\
$\z(b,\neg d,t)$      & double auction \\
$\z(b,\neg d,\neg t)$ &         \\ \bottomrule
\end{tabular}
\end{document}

在此处输入图片描述

但如果你想要定制输出这组特定的数组, 然后

\documentclass{article}
\usepackage{amsmath, booktabs}
\setbox0=\hbox{$b$}
\edef\cwA{\the\wd0}
\setbox0=\hbox{$\neg d$}
\edef\cwB{\the\wd0}
\setbox0=\hbox{$\neg t$}
\edef\cwC{\the\wd0}
\def\z(#1,#2,#3){%
  (\makebox[\cwA][r]{$#1$},\,\,\makebox[\cwB][r]{$#2$},\,\,\makebox[\cwC][r]{$#3$})}
\begin{document}
\begin{tabular}{@{}ll@{}}
\toprule
combination         & example \\ \midrule
$\z(b,d,t)$           &         \\
$\z(b,d,\neg t)$      &         \\
$\z(b,\neg d,t)$      & double auction \\
$\z(b,\neg d,\neg t)$ &         \\ \bottomrule
\end{tabular}
\end{document}

在此处输入图片描述

相关内容