![如何在 tabularx 环境中获取单元格宽度](https://linux22.com/image/345017/%E5%A6%82%E4%BD%95%E5%9C%A8%20tabularx%20%E7%8E%AF%E5%A2%83%E4%B8%AD%E8%8E%B7%E5%8F%96%E5%8D%95%E5%85%83%E6%A0%BC%E5%AE%BD%E5%BA%A6.png)
当我启动tabularx
这样的环境时:
\begin{tabularx}{\textwidth}{lXX}
我可以从单元格内部获取单元格的宽度吗(与 includegraphics、minipage 或类似程序一起使用)?
像这样:
\begin{tabularx}{\textwidth}{lXX}
bla &
\includegraphics[width=\cellwidth]{...} &
\begin{minipage}{\cellwidth}...\end{minipage}
\end{tabularx}
答案1
列的宽度X
保存在 中\TX@col@width
。定义用户命令,然后您可以在表中访问它。但使用 更容易\linewidth
。代码:
\documentclass{article}
\usepackage{tabularx}
\makeatletter
\newcommand\mytxcellwidth{\TX@col@width}
\makeatother
\begin{document}
\noindent
\begin{tabularx}{\textwidth}{l|X|X|}
\hline
bla & \rule{\linewidth}{1cm} & \\ \hline
bla & \rule{\mytxcellwidth}{1cm} &
\begin{minipage}{\mytxcellwidth}...\end{minipage}
\end{tabularx}
\end{document}
答案2
您通常可以使用 \linewidth (但 minipage 在这里没有多大意义):
\documentclass{article}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{tabularx,graphicx,lipsum}
\begin{document}
\noindent
\begin{tabularx}{\textwidth}{lXX}
bla &
\includegraphics[width=\linewidth]{example-image-a}
&
\begin{minipage}{\linewidth}\lipsum[1]\end{minipage}%
\end{tabularx}
\end{document}