嵌套 tabularx 环境的宽度

嵌套 tabularx 环境的宽度

我正在尝试使用 LaTeX 创建 RPG“角色表”。其中包含大量嵌套框、下划线空格等。

我从 开始\begin{tabularx{\textwidth}}{|X|X|X|},并尝试在其中嵌套tabular和环境,打算用来获取下划线。tabularx\hrulefill

问题是,我想使嵌套表格的宽度与封闭表格单元格允许的宽度一样宽,但不知道如何获得该值。0.33\textwidth这只是一个粗略的估计,并没有考虑到单元格填充等。

查看tabularx文档后,我尝试了\TX@cell@width,但出现了错误(“未定义的控制序列”)。

有没有办法获取类似\cellwidth这样的值,用于嵌套的宽度定义tabularx?或者专门用于此类工作的包?(我尝试使用 MiKTeX 包管理器寻找类似的东西,但一无所获。)

编辑:哎呀...忘记了 MWE...

\documentclass{scrbook}

\usepackage{tabularx}

\begin{document}

\begin{tabularx}{\textwidth}{|X|X|X|}
\hline
{ \begin{tabularx}{\TX@col@width}{lX}  %% <-- this does *not* work...
Name: & \hrulefill\\
Race: & \hrulefill\\
Profession: & \hrulefill\\
\end{tabularx} } &
\Large\textbf{Character Sheet} &
Empty so far\\
\hline
\end{tabularx}
\end{document}

答案1

\documentclass{scrbook}

\usepackage{tabularx}
\makeatletter
\newcommand\cellwidth{\TX@col@width}
\makeatother

\begin{document}

\begin{tabularx}{\textwidth}{|X|X|X|}
\hline
{\begin{tabularx}{\cellwidth}{lX}  %% <-- this does *not* work...
Name: & \hrulefill\\
Race: & \hrulefill\\
Profession: & \hrulefill\\
\end{tabularx}}&
\Large\textbf{Character Sheet} &
Empty so far\\
\hline
\end{tabularx}
\end{document}

您不能在和@之间使用 -commands 而不保护它们;最好事先做好保护。请注意,命令是。\makeatletter\makeatother\TX@col@width

答案2

为什么需要单元格宽度?\hrulefill已经可以了:

\begin{tabularx}{\textwidth}{|X|X|X|}
foo \rule{1cm}{0.4pt} \hrulefill &foo \hrulefill &foo \hrulefill
\end{tabularx}

然而,在这种情况下,列宽是\dimexpr \textwidth/3-6\tabcolsep

相关内容