![使用 LaTeX 创建表格](https://linux22.com/image/326810/%E4%BD%BF%E7%94%A8%20LaTeX%20%E5%88%9B%E5%BB%BA%E8%A1%A8%E6%A0%BC.png)
答案1
一种经典的 LaTeX 方法,考虑了@Alenanno 的评论和自己在表格编码方面的经验......
稍微重新格式化第二列标题表即可使其适合标准(纵向)纸张方向:
\documentclass[11pt]{article}
\usepackage[utf8]{inputenc}
\usepackage{booktabs,
makecell, % <-- new
multirow,
tabularx} % <-- new
\renewcommand\theadfont{\bfseries\small}
\usepackage{siunitx} % <-- new
\usepackage[margin=20mm,showframe]{geometry}% <-- added only to show page layout
\begin{document}
\begin{table}
\setlength\tabcolsep{4pt}
\begin{tabularx}{\textwidth}{@{}l X c *{3}{S[table-format=2.1]}@{}}
\toprule
\thead[b]{Admission requirements \\ for Mathematics (MSc)}
& \thead[bl]{Courses completed/\\ to be completed \\ before study start}
& \thead[b]{Date of \\ completion}
& {\thead[b]{Credits$^*$}}
& {\thead[b]{ECTS}}
& {\thead[b]{ECTS \\ in all}} \\
\midrule
Mathematical Analysis (30 ECTS)
& Mathematical Analysis 1 & 22.04.2014 & 5 & 7.5 & \multirowcell{3}{34.5} \\
& Mathematical Analysis 2 & 15.02.2013 & 8 & 12 & \\
& Complex Analysis & 01.07.2015 & 10 & 15 & \\ \midrule
Algebra/Linear algebra (22.5 ECTS)
& Advanced Algebra & 17.02.2013 & 6 & 9 & \multirowcell{2}{22.5} \\
& Abstract Algebra & 01.06.2015 & 9 & 13.5 & \\
\midrule
Geometry/Topology (15 ECTS)
& Topology & 01.11.2014 & 7 & 10.5 & \multirowcell{3}{18} \\
& Vector Analysis & 15.06.2015 & 3 & 4.5 & \\
& Differential Geometry & 15.02.2013 & 2 & 3 & \\
\bottomrule
\end{tabularx}
\end{table}
\end{document}
当然也可以是横向的,字体更大,比如用memoir
这个包:
在这种情况下,MWE 前导码是:
\documentclass[14pt,landscape]{memoir}
\usepackage[utf8]{inputenc}
\usepackage{booktabs,
makecell, % <-- new
multirow,
tabularx} % <-- new
\renewcommand\theadfont{\bfseries\small}
\usepackage{siunitx} % <-- new
\usepackage[margin=30mm,showframe]{geometry}% <-- added only to show page
答案2
如果你真的想节省新手的时间,你可能想使用表编辑器作者:Peder Skeidsvoll。
- 您的表格似乎是在 MS Word 中创建的。有许多转换器可以处理复制的表格,但 MS Word 处理复制文本的方式与它们不兼容。幸运的是,MS Excel 或 OO/LO Calc 中的复制功能可以正常工作,因此请复制 Word 中的表格并将其粘贴到 Excel/Calc 中。
- 在 Excel/Calc 中,进行必要的编辑(但不要合并行!),选择并复制您的表格
Ctrl + C
。 - 在里面表编辑器,点击(右侧)文件——导入。
- 在导入窗口中,设置导入类型到逗号分隔值和导入选项到标签(因为 Excel 和 Calc
\t
在复制时使用它作为列分隔符)。 - 粘贴 (
Ctrl + V
) 并单击进口。 - 在表格下方,您将获得可复制的 LaTeX 输出。选择它并复制它。
- 打开您的 TeX 文档并粘贴它。
- 要获取多行单元格,请尝试
\usepackage{multirow}
使用这个例子作为参考。 - 如果你
\hlines
在表格中看到任何或垂直行,请考虑按照以下方式整理表格:这个例子这需要\usepackage{booktabs}
在序言中。 - 为了使整个表格适合 A4 纸,请使用 (1)
landscape
类别选项和 (2) 固定宽度列(在列规范中或在单元格内p{2cm}
,允许对宽度进行更精细的控制)。\parbox[t]{5cm}{Firstline \\ Secondline}
你的例子。
\documentclass[landscape, 11pt]{article}
\usepackage[utf8]{inputenc}
\usepackage[textwidth=25cm]{geometry}
\usepackage{array, booktabs, multirow}
\begin{document}
\begin{table}
\begin{tabular}{lllrrr} \toprule
\parbox[t]{5cm}{\textbf{Admission requirements \\ for Mathematics (MSc)}} & \parbox[t]{7cm}{\textbf{Courses completed/to be completed \\ before study start}} & \parbox[t]{2.5cm}{\textbf{Date of \\ completion}} & \textbf{Credits$^*$} & \textbf{ECTS} & \parbox[t]{1.2cm}{\textbf{ECTS \\ in all}} \\ \midrule
Mathematical Analysis (30 ECTS) & Mathematical Analysis 1 & 22.04.2014 & 5 & 7.5 & \multirow{3}{*}{34.5} \\
~ & Mathematical Analysis 2 & 15.02.2013 & 8 & 12 & ~ \\
~ & Complex Analysis & 01.07.2015 & 10 & 15 & ~ \\ \midrule
Algebra/Linear algebra (22.5 ECTS) & Advanced Algebra & 17.02.2013 & 6 & 9 & \multirow{2}{*}{22.5} \\
~ & Abstract Algebra & 01.06.2015 & 9 & 13.5 & ~ \\ \midrule
Geometry/Topology (15 ECTS) & Topology & 01.11.2014 & 7 & 10.5 & \multirow{3}{*}{18} \\
~ & Vector Analysis & 15.06.2015 & 3 & 4.5 & ~ \\
~ & Differential Geometry & 15.02.2013 & 2 & 3 & ~ \\ \bottomrule
\end{tabular}
\end{table}
\end{document}
这可能不是最漂亮的解决方案,但至少它不是太复杂。是的,我知道,那些列宽说明符和“使整行加粗”可以用特殊包来实现,但我们不要用压路机压死苍蝇……
评论。截至 2016-01-24,此转换器有两个错误。(1)它总是在表格末尾添加一个空行。删除它。(2)导入时可能会询问您是否丢失数据。回复不如果被问到的话。
答案3
如果您是 LaTeX 新手,您可以在此网站上非常轻松地制作表格: