我目前的情况是,似乎最好使用多个tabularx
环境来假装一个环境。但我希望它们最右侧列的内容彼此对齐。也就是说,有没有办法调整下面的代码,以便在单词“Yessir”、“Yessirino”和“Ya-huh”中自动选择宽度最大的单词(即“Yessirino”)来为三个环境中最右侧列建立一个共同的宽度tabularx
?
\documentclass{article}
\usepackage{tabularx}
\usepackage{showframe}
\begin{document}
\centering
\begin{tabularx}{\linewidth}{r >$r<$ @{} >{\raggedright${}}X<{$} l}
Yes & Yes & Yes & Yessir
\end{tabularx}
\begin{tabularx}{\linewidth}{r >$r<$ @{} >{\raggedright${}}X<{$} l}
Yes & Yes & Yes & Yessirino
\end{tabularx}
\begin{tabularx}{\linewidth}{r >$r<$ @{} >{\raggedright${}}X<{$} l}
Yes & Yes & Yes & Ya-huh
\end{tabularx}
\end{document}
(注:如果你想了解我为什么想使用多个tabularx
environments to feign a single one, see David Carlisle's answer to a previous question of mine at https://tex.stackexchange.com/a/693585/277990。然而,这可能不是我的问题的关键。)
答案1
您是否遵循以下做法:
在最后一列前添加了垂直线,以便更好地显示所有表格中最后一列的宽度相等。在实际文档中,您可以将其删除。
\documentclass{article}
\usepackage{tabularx}
\newlength\colwidth
\usepackage{showframe}
\begin{document}
\begingroup
\centering
\settowidth\colwidth{Yessirino} % <--- select the longest text in the last columns
\begin{tabularx}{\linewidth}{r >{$}r<{$} @{} >{\raggedright${}}X<{$} | p{\colwidth}}
Yes & Yes & Yes & Yessir
\end{tabularx}
\begin{tabularx}{\linewidth}{r >{$}r<{$} @{} >{\raggedright${}}X<{$} | p{\colwidth}}
Yes & Yes & Yes & Yessirino
\end{tabularx}
\begin{tabularx}{\linewidth}{r >{$}r<{$} @{} >{\raggedright${}}X<{$} | p{\colwidth}}
Yes & Yes & Yes & Ya-huh
\end{tabularx}
\endgroup
\end{document}