如何更改 easylist 中 tabularx 的对齐方式?

如何更改 easylist 中 tabularx 的对齐方式?

我可能忽略了一些非常明显的东西,但我的搜索一无所获。我想在用该easylist包制作的大纲中间放一个表格。表格位于 2 层深度的文本之后,但由于tabularx默认情况下表格居中,表格的左边缘位于文本左侧约四分之一英寸处,看起来很糟糕。我目前的设置基本上是这样的。

\usepackage{tabularx}
\usepackage{ltablex}

\begin{document}
\begin{easylist}[articletoc]
\ListProperties(Margin2=.5in,Margin3=1in,Margin4=1.5in)
# Section
    ## Subsection
\setlength{\extrarowheight}{1.5pt}
\renewcommand{\tabcolsep}{2pt}
\begin{tabularx}{\linewidth}{ | l | >{\raggedright\arraybackslash}X | }
\hline
this & that \\ \hline
\end{tabularx}
\end{easylist}
\end{document}

如果有人能告诉我如何将表格左对齐,并与页边距或页面边缘保持一定距离,我就可以采用这种方法。如果能找到一种与前一个文本的缩进级别相匹配的方法,而不是对距离进行硬编码,则可以获得加分。

答案1

easylist不会更新,\linewidth因为它使用了一种非常不同的缩进方式。您可以通过定义合适的命令来模拟它。

\documentclass{article}
\usepackage[sharp]{easylist}
\usepackage{tabularx}

\makeatletter
\newcommand\currlinewidth{\dimexpr\textwidth-\el@TotalMargin\relax}
\makeatother

\begin{document}
\hrule
\bigskip

\begin{easylist}[articletoc]
\ListProperties(Margin2=.5in,Margin3=1in,Margin4=1.5in)
# Section
    ## Subsection

\setlength{\extrarowheight}{1.5pt}
\renewcommand{\tabcolsep}{2pt}
\begin{tabularx}{\currlinewidth}{ | l | >{\raggedright\arraybackslash}X | }
\hline
this & that \\ \hline
\end{tabularx}
\end{easylist}
\end{document}

只是\hrule为了显示行宽。当然如果你想把tabularx和“Subsection”放在同一行,你必须事先测量好字。

在此处输入图片描述

相关内容