我想制作表格。我尝试使用\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
并自动添加顺序的表格?
答案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 }
并手动确定第二列的所需宽度。