缩进数学块?

缩进数学块?

我希望我的文档中的所有数学块\begin{math}都能自动实现,就像 的情况一样\begin{itemize}

有人能给我提示一下如何做到这一点吗?谢谢 :-)

答案1

左对齐公式

正如评论中提到的,\begin{math}生成的是内联数学,即段落内的短小部分,因此缩进在这里没有意义。所以你可能的意思是“显示公式”,例如,使用\[...\]\begin{equation}...等生成的公式,是左对齐(缩进)而不是默认的居中。

如果是这种情况,那么对你的问题的简单回答就是使用类选项fleqn。意图金额由变量定义\mathindent。这已经由标准类实现,因此

\documentclass[fleqn]{article}

可以工作,但是该包还提供了一种不同的(也许更好的)实现,amsmath如果文档包含任何数量的严肃的数学内容,那么这种实现无论如何都是更可取的。

居中且缩进的公式

如果您的目的是让公式居中但左边距始终保持最小缩进,那么下面的定义\indentdisplays应该可以解决问题。

\documentclass[]{article}

\newcommand\sometext{Some text to get us a bit more than a line of material for testing. 
Some text to get us a bit more than a line of material for testing.}

\setlength\textwidth{7.6cm}

\newcommand\indentdisplays[1]{%
     \everydisplay{\setlength\displayindent{#1}%
     \addtolength\displaywidth{-\displayindent}}}

\begin{document}

\sometext
\begin{equation} a^2 + b^2 = c^2 \quad \textrm{a lot of math material here} \end{equation}

\indentdisplays{\parindent}  % <--- here we change for illustrations
\sometext
\begin{equation} a^2 + b^2 = c^2 \quad \textrm{a lot of math material here} \end{equation}

\end{document}

这给出

在此处输入图片描述

如您所见,第二个公式向右移动,这样\parindent左侧的最小值是自由的,但它仍然在剩余空间中居中。当然,通常您会在序言中使用该命令,以便它适用于文档中的所有公式。

更新:修复居中解决方案

上述解决方案存在一个问题:在列表内部, 的值\displayindent不为零,而是与当前列表缩进具有相同的值,因此将其重新定义为固定值会将公式的可用空间移向错误的方向,因此\setlength我们必须将值添加到 ,\displayident而不是\displayindent从显示宽度中减去 ,而是减去公式应额外缩进的值。因此,生成的代码将如下所示:

\documentclass[]{article}

\newcommand\sometext{Some text to get us a bit more than a line of material for testing. 
Some text to get us a bit more than a line of material for testing.}

\setlength\textwidth{7.9cm}

\newcommand\indentdisplays[1]{%
     \everydisplay{\addtolength\displayindent{#1}%
     \addtolength\displaywidth{-#1}}}

\begin{document}
\sometext
\begin{equation} a^2 + b^2 = c^2 \quad \textrm{a lot of math material here} \end{equation}

\indentdisplays{2\parindent}   % <--- a minimal indent of 2\parindent
\sometext
\begin{equation} a^2 + b^2 = c^2 \quad \textrm{a lot of math material here} \end{equation}

\begin{itemize}
\item \sometext                         % <-- inside itemize \parindent is zero
\begin{equation} a^2 + b^2 = c^2 \quad \textrm{a lot of math material here} \end{equation}
\indentdisplays{20pt}             % <--- using a fixed value works of course
\item \sometext
\begin{equation} a^2 + b^2 = c^2 \quad \textrm{a lot of math material here} \end{equation}\end{itemize}
\end{document}

如果我们通过 LaTeX 运行它,我们将得到:

在此处输入图片描述

相关内容