表格环境中列宽的参数化

表格环境中列宽的参数化

我想设置参数\xx来定义下面的表格。

但是,我不知道如何扩展该术语(1-\xx),因此下面的代码无法编译。非常感谢您的帮助。

\documentclass[12pt,letterpaper]{article}
\def\xx{0.3}
\begin{document}
\begin{tabular}{p{\xx\linewidth}p{(1-\xx)\linewidth}}
a&b\\
c&d
\end{tabular}
\end{document}

答案1

您可以使用xfp包的\fpeval命令。

\documentclass[12pt,letterpaper]{article}
\usepackage{xfp}
\def\xx{0.3}
\begin{document}
\begin{tabular}{p{\xx\linewidth}p{\fpeval{1-\xx}\linewidth}}
a&b\\
c&d
\end{tabular}
\end{document}

但我会选择使用 tabularx 的解决方案

\documentclass[12pt,letterpaper]{article}
\usepackage{tabularx}
\def\xx{0.3}
\begin{document}
\begin{tabularx}{\linewidth}{ p{\xx\linewidth} X }
a&b\\
c&d
\end{tabularx}
\end{document}

如果您要在整个文档中多次使用这些列(就像您在评论中提到的那样),我建议使用包定义一个列array,例如。 \newcolumntype{P}{\xx\linewidth}

相关内容