绘图表问题

绘图表问题

我是 Latex 新手,正在尝试绘制表格。以下是要查找的内容/ [![在此处输入图片描述][1]][1]

但是当我将文件导出为 pdf 时,我得到了这个: 在此处输入图片描述

我试图修复它,但就是找不到问题,这里是代码:

\documentclass{article}
%\usepackage[utf8]{inputenc}
\usepackage{multirow}
\usepackage{colortbl}
\usepackage[table,xcdraw]{xcolor}

\usepackage{makecell}
\usepackage{multirow}
\usepackage{hhline}
\usepackage{booktabs}
\usepackage{graphicx}

\begin{document}
\centering
\begin{table}[]
\caption{Les modules de la phase d'intervention}
\vspace{2cm}
\label{tab:my-table}
\begin{tabular}{l|p{4cm}|p{5cm}|} \cline{2-3}
{\color[HTML]{FFFFFF} \textbf{}} & \multicolumn{1}{|c|}{\cellcolor[HTML]{FFFFFF}\textbf{Modules}} & \multicolumn{1}{c|}{\textbf{Actions}} \\ \hline
\multicolumn{1}{|l|}{} & Vérification   de la quarantaine & Valide la   capacité du système à mettre en quarantaine l’accès au système en externe et   les données en interne. \\ \cline{2-3} 
\multicolumn{1}{|l|}{} & Vérification   des privilèges & Evalue la   capacité d’élévation des privilèges au sein du système. \\ \cline{2-3} 
\multicolumn{1}{|l|}{} & Validation   de survivabilité & Evalue la   résistance du système à des situations excessives ou défavorables. \\ \cline{2-3} 
\multicolumn{1}{|l|}{\multirow{-7}{*}{\textbf{Phase d’intervention}}} & Contrôle   des alertes et des journaux & Evalue les activités de l’audit. \\ \hline
\end{tabular}
\end{table}
\end{document}

谢谢,

答案1

仅使用nicematrix包即可解决所有问题。提供\Block替换多列和多行的命令,允许使用\\内部、对齐文本、为单元格着色等。

例如 \Block{4-1}创建一个 4 行 x 1 列、垂直居中的单元格,同时 \Block[ fill = gray!30]{}创建一个 1x1 单元格、彩色且居中。

此外,还有一些通用指令,例如hvlines在表格中绘制所有垂直线和水平线。只需进行更改, hvlines即可hlines获得如上图所示的表格。

最终的代码更加简单,更易于阅读和修改。

必须编译两次。

X

% !TeX TS-program = pdflatex    

\documentclass{article} 

\usepackage[T1]{fontenc}
\usepackage[french]{babel}
\usepackage[table,xcdraw]{xcolor}
\usepackage{caption}
\usepackage{nicematrix} % <<<<<<<<<<<<

\begin{document}

\begin{table}[ht]
\centering \small
\caption{Les modules de la phase d'intervention}\label{tab:my-table}
\setlength{\tabcolsep}{5pt}
\begin{NiceTabular}{ccc}[corners,hvlines, cell-space-top-limit=3pt]
    \RowStyle{\bfseries}  & Modules &  Actions \\ 
    \Block{4-1}<\bfseries>{Phase \\ d’intervention}   
    & \Block[fill=gray!10]{}{Vérification de la quarantaine}
    & \Block[l]{}{Valide la capacité du système à \\mettre en quarantaine l’accès au \\ système en externe et   les \\ données en interne.} \\ 
    
    & \Block[fill=gray!10]{}{Vérification des privilèges} 
    & \Block[l]{}{Evalue la capacité d’élévation \\ des  privilèges au sein du \\système.} \\
    
    & \Block[fill=gray!10]{}{Validation de survivabilité}
    & \Block[l]{}{Evalue la résistance du système \\ à des situations excessives \\ ou défavorables.} \\ 
    
    & \Block[fill=gray!10]{}{Contrôle des alertes et des \\ journaux} 
    & \Block[l]{}{Evalue les activités  de l’audit.} \\ 
\end{NiceTabular}
\end{table}

\end{document}

使用hlines而不是hvlines

是

答案2

tabularray

\documentclass{article}
\usepackage[T1]{fontenc}
\usepackage[french]{babel}
\usepackage[xcdraw]{xcolor} % <---
\usepackage{caption}
\usepackage{tabularray}     % <---

\begin{document}
    \begin{table}[ht]
    \centering \small
\caption{Les modules de la phase d'intervention}
\label{tab:my-table}
    \begin{tblr}{hline{1}={2-Z}{solid}, hline{2-Z}={solid}, 
                 vline{1}={2-Z}{solid}, vline{2-Z}={solid},
                 colspec={X[1,c] X[2,c,m] X[2,l,m]},
                 column{1} = {font=\bfseries},
                 column{2} = {bg=gray!30},
                 row{1} = {font=\bfseries, bg={}}
                 }
    & Modules   &  Actions      \\
\SetCell[r=4]{c}    Phase d’intervention
    & Vérification de la quarantaine
        & Valide la capacité du système à mettre en quarantaine l’accès au système en externe et les données en interne.     \\
    & Vérification des privilèges
        & Evalue la capacité d’élévation des  privilèges au sein du système.            \\

    & Validation de survivabilité
        & Evalue la résistance du système à des situations excessives ou défavorables.  \\

    & Contrôle des alertes et des journaux
        &  Evalue les activités  de l’audit.                                            \\
    \end{tblr}
    \end{table}
\end{document}

在此处输入图片描述

编辑:
今天,我将以如下方式在 MWE 上进行写作:

\documentclass{article}
\usepackage[T1]{fontenc}
\usepackage[french]{babel}
\usepackage{caption}
\usepackage{xcolor}     % <---
\usepackage{tabularray} % <---

\begin{document}
    \begin{table}[ht]
    \centering 
    \small
\caption{Les modules de la phase d'intervention}
\label{tab:my-table}
\begin{tblr}{hline{1}={2-Z}{}, hline{2-Z},
             vline{1}={2-Z}{}, vline{2-Z},
             colspec = {X[1.1,c, font=\bfseries] X[2,l,m,bg=gray9] X[2,l,m]},
             cell{2}{1} = {r=4}{},
             row{1}  = {c, font=\bfseries, bg={}}   % <--- not colored
             }
    & Modules   
        &  Actions      \\
Phase d’intervention
    & Vérification de la quarantaine
        & Valide la capacité du système à mettre en quarantaine l’accès au système en externe et les données en interne.     \\
    & Vérification des privilèges
        & Evalue la capacité d’élévation des  privilèges au sein du système.            \\
    & Validation de survivabilité
        & Evalue la résistance du système à des situations excessives ou défavorables.  \\
    & Contrôle des alertes et des journaux
        &  Evalue les activités  de l’audit.                                            \\
\end{tblr}
    \end{table}
\end{document}

结果与之前相同。 两个 MWE 之间的主要区别是:

  • 表格的规范与表格内容严格分离
  • 表格的规范更加一致和简洁(更短)
  • 在 MWE 测试中使用tabularray2023A 版软件包

答案3

正如@jsbibra 在评论中指出的那样,彩色单元格和列会产生各种干扰问题,尤其是对于\cline类型水平规则。

我建议你不要直接对抗,而是利用这个机会简化和精简表格的整体“外观”,例如去掉所有垂直和大部分水平规则。我还会处理一些明显的问题,例如表格太宽而无法放入文本块。为了解决这个特定问题,我会使用一个tabularx环境,并将第一列的宽度确定为残差。

在此处输入图片描述

\documentclass{article}
\usepackage[T1]{fontenc}
\usepackage[french]{babel}
\usepackage{multirow}

\usepackage[table,x11names]{xcolor}
\usepackage{tabularx,ragged2e}
\newcolumntype{L}{>{\RaggedRight}X}
\newcolumntype{M}[1]{>{\RaggedRight}m{#1}}

\begin{document}

\begin{table}
\setlength{\extrarowheight}{3pt} % for a more open 'look'
\caption{Les modules de la phase d'intervention}
\label{tab:my-table}
\vspace{2mm} % why '2cm'?

\begin{tabularx}{\textwidth}{@{}
      L 
      >{\columncolor{Snow2}}M{4cm}
      M{5.25cm} @{}} 
& \multicolumn{1}{c}{\cellcolor{Snow2}\textbf{Modules}} 
& \multicolumn{1}{c}{\textbf{Actions}} \\ 
\hline
\multirow{7.5}{=}{\textbf{Phase d'intervention}}
& Vérification de la quarantaine 
& Valide la capacité du système à mettre en quarantaine l'accès au système en externe et les données en interne. \\ 
& Vérification des privilèges 
& Evalue la capacité d'élévation des privilèges au sein du système. \\ 
& Validation de survivabilité 
& Evalue la résistance du système à des situations excessives ou défavorables. \\   
& Contrôle des alertes et des journaux 
& Evalue les activités de l'audit. \\ 
\hline
\end{tabularx}

\end{table}
\end{document}

答案4

含基本套餐。请注意,现在无需加载 utf8 输入编码,因为它是 latex 默认期望的编码。此外,使用xcolor选项[table]加载 `colortbl,因此您不必加载它。要垂直居中多行,请记住您可以使用带有小数部分的多个“行”。

\documentclass{article}
\usepackage{geometry}
\usepackage[table, svgnames, xcdraw]{xcolor}
\usepackage{makecell}
\usepackage{multirow}
\usepackage{hhline}
\usepackage{booktabs, caption}
\usepackage{graphicx}

\begin{document}

\begin{table}[]
\centering
\setlength{\extrarowheight}{2pt}
\caption{Les modules de la phase d'intervention}
\label{tab:my-table}
\begin{tabular}{|l|>{\columncolor{Gainsboro!60}}p{4cm}|p{5cm}|}
\hhline{~|--|}
\rowcolor{white}\multicolumn{1}{c|}{} & \textbf{Modules} & \textbf{Actions} \\ \hline
 & Vérification de la quarantaine & Valide la capacité du système à mettre en quarantaine l’accès au système en externe et les données en interne. \\
\hhline{~|--|}
 & Vérification des privilèges & Évalue la capacité d’élévation des privilèges au sein du système. \\
\hhline{~|--|}
& Validation de survivabilité & Évalue la résistance du système à des situations excessives ou défavorables. \\ \hhline{~|--|}
\multirow{-8.4}{*}{\textbf{Phase d’intervention}} & Contrôle des alertes et des journaux & Évalue les activités de l’audit. \\
\hline
\end{tabular}
\end{table}

\end{document} 

与您的问题无关:重音字母以大写形式使用时仍保持重音。 在此处输入图片描述

相关内容