Tabularx 不再起作用

Tabularx 不再起作用

我一直使用 tabularx 都没有问题,但现在它突然不再生成 \textwidth,我不明白为什么(上次我打开文档时,一切都很好)。你能告诉我问题出在哪里吗?

\documentclass[a4paper, 11pt, pointlessnumbers, xcolor=dvipsnames]{scrreprt}

\usepackage[utf8]{inputenc}
\usepackage[french]{babel}
\usepackage[T1]{fontenc}
\usepackage{latexsym}
\usepackage{tabularx}
\usepackage{ltablex}
\usepackage{amssymb}
\usepackage{booktabs}

\babeltags{ger=ngerman}

\usepackage{array, booktabs, boldline}

\begin{document}
\noindent
\def\arraystretch{1.5}
\begin{tabularx}{\textwidth}{>{\raggedright\arraybackslash}p{2.5cm}>{\raggedright\arraybackslash}X>{\raggedright\arraybackslash}X>{\raggedright\arraybackslash}X}
\hlineB{2}
\textsf{\textbf{Addition}} & Avant tout & Ensuite & Pour conclure \\
\hlineB{2}
\end{tabularx}

\end{document}

答案1

  • 您的文档示例可以编译而不会出现任何错误或警告,即它可以按预期工作

  • 您应该知道,它ltablex具有以下特点:在某些情况下,当列中的内容较短时,就像X仅在加载时在列中一样tabularx,将其宽度减小到列内容的自然宽度(在您的情况下会发生这种情况)。

  • 您的问题可以通过两种方式解决:

    • 从序言中删除ltablex包并使用一些其他结合的包 longtabletabularx例如xltabular
    • 如果由于某种原因您需要使用ltablex,则添加\keepXColumns到文档序言中:
\documentclass[a4paper, 11pt, pointlessnumbers, xcolor=dvipsnames]{scrreprt}
%---------------- Show page layout. Don't use in a real document!
\usepackage{showframe}
\renewcommand\ShowFrameLinethickness{0.15pt}
\renewcommand*\ShowFrameColor{\color{red}}
%---------------------------------------------------------------%
\usepackage[french]{babel}
\usepackage[T1]{fontenc}
\usepackage{amssymb, latexsym}
\usepackage{boldline, ltablex}
\newcolumntype{L}{ >{\raggedright\arraybackslash}X}
\keepXColumns

\babeltags{ger=ngerman}


\begin{document}
\noindent
\def\arraystretch{1.5}
\begin{tabularx}{\textwidth}{>{\raggedright\arraybackslash}p{2.5cm}
                             LLL}
\hlineB{2}
\textsf{\textbf{Addition}} & Avant tout & Ensuite & Pour conclure \\
\hlineB{2}
\end{tabularx}

\end{document}

在此处输入图片描述

(红线表示文本边框)

相关内容