我遇到一个问题,当我要在表格末尾插入 \hline 时,出现错误:“放错了 \noalign \hline->\noalign”
\documentclass[a4paper,11pt]{report}
\usepackage[T1]{fontenc}
\usepackage[english,francais]{babel}
\usepackage{ragged2e}
\usepackage[array,table]{xcolor}
\newcolumntype{R}[1]{>{\raggedleft\arraybackslash }m{#1}}
\newcolumntype{L}[1]{>{\raggedright\arraybackslash }m{#1}}
\newcolumntype{C}[1]{>{\centering\arraybackslash }m{#1}}
\begin{document}
\definecolor{Gray}{gray}{0.9}
\begin{table}[!h]
\begin{center}
\begin{minipage}{16cm}
\begin{tabular}{|C{7.4cm}|C{7.4cm}|}
\hline
\rowcolor{Gray}Administrateur fonctionnel du reporting & Administrateur des habilitations du reporting\\ \hline
\justify L'administrateur fonctionnel du reporting est une personne de la MOA en charge de la définition, la mise en forme et la mise à disposition des reportings de l'application. &
\justify L'administrateur des habilitations du reporting est une personne de la MOA en charge de la gestion des habilitations et droits d'accès au portail de restitution de l'application.\\ \hline
\end{tabular}
\caption{Administrateurs du reporting}
\end{minipage}
\end{center}
\end{table}
\end{document}
答案1
问题是也\justify
需要\arraybackslash
。但你最好反过来做:为单元格定义对齐方式,并为标题覆盖它。
\documentclass[a4paper,11pt]{report}
\usepackage[T1]{fontenc}
\usepackage[english,francais]{babel}
\usepackage[textwidth=16cm]{geometry}
\usepackage{ragged2e}
\usepackage[array,table]{xcolor}
\newcolumntype{R}[1]{>{\raggedleft\arraybackslash }m{#1}}
\newcolumntype{L}[1]{>{\raggedright\arraybackslash }m{#1}}
\newcolumntype{C}[1]{>{\centering\arraybackslash }m{#1}}
\definecolor{Gray}{gray}{0.9}
\begin{document}
\begin{table}[!htp]
\centering
\begin{tabular}{|m{7.4cm}|m{7.4cm}|}
\hline
\rowcolor{Gray}
\multicolumn{1}{|C{7.4cm}|}{Administrateur fonctionnel du reporting} &
\multicolumn{1}{C{7.4cm}|}{Administrateur des habilitations du reporting}\\
\hline
L'administrateur fonctionnel du reporting est une personne de la MOA en
charge de la définition, la mise en forme et la mise à disposition des
reportings de l'application. &
L'administrateur des habilitations du reporting est une personne de la MOA
en charge de la gestion des habilitations et droits d'accès au portail de
restitution de l'application.\\
\hline
\end{tabular}
\caption{Administrateurs du reporting}
\end{table}
\end{document}
答案2
就像@egreg 的回答,我建议定义表格,以便主要单元格内容自动(完全)对齐——并添加命令以将单元格标题居中。此外,我会将计算列宽的繁琐工作分配给 LaTeX(和包tabularx
)。而且,由于您使用颜色(或灰度)来定义标题块,我还会放弃所有垂直线并使用更少但间距适当的水平线。
\documentclass[a4paper,11pt]{report} % width of A4 paper: 21cm
\usepackage[margin=2.5cm]{geometry} % or: 'textwidth=16cm'
\usepackage[T1]{fontenc}
\usepackage[english,francais]{babel}
\usepackage[table]{xcolor}
\definecolor{Gray}{gray}{0.9}
\usepackage{tabularx}
%\renewcommand{\tabularxcolumn}[1]{m{#1}} % uncomment if needed
\newcolumntype{C}{>{\centering\arraybackslash}X} % centering, allow line-breaking
\newcommand\mcc[1]{\multicolumn{1}{C}{#1}} % handy shortcut macro
\usepackage{booktabs}
\begin{document}
\begin{table}[!h]
\setlength\extrarowheight{2pt}
\begin{tabularx}{\textwidth}{XX}
\rowcolor{Gray}
\mcc{Administrateur fonctionnel du reporting} &
\mcc{Administrateur des habilitations du reporting}\\
L'administrateur fonctionnel du reporting est une personne
de la MOA en charge de la définition, la mise en forme et
la mise à disposition des reportings de l'application. &
L'administrateur des habilitations du reporting est une
personne de la MOA en charge de la gestion des
habilitations et droits d'accès au portail de restitution
de l'application.\\
\bottomrule
\end{tabularx}
\caption{Administrateurs du reporting}
\end{table}
\end{document}