在 Latex 中使用多列

在 Latex 中使用多列

我想使用 Latex 创建这样的表格

      ---------------------------------
      |               sets            |
      ---------------------------------
      | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 |
---------------------------------------
| I1  | * |   | * | * |   | * |   | * |
---------------------------------------

以下是我写的内容

\begin{table}
\caption{Multiprogram sets}
\label{multiprogram}
 \begin{tabular}{| c | c | c | c | c | c | c | c | c |}
  \cline{3-9}
  \multicolumn{8}{}{}    &   Sets  \\
  \hline
  \multicolumn{1}{}{}   & 1 & 2 &  3 & 4 & 5 &  6 & 7  & 8 \\
  \hline
   astar         &  & * &  & * &  &  & * &   \\
  \hline
 \end{tabular}
\end{table}

但它不起作用!输出看起来像

          -----------------------------
                                 sets |
---------------------------------------
        1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 |
---------------------------------------
| I1  | * |   | * | * |   | * |   | * |
---------------------------------------

有什么办法可以解决这个问题吗?

答案1

代码:

\documentclass{article}
\begin{document}
    \begin{table}
        \centering
        \caption{Multiprogram sets}
        \label{multiprogram}
        \begin{tabular}{c|c|c|c|c|c|c|c|c|}
            \cline{2-9}
             & \multicolumn{8}{|c|}{Sets}\\
            \cline{2-9}
             & 1 & 2 & 3 & 4 & 5 & 6 & 7 & 8\\
            \hline
            \multicolumn{1}{|c|}{astar} & & * &  & * &  &  & * &\\
            \hline
        \end{tabular}
    \end{table}
\end{document}

结果如下:

enter image description here

答案2

我建议使用https://www.tablesgenerator.com/它确实能帮你节省很多时间,而且使用起来很直观!快来试试吧!

enter image description here

答案3

使用{NiceTabular}of nicematrix,您只需使用键hvlinescorners=NWNW代表西北),所有预期的规则都将被绘制。

\documentclass{article}
\usepackage{nicematrix}
\begin{document}
\begin{table}
\centering
\caption{Multiprogram sets}
\label{multiprogram}
\begin{NiceTabular}{*{9}{c}}[hvlines,corners=NW]
      & \Block{1-8}{Sets}\\
      & 1 & 2 & 3 & 4 & 5 & 6 & 7 & 8\\
astar & & * &  & * &  &  & * &  \\
\end{NiceTabular}
\end{table}
\end{document}

Ouput of the above code

答案4

另一种解决方案是tabularray包裹:

\documentclass{article}
\usepackage{caption}
\usepackage{tabularray}
\begin{document}
    
\begin{table}
  \centering
  \caption{Multiprogram sets}
  \label{multiprogram}
  \begin{tblr}{
    hline{1,2} = {2-Z}{solid},
    hline{3,4} = {solid},
    vline{1} = {Z}{solid},
    vline{2-Z} = {solid},  % Z stands for the last
    cells = {c},
    cell{1}{2} = {c=8}{c}, % multicolumn
  }
          & Sets &   &   &   &   &   &   &   \\
          & 1    & 2 & 3 & 4 & 5 & 6 & 7 & 8 \\
    astar &      & * &   & * &   &   & * &   \\
  \end{tblr}
\end{table}

\end{document}

enter image description here

相关内容