如何在表格列中水平对齐复选标记?

如何在表格列中水平对齐复选标记?

在我的表格中,我使用不同的组合,包括单独使用复选标记、使用括号使用复选标记或使用星号使用复选标记。我希望有一个居中的列,其中复选标记对齐。

通过使用该包dcolumn并将复选标记定义为小数点,我得到了所需的对齐方式。但是,当通过 pdfLaTeX 运行它时,我遇到了两个问题:

  1. \ding{51}尽管我加载了包,但打印仍然不正确pifont
  2. 该列不再居中对齐。

为什么会发生这种情况?我该如何获得期望的结果?

\documentclass[a5paper, 11pt]{scrbook}

\usepackage{pifont}
\usepackage{tabularx}
\usepackage{booktabs}
\usepackage{dcolumn}
\newcolumntype{A}{D{.}{\ding{51}}{-1}}

\begin{document}

\begin{table}
\centering
 \begin{tabularx}{\textwidth}{Xc}
 \textbf{Element} & \textbf{Availability}\\
 \midrule
 Some Element & \ding{51}\\ 
 Another Element & \ding{51}\textsuperscript{\textasteriskcentered}\\
 Yet Another Element & (\ding{51})\\
 One More Element & (\ding{51}\textsuperscript{\textasteriskcentered})\\
 \end{tabularx}
\caption{Unaligned example table}
\end{table}

\begin{table}
\centering
 \begin{tabularx}{\textwidth}{XA}
 \textbf{Element} & \textbf{Availability}\\
 \midrule
 Some Element & .\\
 Another Element & .\textsuperscript{\textasteriskcentered}\\
 Yet Another Element & (.)\\
 One More Element & (.\textsuperscript{\textasteriskcentered})\\
 \end{tabularx}
\caption{Aligned example table, but with problems displaying the checkmark and messed up centering.}
\end{table}

\end{document}

答案1

问题是包D中的类型的列dcolumn总是使用数学模式,并且\ding{51}在数学模式下打印为3

因此,您可以强制其内容处于文本模式,替换行

\newcolumntype{A}{D{.}{\ding{51}}{-1}}

\newcolumntype{A}{D{.}{\textrm{\ding{51}}}{-1}}

请注意,出于同样的原因,你可以\textsuperscript{\textasteriskcentered}^*

要保持第一行居中,请使用\multicolumn,否则它将检查对齐点。

梅威瑟:

\documentclass[a5paper, 11pt]{scrbook}

\usepackage{pifont}
\usepackage{tabularx}
\usepackage{booktabs}
\usepackage{dcolumn}
\newcolumntype{A}{D{.}{\textrm{\ding{51}}}{-1}}

\begin{document}

\begin{table}
\centering
 \begin{tabularx}{\textwidth}{Xc}
 \textbf{Element} & \textbf{Availability}\\
 \midrule
 Some Element & \ding{51}\\
 Another Element & \ding{51}\textsuperscript{\textasteriskcentered}\\
 Yet Another Element & (\ding{51})\\
 One More Element & (\ding{51}\textsuperscript{\textasteriskcentered})\\
 \end{tabularx}
\caption{Unaligned example table}
\end{table}

\begin{table}
\centering
 \begin{tabularx}{\textwidth}{XA}
 \textbf{Element} & \multicolumn{1}{c}{\textbf{Availability}}\\
 \midrule
 Some Element & .\\
 Another Element & .^*\\
 Yet Another Element & (.)\\
 One More Element & (.^*)\\
 \end{tabularx}
\caption{Aligned example table, but with problems displaying the checkmark and messed up centering.}
\end{table}

\end{document} 

输出:

在此处输入图片描述

相关内容