我尝试将表转换为长表,但没有成功。
\documentclass[a4paper,12pt]{report}
\usepackage[usenames,dvipsnames,svgnames,table]{xcolor}
\usepackage[T1]{fontenc}
\usepackage{natbib}
\usepackage[francais]{babel}
\usepackage{url} % Pour écrire des adresses cliquables.
\usepackage{lmodern} % Pour changer le pack de police.
\usepackage[top=2.5cm, bottom=2.5cm, left=2.5cm, right=2.5cm]{geometry}
\usepackage{fancyhdr}
\usepackage{supertabular} % tableaux qui tiennent sur plusieurs pages
\usepackage{array}
\usepackage{pdflscape}
\usepackage[utf8x,utf8]{inputenc}
%\usepackage[numbers]{natbib}
%\usepackage[square]{natbib}
\usepackage{soul} %alignier
\usepackage{epigraph}
\usepackage{setspace}
\usepackage{float}
%\linespread{1.15}
\onehalfspacing
\usepackage{makecell}
\usepackage{tabularx}
\usepackage{amsmath}
\usepackage{algorithm}
\usepackage{algpseudocode}
\usepackage{blindtext}
\usepackage{enumitem}
\usepackage{verbatim}
\usepackage{tikz}
\bibliographystyle{abbrvnat1}
%\bibliographystyle{apalike}
\setcitestyle{authordate,open={(},close={)}}
\begin{document}
\begin{table}[H]
\centering
\label{CU1-label}
\begin{tabularx}{\textwidth}{|X|}%{|X|}
\hline
\textbf{Cas d'utilisation: XXX} \\
\hline
\textbf{Description:}
\\ \textbf{Titre}:
\\ \textbf{But}: XXX
\\ \textbf{Acteur}: XXX.
\\\hline
\textbf{Pré-conditions}: \\\hline
\textbf{Enchaînements nominaux}:
\\ - XXX
\\ - XXX
\\ - XXX
\\ - XXX
\\ - XXX
\\ - XXX
\\ \hline \textbf{Exceptions}:
\\ XXX
\\ \hline \textbf{Post-conditions}:
\\ XXX
\\
\hline
\end{tabularx}
\caption{Cas d'utilisation: XXX}
\end{table}
\end{document}
我尝试了很多在线解决方案,但似乎都没有用,我得到的结果是:
LaTeX 错误:只能在序言中使用。您在文档正文中使用了应该在序言中使用的命令。请确保 \documentclass[…]{…} 和所有 \usepackage{…} 命令都写在 \begin{document} 之前。
我怎样才能解决这个问题?
答案1
使用包可以很容易地将此表转换为可破坏表ltablex
:
\documentclass[a4paper,12pt]{report}
\usepackage[T1]{fontenc}
\usepackage[francais]{babel}
\usepackage{lmodern} % Pour changer le pack de police.
\usepackage[utf8]{inputenc}% combination of utf8x and utf8 does not make sense
\usepackage{ltablex}
\keepXColumns % see ltablex manual
\begin{document}
\begin{tabularx}{\textwidth}{|X|}%{|X|}
\caption{Cas d'utilisation: XXX}
\label{CU1-label}
\endfirsthead
\hline
\textbf{Cas d'utilisation: XXX} \\
\hline
\textbf{Description:}
\\ \textbf{Titre}:
\\ \textbf{But}: XXX
\\ \textbf{Acteur}: XXX.
\\\hline
\textbf{Pré-conditions}: \\\hline
\textbf{Enchaînements nominaux}:
\\ - XXX
\\ - XXX
\\ - XXX
\\ - XXX
\\ - XXX
\\ - XXX
\\ \hline \textbf{Exceptions}:
\\ XXX
\\ \hline \textbf{Post-conditions}:
\\ XXX
\\
\hline
\end{tabularx}
\end{document}
你也可以使用ltxtable
。解决方案几乎相同:
\documentclass[a4paper,12pt]{report}
\usepackage[T1]{fontenc}
\usepackage[francais]{babel}
\usepackage{lmodern} % Pour changer le pack de police.
\usepackage[utf8]{inputenc}% combination of utf8x and utf8 does not make sense
\usepackage{ltxtable}
\usepackage{filecontents}
\begin{document}
\begin{filecontents}{\jobname-table.tmp}
\begin{longtable}{|X|}
\caption{Cas d'utilisation: XXX}
\label{CU1-label}
\endfirsthead
\hline
\textbf{Cas d'utilisation: XXX} \\
\hline
\textbf{Description:}
\\ \textbf{Titre}:
\\ \textbf{But}: XXX
\\ \textbf{Acteur}: XXX.
\\\hline
\textbf{Pré-conditions}: \\\hline
\textbf{Enchaînements nominaux}:
\\ - XXX
\\ - XXX
\\ - XXX
\\ - XXX
\\ - XXX
\\ - XXX
\\ \hline \textbf{Exceptions}:
\\ XXX
\\ \hline \textbf{Post-conditions}:
\\ XXX
\\
\hline
\end{longtable}
\end{filecontents}
\LTXtable{\textwidth}{\jobname-table.tmp}
\end{document}
请注意,我删除了所有不需要制作表格的包,以使示例更加简洁。
顺便说一句:这看起来不像是一张桌子。也许只使用一些盒子会是更好的解决方案。也许包装tcolorbox
也很有用。