我正在使用包编写一个两列文档multicol
。在两级列表中,我想将一些文本制表符放在列的中心。由于我经常使用此选项卡,我之前定义了以下命令
\newcommand{\ta}{\tabto{0.5\columnwidth}}
现在,我希望\columnwidth
保持整个列的宽度(就像\textwidth
应该保持主体的宽度一样)。相反,如果我嵌套了,选项卡式文本将最终位于不同的位置。
这是一个 MWE
\documentclass[a4paper,table,10pt]{article}
\usepackage{tabto}
\usepackage{multicol}
\usepackage{vmargin}
\setpapersize[landscape]{A4}
\setmarginsrb{2cm}{2cm}{2cm}{2cm}{5pt}{2pt}{5pt}{23pt}
\newcommand{\ta}{\tabto{0.5\columnwidth}}
\begin{document}
\begin{multicols*}{2}
\ta The real center
\begin{itemize}
\item First level: \ta text
\begin{itemize}
\item second level:\ta unaligned
\end{itemize}
\item Equation:\ta $a^2=b^2+c^2$
\end{itemize}
\end{multicols*}
\end{document}
在使用 的单列文档中可以观察到相同的行为\textwidth
。
我是否遗漏了什么?
答案1
感谢@Ulrike Fischer 指出我的疏忽。
要将某些文本移动到中间列,只需减去\leftmargin
当前项目的参数。
multicol
这里有一个不使用环境的简短版本
\documentclass{article}
\usepackage{tabto}
\begin{document}
\tabto{0.5\textwidth} The real center
\begin{itemize}
\item First level: \tabto{\dimexpr 0.5\textwidth - \the\leftmargini} text
\begin{itemize}
\item second level:\tabto{\dimexpr 0.5\textwidth - \the\leftmargini - \the\leftmarginii}
aligned
\end{itemize}
\item Equation:\tabto{\dimexpr 0.5\textwidth - \the\leftmargini}
$a^2=b^2+c^2$
\end{itemize}
\end{document}