表格中的文本超出行范围

表格中的文本超出行范围

我想让文本居中,但是它总是像这样: 在此处输入图片描述

以下是代码:

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

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

\begin{document}
\centering

\begin{table}[]
\caption{Classification des canaux selon OSSTMM}
\label{tab:my-table}
\begin{tabular}{|>{\columncolor[HTML]{000000}}c|p{3cm}|p{3cm}|p{7cm}|}
\hline
\cellcolor[HTML]{000000}{\color[HTML]{FFFFFF} } &  &  & - Tester la sensibilisation du personnel à la   sécurité. \\ \cline{4-4} 
\cellcolor[HTML]{000000}{\color[HTML]{FFFFFF} } &  & \multirow{-3}{*}{Humaine} & - Mesurer l’écart par rapport à la norme de sécurité requise dans la politique de sécurité de l’entreprise, les réglementations industrielles   ou la législation régionale.\\ \cline{3-4} 
\cellcolor[HTML]{000000}{\color[HTML]{FFFFFF} } &\multirow{-3}{*}{\textbf{Sécurité physique}} & Physique & - Evaluer l’efficacité de systèmes de surveillance, des gardes et leurs emplacements dans l’installation, l’éclairage, le temps   de réaction.\\ \cline{2-4} 
\cellcolor[HTML]{000000}{\color[HTML]{FFFFFF} } &  & Télécommunications & - Tous mode de communication vocale, à titre   d’exemple les PBX, la VOIP, etc. \\ \cline{3-4} 
\cellcolor[HTML]{000000}{\color[HTML]{FFFFFF} } & \multirow{-2}{*}{\textbf{Sécurité des communications}} & Réseaux   des données & - Comprend tout système électronique et réseau de   données où l’interaction a lieu sur des lignes de réseau câblées et filaire. \\ \cline{2-4} 
\multirow{-17}{*}{\cellcolor[HTML]{000000}{\color[HTML]{FFFFFF} \textbf{OSSTMM}}} & \textbf{Sécurité   spectrale} & Communication sans fils & - Toute émission qui peut être interrompue ou   interceptée relève dans ce canal. \\ \hline
\end{tabular}
\end{table}

\end{document}

我正在尝试画这个在此处输入图片描述

答案1

您可以使用包\multirowcell中的命令makecell插入换行符。此外,还可以使用包\rotatebox中的命令旋转第一列的内容graphicx。我删除了所有\cellcolor[HTML]{000000}{\color[HTML]{FFFFFF} }命令,因为我认为它们没有必要。

\documentclass{article}

\usepackage{geometry}
\usepackage{array}
\usepackage{multirow}
\usepackage[table,xcdraw]{xcolor} 
\usepackage{makecell}
\usepackage{hhline}
\usepackage{caption}
\usepackage{graphicx}

\newcolumntype{C}[1]{>{\centering\let\newline\\\arraybackslash\hspace{0pt}}m{#1}}

\begin{document}
\centering

\begin{table}[htbp]
\renewcommand{\arraystretch}{1.5}
\caption{Classification des canaux selon OSSTMM}
\label{tab:my-table}
\begin{tabular}{|>{\columncolor[HTML]{000000}}c|C{3cm}|C{3cm}|m{7cm}|}
\hline
& \multirowcell{3}[-8ex][c]{\textbf{Sécurité}\\ \textbf{physique}} & \multirowcell{4.3}[0ex][c]{Humaine}  & - Tester la sensibilisation du personnel à la   sécurité. \\ \cline{4-4} 

& & & - Mesurer l’écart par rapport à la norme de sécurité requise dans la politique de sécurité de l’entreprise, les réglementations industrielles   ou la législation régionale.\\ \cline{3-4} 

& & Physique & - Evaluer l’efficacité de systèmes de surveillance, des gardes et leurs emplacements dans l’installation, l’éclairage, le temps   de réaction.\\ \cline{2-4} 
 
& \multirowcell{2}[-3ex][c]{\textbf{Sécurité des} \\\textbf{communications}}  & Télécommunications & - Tous mode de communication vocale, à titre   d’exemple les PBX, la VOIP, etc. \\ \cline{3-4} 

& & Réseaux   des données & - Comprend tout système électronique et réseau de   données où l’interaction a lieu sur des lignes de réseau câblées et filaire. \\ \cline{2-4} 

\multirowthead{-11.5}{\rotatebox[origin=c]{90}{\color[HTML]{FFFFFF} \textbf{OSSTMM}}} & \textbf{Sécurité spectrale} & Communication sans fils & - Toute émission qui peut être interrompue ou   interceptée relève dans ce canal. \\ \hline
\end{tabular}
\end{table}

\end{document}

输出

遗憾的是,我不知道如何去除第一列中某些查看器中显示的难看的水平线。希望有人能提供更好的解决方案。

答案2

使用。{NiceTabular}无论nicematrix使用哪种 PDF 查看器,您都不会在黑色面板中看到细白线。

\documentclass{article}
\usepackage{geometry}
\usepackage[french]{babel}
\usepackage{xcolor}
\usepackage{nicematrix}
\usepackage{caption}

\begin{document}

\begin{table}[]
\caption{Classification des canaux selon OSSTMM}
\label{tab:my-table}
\centering
\begin{NiceTabular}{ccm[c]{3.1cm}X[m]}[hvlines,cell-space-limits=3pt]
\Block[fill=black]{*-1}{\rotate\sffamily\color{white} OSSTMM}
& 
\Block{2-1}{Sécurité physique} & 
Humaine & 
--\kern1mm Tester la sensibilisation du personnel à la sécurité. \newline
--\kern1mm Mesurer l’écart par rapport à la norme de sécurité requise dans
 la politique de sécurité de l’entreprise, les réglementations industrielles 
ou la législation régionale. \\
& 
& 
Physique &
--\kern1mm Évaluer l’efficacité de systèmes de surveillance, des gardes et 
leurs emplacements dans l’installation, l’éclairage, le temps de réaction. \\
& 
\Block{2-1}{Sécurité des\\ communications} &   
Télécommunications & 
--\kern1mm Tous mode de communication vocale, à titre d’exemple les PBX, la VOIP, etc. \\
& 
& 
Réseaux des données & 
--\kern1mm Comprend tout système électronique et réseau de données où l’interaction 
a lieu sur des lignes de réseau câblées et filaire. \\
& 
\Block{}{Sécurité spectrale} & 
Communication sans fils & 
--\kern1mm Toute émission qui peut être interrompue ou interceptée relève dans ce canal. \\
\end{NiceTabular}
\end{table}

\end{document}

您需要多次编译(因为nicematrix在后台使用 PGF/Tikz 节点)。

上述代码的输出

相关内容