我如何才能自动修复带有点填充的表格?

我如何才能自动修复带有点填充的表格?

我想制作表格。我尝试使用\makebox[12.5cm]我的代码

\documentclass[12pt,a4paper]{article}
\usepackage[utf8]{inputenc}
\usepackage{multirow}
\usepackage{longtable,tabularx, makecell}
\begin{document}
\begin{flushleft} 
\makebox[12.5cm][s]{
\begin{tabular}[t]{@{}l@{}}
1.\, Full name \dotfill \\
2.\, Date, month, year born \dotfill \\
3. \, Address \dotfill \\
4. \, Telephont \dotfill \\
  \end{tabular}
  \begin{tabular}[t]{@{}l@{}}
 Donal Mackey \\
 09 - 10 -1972 \\
  New York, U.S.A\\
0123456789\\
  \end{tabular}%
}
\end{flushleft}
\end{document}

我有 在此处输入图片描述

并且\makebox[8.5cm],我得到了 在此处输入图片描述

如何制作一个可自动改变大小\makebox并自动添加顺序的表格?

答案1

合并GuM 的评论Herbert 关于自动行编号的回答,可以得到以下结果:

\documentclass[12pt,a4paper]{article}
\usepackage{tabularx}
\usepackage{etoolbox}

\preto\tabular{\setcounter{magicrownumbers}{0}}
\newcounter{magicrownumbers}
\newcommand\rownumber{\stepcounter{magicrownumbers}\arabic{magicrownumbers}}

\begin{document}
\begin{tabularx}{10cm}{@{\makebox[3em][r]{\rownumber.\space}}  X<{\dotfill} @{}l}
  Full name              & Donald Mackey   \\
  Date, month, year born & 09 - 10 -1972   \\
  Adress                 & New York, U.S.A \\
  Telephont              & 0123456789      \\
\end{tabularx}
\end{document}

在此处输入图片描述

通过替换,10cm您可以将整个表格设置为您选择的任意宽度。行将自动编号,左列的宽度将自动用点填充。


为了对三列使用相同的方法,其中第一列和第二列之间以及第二列和第三列之间的空间用点填充,您可以使用以下方法:

\documentclass[12pt,a4paper]{article}
\usepackage{tabularx}
\usepackage{etoolbox}

\preto\tabular{\setcounter{magicrownumbers}{0}}
\newcounter{magicrownumbers}
\newcommand\rownumber{\stepcounter{magicrownumbers}\arabic{magicrownumbers}}
\begin{document}
\begin{tabularx}{15cm}{@{\makebox[3em][r]{\rownumber.\space}} X<{\dotfill} @{}X <{\dotfill} @{}l } 
  Full name              & Donald Mackey    & some text \\
  Date, month, year born & 09 - 10 -1972    & more text \\
  Adress                 & New York, U.S.A  & entry \\
  Telephont              & 0123456789       & another entry\\
\end{tabularx}
\end{document}

这里,第一列和第二列都是X类型列,这使得它们的宽度相同。如果您喜欢不同的宽度,也可以使用类似的东西\begin{tabularx}{15cm}{@{\makebox[3em][r]{\rownumber.\space}} X<{\dotfill} @{}p{6cm} <{\dotfill} @{}l }并手动确定第二列的所需宽度。

相关内容