\item
有人知道如何在枚举环境中将tabularx 表的宽度设置为其中文本的宽度吗?\textwidth
不考虑环境
答案1
行的宽度在文档中随位置不同而变化,并存储在 中\linewidth
。\textwidth
与文本块的宽度保持不变,但某些环境不使用整个宽度;最明显的是列表(如enumerate
或itemize
)。以下是一个例子,其中突出显示了文本块以显示效果:
\documentclass{article}
\usepackage[showframe]{geometry}% http://ctan.org/pkg/geometry
\usepackage{tabularx}% http://ctan.org/pkg/tabularx
\newcommand{\settable}[1]{%
\begin{tabularx}{#1}{|X|X|}
\hline
abc & def \\
\hline
\end{tabularx}}
\begin{document}
Regular indentation:
\settable{\textwidth} \par\medskip
\settable{\linewidth} \par\bigskip
No indentation
\noindent\settable{\textwidth} \par\medskip
\noindent\settable{\linewidth} \par\bigskip
Inside a list:
\begin{itemize}
\item
\settable{\textwidth} \par\medskip
\item
\settable{\linewidth}
\end{itemize}
Double nested list:
\begin{itemize}
\item
\begin{itemize}
\item
\settable{\textwidth} \par\medskip
\item
\settable{\linewidth}
\end{itemize}
\end{itemize}
\end{document}
在列表中,\linewidth
正确设置为文本块的“调整后”宽度。