当我尝试使用 \makebox 将长度超过文本宽度的几个方程式居中时,出现此错误。如果我使用$$ .. $$
,似乎不会出现此问题。为什么?
抛出的代码!缺少 \endgroup 插入...:
\documentclass{article}
\usepackage{amsmath}
\usepackage{amssymb}
\usepackage{graphicx}
\begin{document}
\makebox[\textwidth][c]{
\begin{gather*}
\text{Some long equation.}
\end{gather*}
}
\end{document}
有效的代码:
\documentclass{article}
\usepackage{amsmath}
\usepackage{amssymb}
\usepackage{graphicx}
\begin{document}
\makebox[\textwidth][c]{
$$ \text{Some long equation.} $$
}
\end{document}
答案1
您不能在水平框中显示构造。如果您需要本地更改边距,则需要类似以下环境quote
:
\documentclass{article}
\newenvironment{outdent}
{\list{}{\leftmargin-2cm
\rightmargin\leftmargin}%
\item\relax}
{\endlist}
\usepackage{amsmath}
\begin{document}
\noindent X\dotfill X
\begin{gather}
aaaaa = bbbb\\
aaaa=b+c+c+c+c+c+c+c+c+c
\end{gather}
\noindent X\dotfill X
\begin{outdent}
\noindent X\dotfill X
\begin{gather}
aaaaa = bbbb\\
aaaa=b+c+c+c+c+c+c+c+c+c
\end{gather}
\end{outdent}
\end{document}
答案2
一个简单的解决方案\mathclap
来自mathtools
。示例(我使用了showframe
选项来geometry
帮助可视化居中):
\documentclass{article}
\usepackage[showframe]{geometry}
\usepackage{mathtools}
\begin{document}
\begin{gather*}
\mathclap{E(h)-E(h+1) =(kz*r+kz)\sin \frac{Gz}{r+1}+(-r^2-2*r-1)\cos \frac{Gz}{r+1}+\Bigl(kz\sin \frac{Gz}{r}+ky*\sin \frac{Gy}{r}+kx\sin \frac{Gz}{r}+6\Bigr)*r}
\end{gather*}
\end{document}