将此表转换为乳胶

将此表转换为乳胶

有人可以帮我将附加的图像(表格)转换为乳胶格式吗?

我不知道该怎么做。

在此处输入图片描述

答案1

如图所示,这是一个相对复杂的表格,因为它需要以下元素:

  • 旋转单元格 ->rotating包装
  • 跨多列的单元格 ->\multicolumn{<number of columns>}{<alignment>}{<content>}
  • 跨多行的单元格 ->multirow

此外,默认情况下,LaTeX 表格不允许足够的垂直间距。使用水平线会加剧此问题。此外,一些水平线通常应该比其他水平线更粗。为了在具有垂直线的表格中考虑这些因素,我使用了makecell。我还使用了array标准 LaTeX 语法的基本扩展,它使自定义内容变得更容易一些。

因此,在文件序言中,我们有

\usepackage{rotating,multirow,makecell,array}

加载包。我使用了 3 种不同的规则重量:标准、稍厚和更厚。为方便起见,我们在一个地方定义非标准规则高度,以便可以轻松修改和一致应用它们。

\newlength\xlineht
\newlength\mlineht
\setlength\xlineht{1.2pt}
\setlength\mlineht{.8pt}

为了方便和一致性,我们再次定义了几种额外的列类型。

\newcolumntype{C}{c!{\vrule width \xlineht}}
\newcolumntype{M}{c!{\vrule width \mlineht}}

makecell允许我们在单元格周围配置一些额外的间距,这是我们需要的。所以我们设置了一些内容。

\setcellgapes{3pt}

我们希望我们的标题是粗体的。

\renewcommand\theadfont{\bfseries}

序言部分就到此为止。现在,我们来看文件本身。

\begin{table}

table如果希望表格浮动,请将其放入环境中。如果这样做,您可能需要使用\caption{}and \label{},以便可以在文本中引用它。

如果您不想让桌子从放置它的位置移动,请使用环境center

  \makegapedcells

这会在单元格周围应用额外的间距。

  \begin{tabular}{!{\vrule width \xlineht}c|M*{3}{c|}C}

规范如下tabular:从左侧开始,使用宽度较粗的垂直规则;然后是居中列和标准规则;然后是我们的自定义列之一M;然后是 3 个居中列,后面跟着标准规则;最后是另一个自定义列C

    \Xhline{\xlineht}

高度规则较厚,但仍可开始。

    \multicolumn{2}{!{\vrule width \xlineht}M}{}& \multicolumn{2}{c|}{\thead{C1}} & \multicolumn{2}{C}{\thead{C2}}\\\cline{3-6}

第一个标题行,用于\multicolumn跨越 2 列的单元格和\thead标题内容,后跟部分规则。

    \multicolumn{2}{!{\vrule width \xlineht}M}{}& \thead{P1} & \thead{P2} & \thead{P1} & \thead{P2} \\\cline{3-6}

第二个标题行。

    \multicolumn{2}{!{\vrule width \xlineht}M}{}& {0.33} & {0.66} & {0.2} & {0.8} \\\Xhline{\mlineht}

第三个标题行的单元格内容未被格式化为标题,后面跟着一条更粗的线。

现在,第一个跨多行的单元格 (9) 也进行了旋转。我们在这里使用\rotatebox而不是 ,makecell因为我搞不清楚如何使用makecell自己的旋转包装器来实现这一点。

    \multirowcell{9}{\rotatebox[]{-90}{\theadfont Different alpha}} & 0.1 & \multicolumn{2}{c|}{9} & \multicolumn{2}{C}{25} \\\cline{2-6}

还有一些跨列内容和部分规则。

我们按照同样的方式继续。

    & 0.2 & \multicolumn{2}{c|}{9} & \multicolumn{2}{C}{67} \\\cline{2-6}
    & 0.3 & \multicolumn{2}{c|}{9} & \multicolumn{2}{C}{890} \\\cline{2-6}
    & 0.4 & \multicolumn{2}{c|}{9} & \multicolumn{2}{C}{34} \\\cline{2-6}
    & 0.5 & \multicolumn{2}{c|}{9} & \multicolumn{2}{C}{23} \\\cline{2-6}
    & 0.6 & \multicolumn{2}{c|}{9} & \multicolumn{2}{C}{25} \\\cline{2-6}
    & 0.7 & \multicolumn{2}{c|}{69} & \multicolumn{2}{C}{54} \\\cline{2-6}
    & 0.8 & \multicolumn{2}{c|}{9} & \multicolumn{2}{C}{21} \\\cline{2-6}
    & 0.9 & \multicolumn{2}{c|}{69} & \multicolumn{2}{C}{55} \\\hline

这是第二个跨越多列的旋转单元格。

    \multirowcell{9}{\rotatebox[]{-90}{\theadfont Different beta}} & 0.1 & \multicolumn{2}{c|}{19} & \multicolumn{2}{C}{69} \\\cline{2-6}
    & 0.2 & \multicolumn{2}{c|}{99} & \multicolumn{2}{C}{83} \\\cline{2-6}
    & 0.3 & \multicolumn{2}{c|}{99} & \multicolumn{2}{C}{35} \\\cline{2-6}
    & 0.4 & \multicolumn{2}{c|}{99} & \multicolumn{2}{C}{64} \\\cline{2-6}
    & 0.5 & \multicolumn{2}{c|}{99} & \multicolumn{2}{C}{46} \\\cline{2-6}
    & 0.6 & \multicolumn{2}{c|}{99} & \multicolumn{2}{C}{12} \\\cline{2-6}
    & 0.7 & \multicolumn{2}{c|}{99} & \multicolumn{2}{C}{16} \\\cline{2-6}
    & 0.8 & \multicolumn{2}{c|}{99} & \multicolumn{2}{C}{71} \\\cline{2-6}
    & 0.9 & \multicolumn{2}{c|}{99} & \multicolumn{2}{C}{38} \\\Xhline{\xlineht}

我们以更厚的规则作为结束。

  \end{tabular}
\end{table}

花式桌子

完整代码:

\documentclass{article}
\usepackage{rotating,multirow,makecell,array}
\newlength\xlineht
\newlength\mlineht
\setlength\xlineht{1.2pt}
\setlength\mlineht{.8pt}
\newcolumntype{C}{c!{\vrule width \xlineht}}
\newcolumntype{M}{c!{\vrule width \mlineht}}
\setcellgapes{3pt}
\renewcommand\theadfont{\bfseries}
\begin{document}
\begin{table}
  \makegapedcells
  \begin{tabular}{!{\vrule width \xlineht}c|M*{3}{c|}C}
    \Xhline{\xlineht}
    \multicolumn{2}{!{\vrule width \xlineht}M}{}& \multicolumn{2}{c|}{\thead{C1}} & \multicolumn{2}{C}{\thead{C2}}\\\cline{3-6}
    \multicolumn{2}{!{\vrule width \xlineht}M}{}& \thead{P1} & \thead{P2} & \thead{P1} & \thead{P2} \\\cline{3-6}
    \multicolumn{2}{!{\vrule width \xlineht}M}{}& {0.33} & {0.66} & {0.2} & {0.8} \\\Xhline{\mlineht}
    \multirowcell{9}{\rotatebox[]{-90}{\theadfont Different alpha}} & 0.1 & \multicolumn{2}{c|}{9} & \multicolumn{2}{C}{25} \\\cline{2-6}
    & 0.2 & \multicolumn{2}{c|}{9} & \multicolumn{2}{C}{67} \\\cline{2-6}
    & 0.3 & \multicolumn{2}{c|}{9} & \multicolumn{2}{C}{890} \\\cline{2-6}
    & 0.4 & \multicolumn{2}{c|}{9} & \multicolumn{2}{C}{34} \\\cline{2-6}
    & 0.5 & \multicolumn{2}{c|}{9} & \multicolumn{2}{C}{23} \\\cline{2-6}
    & 0.6 & \multicolumn{2}{c|}{9} & \multicolumn{2}{C}{25} \\\cline{2-6}
    & 0.7 & \multicolumn{2}{c|}{69} & \multicolumn{2}{C}{54} \\\cline{2-6}
    & 0.8 & \multicolumn{2}{c|}{9} & \multicolumn{2}{C}{21} \\\cline{2-6}
    & 0.9 & \multicolumn{2}{c|}{69} & \multicolumn{2}{C}{55} \\\hline
    \multirowcell{9}{\rotatebox[]{-90}{\theadfont Different beta}} & 0.1 & \multicolumn{2}{c|}{19} & \multicolumn{2}{C}{69} \\\cline{2-6}
    & 0.2 & \multicolumn{2}{c|}{99} & \multicolumn{2}{C}{83} \\\cline{2-6}
    & 0.3 & \multicolumn{2}{c|}{99} & \multicolumn{2}{C}{35} \\\cline{2-6}
    & 0.4 & \multicolumn{2}{c|}{99} & \multicolumn{2}{C}{64} \\\cline{2-6}
    & 0.5 & \multicolumn{2}{c|}{99} & \multicolumn{2}{C}{46} \\\cline{2-6}
    & 0.6 & \multicolumn{2}{c|}{99} & \multicolumn{2}{C}{12} \\\cline{2-6}
    & 0.7 & \multicolumn{2}{c|}{99} & \multicolumn{2}{C}{16} \\\cline{2-6}
    & 0.8 & \multicolumn{2}{c|}{99} & \multicolumn{2}{C}{71} \\\cline{2-6}
    & 0.9 & \multicolumn{2}{c|}{99} & \multicolumn{2}{C}{38} \\\Xhline{\xlineht}
  \end{tabular}
\end{table}
\end{document}

但请注意,专业品质的表格通常根本不使用垂直线,而使用水平线则要少得多。有关知情的(可能略显极端的)讨论,请参阅软件包手册booktabs

例如,我可能会使用类似这样的东西。

少即是多

按照 的标准,这有点过于严格了booktabs,但比原来的要简单和清晰得多。作为奖励,代码要简单得多!对于表格而言,少即是多,幸运的是,少排版要容易得多。

在这种情况下,我们加载booktabs而不是makecell,array使用我们自己的标题字体命令

\newcommand*\myheadfont{\bfseries}

删除垂直规则意味着说明tabular符仅*{6}{c}适用于 6 个居中列。

使用booktabs给我们

  • \toprule对于顶部的规则;
  • \bottomrule对于底部的规则;
  • \midrule中间的规则;
  • \cmidrule(){}中间的部分规则。

具体来说,我们可以向左和/或向右“修剪”部分规则,以在标题中的连续规则之间创建间隙。

差距

我们现在不使用makecell,所以我们使用\multirow跨越多列的单元格,并*指定自然宽度。

完整代码:

\documentclass{article}
\usepackage{rotating,multirow,booktabs}
\newcommand*\myheadfont{\bfseries}
\begin{document}
\begin{table}
  \begin{tabular}{*{6}{c}}
    \toprule
    && \multicolumn{2}{c}{\myheadfont C1} & \multicolumn{2}{c}{\myheadfont C2}\\\cmidrule(lr){3-4}\cmidrule(lr){5-6}
    && \myheadfont P1 & \myheadfont P2 & \myheadfont P1 & \myheadfont P2 \\
    && {0.33} & {0.66} & {0.2} & {0.8} \\
    \midrule
    \multirow{9}*{\rotatebox[]{-90}{\myheadfont Different alpha}} & 0.1 & \multicolumn{2}{c}{9} & \multicolumn{2}{c}{25} \\
    & 0.2 & \multicolumn{2}{c}{9} & \multicolumn{2}{c}{67} \\
    & 0.3 & \multicolumn{2}{c}{9} & \multicolumn{2}{c}{890} \\
    & 0.4 & \multicolumn{2}{c}{9} & \multicolumn{2}{c}{34} \\
    & 0.5 & \multicolumn{2}{c}{9} & \multicolumn{2}{c}{23} \\
    & 0.6 & \multicolumn{2}{c}{9} & \multicolumn{2}{c}{25} \\
    & 0.7 & \multicolumn{2}{c}{69} & \multicolumn{2}{c}{54} \\
    & 0.8 & \multicolumn{2}{c}{9} & \multicolumn{2}{c}{21} \\
    & 0.9 & \multicolumn{2}{c}{69} & \multicolumn{2}{c}{55} \\\midrule
    \multirow{9}*{\rotatebox[]{-90}{\myheadfont Different beta}} & 0.1 & \multicolumn{2}{c}{19} & \multicolumn{2}{c}{69} \\
    & 0.2 & \multicolumn{2}{c}{99} & \multicolumn{2}{c}{83} \\
    & 0.3 & \multicolumn{2}{c}{99} & \multicolumn{2}{c}{35} \\
    & 0.4 & \multicolumn{2}{c}{99} & \multicolumn{2}{c}{64} \\
    & 0.5 & \multicolumn{2}{c}{99} & \multicolumn{2}{c}{46} \\
    & 0.6 & \multicolumn{2}{c}{99} & \multicolumn{2}{c}{12} \\
    & 0.7 & \multicolumn{2}{c}{99} & \multicolumn{2}{c}{16} \\
    & 0.8 & \multicolumn{2}{c}{99} & \multicolumn{2}{c}{71} \\
    & 0.9 & \multicolumn{2}{c}{99} & \multicolumn{2}{c}{38} \\
    \bottomrule
  \end{tabular}
\end{table}
\end{document}

答案2

我会逐步建立这个,我建议您pdflatex在每个步骤中编译每个代码片段:

\documentclass{article}
\begin{document}
hello world
\end{document}

现在添加tabular

\documentclass{article}
\begin{document}
\begin{tabular}{cccc}
    & 0.1 & 9 & 24 \\ 
    & 0.1 & 9 & 24 \\ 
    & 0.1 & 9 & 24 \\ 
    & 0.1 & 9 & 24 \\ 
    & 0.1 & 9 & 24 \\ 
    & 0.1 & 9 & 24 \\ 
    & 0.1 & 9 & 24 \\ 
    & 0.1 & 9 & 24 \\ 
    & 0.1 & 9 & 24 \\ 
    & 0.1 & 9 & 24 \\ 
\end{tabular}
\end{document}

添加水平线和垂直线

\documentclass{article}
\begin{document}
\begin{tabular}{|c|c|c|c|}
  \hline
    & 0.1 & 9 & 24 \\ 
    & 0.1 & 9 & 24 \\ 
    & 0.1 & 9 & 24 \\ 
    & 0.1 & 9 & 24 \\ 
    & 0.1 & 9 & 24 \\ 
    \hline
    & 0.1 & 9 & 24 \\ 
    & 0.1 & 9 & 24 \\ 
    & 0.1 & 9 & 24 \\ 
    & 0.1 & 9 & 24 \\ 
    & 0.1 & 9 & 24 \\ 
    \hline
\end{tabular}
\end{document}

添加列标题

\documentclass{article}
\begin{document}
\begin{tabular}{|c@{}|@{}c@{}|@{}c@{}|@{}c@{}|}
  \hline
  & & \begin{tabular}{@{}c@{}|c@{}}
    \multicolumn{2}{c}{C1}\\ \hline
    P1 & P2 \\ \hline
    0.33 & 0.62\\
  \end{tabular}
  &
  \begin{tabular}{c@{}|c@{}}
    \multicolumn{2}{c}{C2}\\ \hline
    P1 & P2 \\ \hline
    0.33 & 0.62\\
  \end{tabular}
  \\\hline
    & 0.1 & 9 & 24 \\ 
    & 0.1 & 9 & 24 \\ 
    & 0.1 & 9 & 24 \\ 
    & 0.1 & 9 & 24 \\ 
    & 0.1 & 9 & 24 \\ 
    \hline
    & 0.1 & 9 & 24 \\ 
    & 0.1 & 9 & 24 \\ 
    & 0.1 & 9 & 24 \\ 
    & 0.1 & 9 & 24 \\ 
    & 0.1 & 9 & 24 \\ 
    \hline
\end{tabular}
\end{document}

添加multirow魔法,rotatebox来自graphicx

\documentclass{article}
\usepackage{multirow}
\usepackage{graphicx}
\begin{document}
\begin{tabular}{|c@{}@{}c@{}|@{}c@{}|@{}c@{}|}
  \hline
  & & \begin{tabular}{@{}c@{}|c@{}}
    \multicolumn{2}{c}{C1}\\ \hline
    P1 & P2 \\ \hline
    0.33 & 0.62\\
  \end{tabular}
  &
  \begin{tabular}{c@{}|c@{}}
    \multicolumn{2}{c}{C2}\\ \hline
    P1 & P2 \\ \hline
    0.33 & 0.62\\
  \end{tabular}
  \\\hline
  \multirow{6}{1cm}{\rotatebox{90}{different alpha}}  & 0.1 & 9 & 24 \\ 
    & 0.1 & 9 & 24 \\ 
    & 0.1 & 9 & 24 \\ 
    & 0.1 & 9 & 24 \\ 
    & 0.1 & 9 & 24 \\ 
    & 0.1 & 9 & 24 \\ 
    \hline
  \multirow{6}{1cm}{\rotatebox{90}{different beta}}  & 0.1 & 9 & 24 \\ 
    & 0.1 & 9 & 24 \\ 
    & 0.1 & 9 & 24 \\ 
    & 0.1 & 9 & 24 \\ 
    & 0.1 & 9 & 24 \\ 
    & 0.1 & 9 & 24 \\ 
    \hline
\end{tabular}
\end{document}

笔记:

  • @{}删除列空间
  • 你不必tabular在标题中使用,但如果没有它,你可能需要做更多的multicolumn工作
  • 我会通过使用siuntix S列,并将其与booktabs

以下是我考虑的呈现方式:

截屏

\documentclass{article}
\usepackage{multirow}
\usepackage{graphicx}
\usepackage{booktabs}
\usepackage{siunitx}
\begin{document}
\begin{tabular}{ccSS}
  \toprule
  & & {\begin{tabular}{cc}
    \multicolumn{2}{c}{C1}\\ \midrule
    P1 & P2 \\ \midrule
    0.33 & 0.62\\
  \end{tabular}}
  &
  {\begin{tabular}{cc}
    \multicolumn{2}{c}{C2}\\ \midrule
    P1 & P2 \\ \midrule
    0.33 & 0.62\\
  \end{tabular}}
  \\\midrule
  \multirow{6}{1cm}{\rotatebox{90}{different alpha}}  & 0.1 & 9 & 24 \\ 
    & 0.1 & 9 & 24 \\ 
    & 0.1 & 9 & 24 \\ 
    & 0.1 & 9 & 24 \\ 
    & 0.1 & 9 & 24 \\ 
    & 0.1 & 9 & 24 \\ 
    \midrule
  \multirow{6}{1cm}{\rotatebox{90}{different beta}}  & 0.1 & 9 & 24 \\ 
    & 0.1 & 9 & 24 \\ 
    & 0.1 & 9 & 24 \\ 
    & 0.1 & 9 & 24 \\ 
    & 0.1 & 9 & 24 \\ 
    & 0.1 & 9 & 24 \\ 
    \bottomrule
\end{tabular}
\end{document}

相关内容