我正在使用dcolumn
包来对齐小数点后的一些数字。但是,其中一些数字带有“***
符号”,以便将它们与表格末尾的附加信息相关联。但是,一旦我编译,就会0.098*
变成0.098∗
。只有当我将列中心定义为而.
不是c
或时,才会发生这种情况l
。例如begin{tabular}{l . c}
。
前言:
\usepackage[dvips,letterpaper,margin=1in]{geometry}
\usepackage{booktabs}
\usepackage{tabularx}
\setlength{\abovecaptionskip}{6pt}
\setlength{\belowcaptionskip}{6pt}
\usepackage[large, bf, justification=centering]{caption}
\usepackage{rotating}
\usepackage{dcolumn}
\newcolumntype{.}{D{.}{.}{5,6}}
以下是其余代码:
代码: 选择全部
\begin{table}
\footnotesize
\caption*{Table 5: Ordered logit results for men and women living in Denmark}
\centering
\begin{tabular}{l . .}
\toprule
\toprule
%
\multicolumn{1}{l}{taste for redistribution} & \multicolumn{1}{c}{\bf Men} & \multicolumn{1}{c}{\bf Women} \
\multicolumn{1}{l}{in Denemark} & \multicolumn{1}{c}{\bf b/se} & \multicolumn{1}{c}{\bf b/se} \
\midrule
& \\
%
%
age & 0.018* & 0.020* \
\midrule
* p<0.05, ** p<0.01, *** p<0.001 \\
\bottomrule
\addlinespace[0.75em]
%
\scriptsize{\emph{Source: }stayers survey}
\end{tabular}
\end{table}
有人能提供提示吗?
答案1
获得所需输出的一种方法是使用^{\ast}
而不是*
。此外,在这种情况下,脚注应该处于数学模式:
\documentclass{article}
\usepackage[dvips,letterpaper,margin=1in]{geometry}
\usepackage{booktabs}
\usepackage{tabularx}
\setlength{\abovecaptionskip}{6pt}
\setlength{\belowcaptionskip}{6pt}
\usepackage[large, bf, justification=centering]{caption}
\usepackage{rotating}
\usepackage{dcolumn}
\newcolumntype{.}{D{.}{.}{5,6}}
\begin{document}
\begin{table}
\footnotesize
\caption*{Table 5: Ordered logit results for men and women living in Denmark}
\centering
\begin{tabular}{l . .}
\toprule
\toprule
%
\multicolumn{1}{l}{taste for redistribution} & \multicolumn{1}{c}{\bf Men} & \multicolumn{1}{c}{\bf Women} \\
\multicolumn{1}{l}{in Denemark} & \multicolumn{1}{c}{\bf b/se} & \multicolumn{1}{c}{\bf b/se} \\
\midrule
& \\
%
%
age & 0.018^{\ast} & 0.020^{\ast} \\
\midrule
${}^\ast p<0.05$, ${}^{\ast\ast} p<0.01$, ${}^{\ast\ast\ast} p<0.001$ \\
\bottomrule
\addlinespace[0.75em]
%
\scriptsize{\emph{Source: }stayers survey}
\end{tabular}
\end{table}
\end{document}
答案2
对你的问题的简短回答是:dcolumn
格式列中的材料是以数学模式而不是文本模式设置的。
稍微长一点的回答:当 TeX 处于数学模式时,它会将*
符号渲染为乘法运算符号,而当 TeX 处于文本模式时,它会将符号视为“凸起的星号”(因为没有更好的术语)。要在设置中获得文本模式行为dcolumn
,最好在序言中创建以下三个宏
\newcommand\istar{\text{*}}
\newcommand\iistar{\text{**}}
\newcommand\iiistar{\text{***}}
然后0.018\istar
在表格环境中使用这些宏,如 。注意:\text
命令由包提供amsmath
(这意味着也必须加载此包 - 但是,您可能已经这样做了,对吗?)。
下面的图片基于您的代码,但经过修改和简化,以突出与星号相关的问题。例如,我省略了所有更改字体大小的命令,并大大缩短了标题。
\documentclass[letterpaper]{article}
\usepackage{booktabs,amsmath,caption,dcolumn}
\newcolumntype{.}{D{.}{.}{2,5}}
\newcommand\istar{\text{*}}
\newcommand\iistar{\text{**}}
\newcommand\iiistar{\text{***}}
\begin{document}
\begin{table}
\caption*{Table 5: Ordered logit results}
\centering
\begin{tabular}{l . .}
\toprule
Taste for redistribution &
\multicolumn{1}{c}{\bfseries Men} & \multicolumn{1}{c}{\bfseries Women} \\
in Denmark &
\multicolumn{1}{c}{\bfseries b/se} & \multicolumn{1}{c}{\bfseries b/se} \\
\midrule
Age & 0.018\istar & 0.020\iiistar \\
\midrule
\multicolumn{3}{l}{* $p<0.05$, ** $p<0.01$, *** $p<0.001$} \\
\midrule[\heavyrulewidth]
\emph{Source:} Stayers survey\\
\end{tabular}
\end{table}
\end{document}