You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

重定义enumerate环境遇问题:最后项左移及换行异常求助

解决enumerate环境编号格式与排版异常问题

我来帮你搞定这两个排版问题,先说说你原代码里的问题根源,再给你最规范的解决方案:

问题1:最后一项向左偏移

你用了$\left.\arabic*\right)$来设置编号格式,这里的\left.和\right)是用于数学公式中自动匹配括号高度的命令,但你只是需要一个普通的右括号,用它们反而会引入不必要的数学环境间距,导致最后一项的排版偏移。换成普通的\arabic*)就可以解决这个问题。

问题2:必须加\\才自动换行

你在\end{originalenumerate}后加了\\,这完全是多余的!LaTeX的enumerate环境本身会自动处理结束后的换行和间距,手动加\\反而会破坏排版逻辑,甚至可能导致额外的空行。

修正后的完整代码

其实用enumitem包的话,根本不需要手动重定义enumerate环境,直接用\setlist全局设置编号格式就好,既简洁又可靠:

\documentclass[a4paper, 14pt]{extarticle}
\usepackage{amsfonts, amsmath, amssymb, amsthm}
\usepackage{enumitem}
\usepackage[top = 1.5cm, right = 1.5cm, bottom = 1.5cm, left = 1.5cm]{geometry}
\usepackage{mathtools} % DeclarePairedDelimiter
\usepackage{nomencl}

% 全局设置enumerate的编号为「数字+右括号」
\setlist[enumerate]{label=\arabic*)}

\newtheorem{theorem}{Theorem}
\newtheorem*{corollary*}{Corollary}
\begin{document}
\section*{Theorems}
\begin{theorem}
Let
\begin{enumerate}
\item Condition 1,
\item Condition 2,
\item Condition 3,
\end{enumerate}
then assertion.
\end{theorem}
\begin{proof}
Proof.
\end{proof}
\end{document}

额外小技巧

如果你不想全局修改所有enumerate的格式,只想在特定环境中使用这个编号样式,直接在环境里加选项就行,比如:

\begin{enumerate}[label=\arabic*)]
\item 只在这里生效的项1
\item 只在这里生效的项2
\end{enumerate}

这样既解决了偏移问题,又不需要手动加多余的换行命令,排版完全符合LaTeX的规范逻辑~

内容的提问来源于stack exchange,提问作者32seph

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.06 18:52:27