使用 LaTeX 创建表格

使用 LaTeX 创建表格

如何使用 LaTeX 创建如下的表格? 在此处输入图片描述

我有一点 LaTeX 经验,我正在寻找类似的模板或一些指导。

非常感谢您的帮助。

答案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。

  1. 您的表格似乎是在 MS Word 中创建的。有许多转换器可以处理复制的表格,但 MS Word 处理复制文本的方式与它们不兼容。幸运的是,MS Excel 或 OO/LO Calc 中的复制功能可以正常工作,因此请复制 Word 中的表格并将其粘贴到 Excel/Calc 中。
  2. 在 Excel/Calc 中,进行必要的编辑(但不要合并行!),选择并复制您的表格Ctrl + C
  3. 在里面表编辑器,点击(右侧)文件——导入。
  4. 在导入窗口中,设置导入类型逗号分隔值导入选项标签(因为 Excel 和 Calc\t在复制时使用它作为列分隔符)。
  5. 粘贴 ( Ctrl + V) 并单击进口
  6. 在表格下方,您将获得可复制的 LaTeX 输出。选择它并复制它。
  7. 打开您的 TeX 文档并粘贴它。
  8. 要获取多行单元格,请尝试\usepackage{multirow}使用这个例子作为参考。
  9. 如果你\hlines在表格中看到任何或垂直行,请考虑按照以下方式整理表格:这个例子这需要\usepackage{booktabs}在序言中。
  10. 为了使整个表格适合 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 新手,您可以在此网站上非常轻松地制作表格:

http://www.tablesgenerator.com

相关内容