我希望我的方程式和对齐环境相对于嵌套缩进居中,但它们似乎仅相对于整个页面宽度居中。以下是一些示例代码:
\documentclass[12pt]{amsart}
\usepackage{geometry, amsthm}
\geometry{letterpaper, margin=1in}
\begin{document}
\begin{enumerate}
\item First level
\begin{enumerate}
\item Second Level
\begin{enumerate}
\item Third level\\
\begin{center}
$x<y$ % Centered inside nested items
\end{center}
\begin{equation*}
x < y % Centered in whole page
\end{equation*}
\end{enumerate}
\end{enumerate}
\end{enumerate}
\end{document}
这是最终的文档:
将公式/对齐置于中心不起作用。如何让对齐和公式环境相对于嵌套缩进居中?
答案1
您可以重新定义equation
环境,以便它能够自动调整到当前环境\linewidth
(感谢@Zarko 的评论),使用etoolbox
包裹。
\documentclass[12pt]{amsart}
\usepackage{geometry, amsthm}
\geometry{letterpaper, margin=1in}
\usepackage{etoolbox}
\BeforeBeginEnvironment{equation*}{\begin{minipage}{\linewidth}}
\AfterEndEnvironment{equation*}{\end{minipage}}
\begin{document}
Not in an environment:
\begin{center}
$x<y$
\end{center}
\begin{equation*}
x < y
\end{equation*}
\begin{enumerate}
\item First level
\begin{center}
$x<y$
\end{center}
\begin{equation*}
x < y
\end{equation*}
\begin{enumerate}
\item Second Level
\begin{center}
$x<y$
\end{center}
\begin{equation*}
x < y
\end{equation*}
\begin{enumerate}
\item Third level
\begin{center}
$x<y$
\end{center}
\begin{equation*}
x < y
\end{equation*}
\end{enumerate}
\end{enumerate}
\end{enumerate}
\end{document}
答案2
显示的方程式始终考虑文本宽度,同时也\begin{center} ... \end{center}
考虑其所在环境的宽度。对于显示的方程式,您可以通过将其封闭在minipage
环境宽度中来获得类似的功能。这是通过使用\linewidth
宽度来实现的minipage
。
编辑:使用minipage
for 公式可能会导致一些意想不到的问题。请参阅编辑后的代码:
\documentclass[12pt]{amsart}
\usepackage{geometry}
\usepackage{amsmath}
\usepackage{xcolor}
\begin{document}
\begin{enumerate}
\item First level
\begin{enumerate}
\item Second Level
\begin{enumerate}
\item Third level
\begin{center}
$x<y$ % Centered inside nested items
\end{center}
\begin{minipage}{\linewidth}\color{red}
\begin{equation*}
x < y % Centered in whole page
\end{equation*}
\end{minipage}
However, writing text immediately after equation in `minipage` and reducing width of the equation can lead to some unexpected problems, specially when equations are longer and numbered. For example:
\begin{minipage}{\linewidth}\color{red}
\begin{align}
\sin(x_{\mathrm{deg}})
& = \sin(y_{\mathrm{rad}}) \\
& = \frac{\pi}{180} x - \Bigl(\frac{\pi}{180}\Bigr)^{3}
\frac{x^{3}}{3!} + \Bigl(\frac{\pi}{180}\Bigr)^{5}
\frac{x^{5}}{5!} - \Bigl(\frac{\pi}{180}\Bigr)^{7}
\frac{x^{7}}{7!} + \cdots .
\end{align}
\end{minipage}
\end{enumerate}
\end{enumerate}
\end{enumerate}
\end{document}
(红线表示文本区域边距)
笔记:
- 此解决方案仅当整个方程式(在
amsmath
或类似软件包提供的任何数学环境中)在页面上有足够的空间时才有效。这很重要,因为minipage
不能在页面之间中断,因此它会在列表中引入不必要的空白。 - 从编辑示例的图像中可以清楚地看到方程周围垂直空间的问题
- 您还需要注意,
minipage
始终从新文本行开始(就像我编辑的 MWE 那样)。