我总是遇到相同的错误,找不到解决方案。我想创建一个文本宽度的表格。第一列和第二列应居中,第三列用于文本,直到行末。我怎样才能实现这一点而不出现错误?
\documentclass{scrartcl}
\usepackage{tabularx}
\usepackage{booktabs}
\usepackage{ragged2e}
\usepackage{siunitx}
\usepackage{showframe}
\begin{document}
\begin{tabularx}{\textwidth}{@{}cc>{\RaggedRight\arraybackslash}X}
\toprule
\footnotesize\textbf{Symbol} & \footnotesize\textbf{Einheit} &
\footnotesize\textbf{Definition}\\
\midrule
$A$ & \si{\metre\squared} & Fläche\\
$F$ & \si{N} & Kraft\\
$D$ & \si{1} & Divergenz\\
\bottomrule
\end{tabularx}
\end{document}
答案1
我想您已经注意到,表格和框架之间的左侧空间与溢出部分的长度相同。
因此,有两种方法可以避免这种情况。第一种方法是使用table
环境。代码如下所示:
\documentclass{scrartcl}
\usepackage{tabularx}
\usepackage{booktabs}
\usepackage{siunitx}
\usepackage{showframe}
\begin{document}
\begin{table}
\begin{tabularx}{\linewidth}{ccX}
\toprule
\footnotesize\textbf{Symbol} & \footnotesize\textbf{Einheit} &
\footnotesize\textbf{Definition}\\
\midrule
$A$ & \si{\metre\squared} & Fläche\\
$F$ & \si{N} & Kraft\\
$D$ & \si{1} & Divergenz\\
\bottomrule
\end{tabularx}
\end{table}
\end{document}
第二个是使用环境flushleft
:
\documentclass{scrartcl}
\usepackage{tabularx}
\usepackage{booktabs}
\usepackage{siunitx}
\usepackage{showframe}
\begin{document}
\begin{flushleft}
\begin{tabularx}{\linewidth}{ccX}
\toprule
\footnotesize\textbf{Symbol} & \footnotesize\textbf{Einheit} &
\footnotesize\textbf{Definition}\\
\midrule
$A$ & \si{\metre\squared} & Fläche\\
$F$ & \si{N} & Kraft\\
$D$ & \si{1} & Divergenz\\
\bottomrule
\end{tabularx}
\end{flushleft}
\end{document}