在下面的表格中,当我到达第 10 项时,多余的数字导致单词 item 被推了下去。
我如何使所有单词“item”对齐?
梅威瑟:
\documentclass[10pt]{article}
\usepackage{booktabs,array}
\begin{document}
\newcounter{rowcounter}
\setcounter{rowcounter}{1}
\begin{tabular}{@{\arabic{rowcounter}\stepcounter{rowcounter}}@{\hspace{1cm}}ll}
Item\\
Item\\
Item\\
Item\\
Item\\
Item\\
Item\\
Item\\
Item\\
Item\\
Item\\
Item\\
Item\\
\end{tabular}%
\end{document}
答案1
正如@Zarko 在评论中所建议的那样,如果您不希望隐式列内容(以及第一个“真实”列的内容)交错,请将列显式化并赋予其类型r
。
\documentclass{article}
\usepackage{array}
\newcounter{rowcnt}
\begin{document}
\begin{tabular}{@{} >{\stepcounter{rowcnt}\therowcnt}r l }
&Item\\
&Item\\
&Item\\
&Item\\
&Item\\
&Item\\
&Item\\
&Item\\
&Item\\
&Item\\
&Item\\
&Item\\
&Item\\
\end{tabular}
\end{document}
答案2
我在这里建议对您的代码进行改进,并使用新的列类型定义可引用的行号的eqparbox
解决方案:blkarray
\BAenum
\documentclass[10pt]{article}
\usepackage{booktabs, blkarray}
\usepackage{eqparbox}
\begin{document}
\newcounter{rowcounter}
\setcounter{rowcounter}{1}
\begin{tabular}{@{\eqmakebox[R][r]{\arabic{rowcounter}}\stepcounter{rowcounter}}@{\hspace{1cm}}ll}
Item\\
Item\\
Item\\
Item\\
Item\\
Item\\
Item\\
Item\\
Item\\
Item\\
Item\\
Item\\
Item\\
\end{tabular}%
\vskip 4ex
\noindent
\begin{blockarray}{\BAenum!{\hspace{1cm}}ll}
Item\\
Item\\
Item\\
Item\\
Item\\
Item\\
Item\\
Item\\
Item\\
\label{row:ten} Item\\
Item\\
Item\\
Item\\
\end{blockarray}%
From row \ref{row:ten}, we can see the row numbers are right-aligned.
\end{document}