所以我似乎无法弄清楚我的 LaTeX 文件出了什么问题。你们发现什么明显的问题了吗?
\documentclass[11pt]{article}
\newcommand{\df}[1]{\textbf{#1}}
\begin{document}
\section{Midterm 1}
\subsection{Definitions}
\begin{enumerate}
\begin{tabbing}
\item \df{Determinism} \= - \= blabhablabhabhalbha
\item \df{Parsimony} \> - \> alalalalalalala
\end{tabbing}
\end{enumerate}
\end{document}
答案1
您不能以这种方式将tabbing
环境嵌套在里面enumerate
。也许这就是你想要的——对齐后这-
:
\documentclass[11pt]{article}
\newcommand{\df}[1]{\textbf{#1}}
\begin{document}
\section{Midterm 1}
\subsection{Definitions}
\begin{enumerate}
\item \df{Determinism} - blabhablabhabhalbha
\item \leavevmode\rlap{\df{Parsimony}}\phantom{\df{Determinism}} - alalalalalalala
\end{enumerate}
\end{document}
\leavevmode
初始化\item
,同时\rlap
导致对(不存在的)内容的r
覆盖lap
(零宽度、左对齐框) 。\phantom
使用以下设置可以在一定程度上实现自动化:
\documentclass[11pt]{article}
\newcommand{\df}[1]{\textbf{#1}}
\newlength{\maxitemwidth}
\newcommand{\maxitem}[1]{\settowidth{\maxitemwidth}{#1}}
\makeatletter
\newcommand{\Item}[1]{%
\item #1%
\sbox\@tempboxa{#1}%
\ifdim\maxitemwidth>\z@\hspace*{\dimexpr\maxitemwidth-\wd\@tempboxa}\fi%
}
\begin{document}
\section{Midterm 1}
\subsection{Definitions}
\begin{enumerate}
\item \df{Determinism} - blabhablabhabhalbha
\item \df{Parsimony} - alalalalalalala
\end{enumerate}
Some text.
\maxitem{\df{Determinism}}\showthe\maxitemwidth
\begin{enumerate}
\Item{\df{Determinism}} - blabhablabhabhalbha
\Item{\df{Parsimony}} - alalalalalalala
\end{enumerate}
\end{document}
您可以使用设置最大宽度项目\maxwidth
,然后\Item{<item>}
在列表中使用enumerate
。全部后续列表的排版将考虑到这一点。还有其他方法可以做到这一点,但我猜不知道确切用法就足够了。
答案2
如果你还想在定义中换行
\documentclass[11pt]{article}
\usepackage{tabularx,lipsum}
\newcolumntype{S}{@{\stepcounter{Definition}\theDefinition.~} >{\bfseries}l @{~--~}X@{}}
\newcounter{Definition}[subsection]
\begin{document}
\section{Midterm 1}
\subsection{Definitions}
\begin{tabularx}{\linewidth}{S}
Determinism & blabhablabhabhalbha \\
Parsimony & \lipsum[4]
\end{tabularx}
\end{document}