如何对齐所有的$\rightarrow$,使得它们全部排成一条线而不是曲折地排列?
妇女权利委员会:
\documentclass{article}
\usepackage[english]{babel}
\begin{document}
\begin{enumerate}
\item hello $\rightarrow$ world
\item sample $\rightarrow$ test
\item Mathematics $\rightarrow$ Physics
\end{enumerate}
\end{document}
答案1
您可以指定最宽的条目
\documentclass{article}
\usepackage[english]{babel}
\usepackage{tabto}
\newenvironment{tenumerate}[1]
{\settowidth{\dimen0}{#1 }% trailing space
\TabPositions{\dimen0}%
\enumerate}
{\endenumerate}
\begin{document}
\begin{tenumerate}{Mathematics}
\item hello\tab $\rightarrow$ world
\item sample\tab $\rightarrow$ test
\item Mathematics\tab $\rightarrow$ Physics
\end{tenumerate}
\end{document}
如果不指定最宽的条目,则需要两次传递环境。
.aux
这是使用文件的方法
\documentclass{article}
\usepackage[english]{babel}
\usepackage{tabto}
\newcounter{tenumerate}
\newlength{\tenumtab}
\newenvironment{tenumerate}
{\stepcounter{tenumerate}%
\ifcsname tenumerate@\romannumeral\value{tenumerate}\endcsname
\setlength{\tenumtab}{\csname tenumerate@\romannumeral\value{tenumerate}\endcsname}%
\else
\setlength{\tenumtab}{0pt}%
\fi
\edef\currenttenumtab{\the\tenumtab}%
\TabPositions{\tenumtab}%
\enumerate}
{\writetenumtab\endenumerate}
\newcommand{\titem}[1]{%
\settowidth{\dimen0}{#1 }%
\ifdim\dimen0>\tenumtab \setlength{\tenumtab}{\dimen0}\fi
\item #1\tab\ignorespaces
}
\makeatletter
\def\writetenumtab{%
\immediate\write\@auxout{%
\global\string\@namedef{tenumerate@\romannumeral\value{tenumerate}}{\the\tenumtab}%
}%
\ifdim\currenttenumtab=\tenumtab
\else
\@latex@warning{Tab position for `tenumerate' changed}%
\fi
}
\makeatother
\begin{document}
\begin{tenumerate}
\titem{hello} $\rightarrow$ world
\titem{sample} $\rightarrow$ test
\titem{Mathematics} $\rightarrow$ Physics
\end{tenumerate}
\begin{tenumerate}
\titem{A} XXX
\titem{B} YYY
\titem{CCC} ZZZ
\end{tenumerate}
\end{document}
如果标签位置发生变化,您会收到警告,因此需要再次运行 LaTeX。