我有一组方程,例如
/begin{gather}
Eq1
// Eq2
// Eq3
// Eq4
/end{gather}
不幸的是,该组中的一些方程太长,无法在页面上显示。对于稍微有点长的方程,有没有办法只稍微减小该方程的字体大小?对于太长的方程,有没有自动拆分方程的方法(计算机决定在哪里以及如何拆分以适合页面宽度),或者这种拆分是否需要由用户定义?
谢谢你,凯文
PS 这是我的代码,其中矩阵太宽并且超出了页面的末尾:
\documentclass{article}
\begin{document}
\[
\mathbf{L} = \left[ \begin{array}{*{6}{c}}
{{L_S}}&{ - {L_{SS}}}&{ - {L_{SS}}}&{M\cos \theta }&{M\cos \left( {\theta + \frac{{2\pi }}{3}} \right)}&{M\cos \left( {\theta - \frac{{2\pi }}{3}} \right)}\\
{ - {L_{SS}}}&{{L_S}}&{ - {L_{SS}}}&{M\cos \left( {\theta - \frac{{2\pi }}{3}} \right)}&{M\cos \theta }&{M\cos \left( {\theta + \frac{{2\pi }}{3}} \right)}\\
{ - {L_{SS}}}&{ - {L_{SS}}}&{{L_S}}&{M\cos \left( {\theta + \frac{{2\pi }}{3}} \right)}&{M\cos \left( {\theta - \frac{{2\pi }}{3}} \right)}&{M\cos \theta }\\
{M\cos \theta }&{M\cos \left( {\theta - \frac{{2\pi }}{3}} \right)}&{M\cos \left( {\theta + \frac{{2\pi }}{3}} \right)}&{{L_R}}&{ - {L_{RR}}}&{ - {L_{RR}}}\\
{M\cos \left( {{\theta} + \frac{{2\pi }}{3}} \right)}&{M\cos \theta }&{M\cos \left( {\theta - \frac{{2\pi }}{3}} \right)}&{ - {L_{RR}}}&{{L_R}}&{ - {L_{RR}}}\\
{M\cos \left( {{\theta _2} - \frac{{2\pi }}{3}} \right)}&{M\cos \left( {{\theta _2} + \frac{{2\pi }}{3}} \right)}&{M\cos \theta }&{ - {L_{RR}}}&{ - {L_{RR}}}&{{L_R}}
\end{array}\right]
\]
\end{document}
答案1
您有一个很大的 6x6 矩阵。我不知道有什么全自动方法可以使其适合文本块的可用宽度,除非它需要将字体大小缩小到需要提供放大镜的程度。不过,我可以建议两种“手动”调整方法:
假设文本块相当宽并且字体大小不是太大(即没有
12pt
或者更大),减少列间空白的数量并从环境切换array
到bmatrix
环境就足以完成工作。如果文本块不是特别宽和/或您使用的字体大小大于
10pt
,则需要将矩阵分成两个子矩阵。
下面的代码展示了这两种方法的应用。截图顶部的水平线只是为了说明文本块的宽度。哦,无论你最终选择哪种方法,请去掉大量完全多余的花括号。
\documentclass{article}
\usepackage[a4paper,margin=2.5cm]{geometry}
\usepackage{amsmath}
\renewcommand\arraystretch{1.25}
\begin{document}
\hrule
\medskip\noindent
Solution 1: Reduce inter-column whitespace; needs a wide text block to succeed.
\begin{equation*}
\setlength\arraycolsep{3pt} % default value: 5pt
\mathbf{L} =
\begin{bmatrix}
L_S& -L_{SS}& -L_{SS}&M\cos \theta &M\cos \bigl(\theta+\frac{2\pi}{3} \bigr)& M\cos \bigl(\theta- \frac{2\pi}{3} \bigr)\\
- L_{SS}&L_S&- L_{SS}&M\cos \bigl(\theta- \frac{2\pi}{3} \bigr)&M\cos \theta &M\cos \bigl(\theta+ \frac{2\pi}{3} \bigr)\\
- L_{SS}&- L_{SS}&L_S&M\cos \bigl(\theta+ \frac{2\pi}{3} \bigr)&M\cos \bigl(\theta- \frac{2\pi}{3} \bigr)&M\cos \theta \\
M\cos \theta &M\cos \bigl(\theta- \frac{2\pi}{3} \bigr)&M\cos \bigl(\theta+ \frac{2\pi}{3} \bigr)&L_R& -L_{RR}&-L_{RR}\\
M\cos \bigl( \theta + \frac{2\pi}{3} \bigr)&M\cos \theta&M\cos \bigl(\theta- \frac{2\pi}{3} \bigr)&-L_{RR}&L_R&-L_{RR}\\
M\cos \bigl(\theta _2 - \frac{2\pi}{3} \bigr)&M\cos \bigl( \theta _2 + \frac{2\pi}{3} \bigr)&M\cos \theta&-L_{RR}&-L_{RR}&L_R\\
\end{bmatrix}
\end{equation*}
\bigskip\noindent
Solution 2: Break up the six-column matrix $\mathbf{L}$ into two three-column sub-matrices.
\medskip
Let $\mathbf{L}=\bigl[\, \mathbf{L}_1 \ \mathbf{L}_2 \,\bigr]$, where
\begin{align*}
\mathbf{L}_1 &=
\begin{bmatrix}
L_S& -L_{SS}& -L_{SS}\\
- L_{SS}&L_S&- L_{SS}\\
- L_{SS}&- L_{SS}&L_S\\
M\cos \theta &M\cos \bigl(\theta- \frac{2\pi}{3} \bigr)&M\cos \bigl(\theta+ \frac{2\pi}{3} \bigr)\\
M\cos \bigl( \theta + \frac{2\pi}{3} \bigr)&M\cos \theta&M\cos \bigl(\theta- \frac{2\pi}{3} \bigr)\\
M\cos \bigl(\theta _2 - \frac{2\pi}{3} \bigr)&M\cos \bigl( \theta _2 + \frac{2\pi}{3} \bigr)&M\cos \theta
\end{bmatrix}
\intertext{and}
\mathbf{L}_2 &=
\begin{bmatrix}
M\cos \theta &M\cos \bigl(\theta+\frac{2\pi}{3} \bigr)& M\cos \bigl(\theta- \frac{2\pi}{3} \bigr)\\
M\cos \bigl(\theta- \frac{2\pi}{3} \bigr)&M\cos \theta &M\cos \bigl(\theta+ \frac{2\pi}{3} \bigr)\\
M\cos \bigl(\theta+ \frac{2\pi}{3} \bigr)&M\cos \bigl(\theta- \frac{2\pi}{3} \bigr)&M\cos \theta\\
L_R& -L_{RR}&-L_{RR}\\
-L_{RR}&L_R&-L_{RR}\\
-L_{RR}&-L_{RR}&L_R
\end{bmatrix}
\end{align*}
\end{document}
附录:正如@percusse 在评论中指出的那样,6x6 矩阵大号是块对称的。(嗯,它是几乎对称;两个散落_2
的下标可能是打字错误。)您不必用打印出来的整个 6x6 矩阵让读者不知所措,而是应该让读者注意这个事实,可能类似于以下内容:
\documentclass{article}
\usepackage{mathtools}
\renewcommand\arraystretch{1.35}
\newcommand\x{\phantom{-}}
\begin{document}
Consider the block-symmetric matrix
\[
\mathbf{L}=\begin{bmatrix}
\mathbf{L}_{11} & \mathbf{L}_{12}\\
\mathbf{L}_{21}& \mathbf{L}_{22} \\
\end{bmatrix}
\]
where $\mathbf{L}_{21}=\mathbf{L}'_{12}$ and
\begin{align*}
\mathbf{L}_{11} &=
\begin{bmatrix*}[l]
\x L_S & -L_{SS}& -L_{SS}\\
- L_{SS}& \x L_S & - L_{SS}\\
- L_{SS}& -L_{SS}& \x L_S\\
\end{bmatrix*}\\
\mathbf{L}_{12} &= M
\begin{bmatrix}
\cos \theta &\cos \bigl(\theta+\frac{2\pi}{3} \bigr)& \cos \bigl(\theta-\frac{2\pi}{3}\bigr)\\
\cos \bigl(\theta-\frac{2\pi}{3} \bigr)&\cos \theta &\cos \bigl(\theta+\frac{2\pi}{3} \bigr)\\
\cos \bigl(\theta+\frac{2\pi}{3} \bigr)&\cos \bigl(\theta-\frac{2\pi}{3} \bigr)&\cos \theta\\
\end{bmatrix}\\
\mathbf{L}_{22} &=
\begin{bmatrix*}[l]
\x L_R& -L_{RR}& -L_{RR}\\
-L_{RR}& \x L_R& -L_{RR}\\
-L_{RR}&-L_{RR}& \x L_R\\
\end{bmatrix*}
\end{align*}
Observe that $\mathbf{L}_{11}$ and $\mathbf{L}_{22}$ are symmetric; hence, the full matrix $\mathbf{L}$ is symmetric as well. (Go on to elaborate what the consequences of this block-symmetry may be.)
\end{document}
答案2
对于这种情况,预期的multlined
环境来自mathools
包:
\documentclass[12pt,border=1mm,preview]{standalone}
\usepackage{mathtools}
\begin{document}
\begin{gather}
Eq1 \\
Eq2 \\
% and long equation Eq3
a=\begin{multlined}[t]
\text{first part of very long equation}\\
\text{second part of long equation}\\
\text{and on the end last part}
\end{multlined} \\
Eq4
\end{gather}
\end{document}
这可能看起来很丑,也许最好将方程式对齐=
,即:align
改用gather
。
编辑:
现在,当我对这个问题有了更清楚的认识时,根据@Mico 回答的第一部分以及接下来使用的multline
环境,看看以下解决方案是否是您想要的:
\documentclass{article}
\usepackage[a4paper,margin=2.5cm]{geometry}
\usepackage{mathtools}
\renewcommand\arraystretch{1.25}
\begin{document}
\hrule
\[
\begin{multlined}
\mathbf{L} = \left[\begin{matrix}
L_S & -L_{SS} & -L_{SS} \\
-L_{SS} & L_S & -L_{SS} \\
-L_{SS} & -L_{SS} & L_S \\
M\cos\theta
& M\cos\bigl(\theta-\frac{2\pi}{3}\bigr)
& M\cos\bigl(\theta+ \frac{2\pi}{3}\bigr) \\
M\cos\bigl(\theta+\frac{2\pi}{3}\bigr)
& M\cos\theta
& M\cos\bigl(\theta-\frac{2\pi}{3}\bigr) \\
M\cos\bigl(\theta_2-\frac{2\pi}{3}\bigr)
& M\cos\bigl(\theta_2+\frac{2\pi}{3}\bigr)
& M\cos\theta \\
\end{matrix}\right. \quad\dotsm \\
%second part of matrices ...
\dotsm\quad\left.\begin{matrix}
M \cos \theta
& M\cos\bigl(\theta+\frac{2\pi}{3}\bigr)
& M\cos\bigl(\theta-\frac{2\pi}{3}\bigr) \\
M\cos\bigl(\theta-\frac{2\pi}{3}\bigr)
& M\cos\theta
& M\cos\bigl(\theta+\frac{2\pi}{3}\bigr) \\
M\cos\bigl(\theta+\frac{2\pi}{3}\bigr)
& M\cos\bigl(\theta-\frac{2\pi}{3}\bigr)
& M\cos\theta \\
L_R & -L_{RR} & -L_{RR} \\
-L_{RR} & L_R & -L_{RR} \\
-L_{RR} & L_{RR} & -L_R \\
\end{matrix}\right]
\end{multlined}
\]
\end{document}
答案3
我可能会在这里提供一组丑陋、肮脏的解决方案,这可能会遭到更高级用户的抨击 ^_^。所以只把它们当作最后的手段。
如果太长方法太宽和太宽方法稍微太宽,那么你可以做类似的事情
\documentclass{article}%
\usepackage{graphicx}
\begin{document}%
%
\resizebox{\columnwidth}{!}{\parbox{1.125\columnwidth}{%
\begin{equation}%
1+2+3+4+5+5+6+7+8+9+9+0+4+5+2+2+4+5+6+7+8+8+5+3++2+1+3+5
\end{equation}%
}}%
%
\end{document}%
为此,您需要进行一些实验以获得正确的宽度\parbox
。当然,这也会缩放方程式编号。如果这对您来说不合适,您可以尝试
\documentclass{article}%
\usepackage{graphicx}
\begin{document}%
%
\begin{equation}%
\resizebox{0.6\columnwidth}{!}{\parbox{1.1\columnwidth}{\ensuremath{\displaystyle{%
1+2+3+4+5+5+6+7+8+9+9+0+4+5+2+2+4+5+6+7+8+8+5+3++2+1+3+5%
}}}}%
\end{equation}%
%
\end{document}%
它不会缩放方程式编号(但现在您需要找到两个可接受的宽度,分别为\resizebox
和\parbox
)。
如果**太长*意味着垂直太长align
,那么如果将环境与 一起使用,似乎可以实现自动分页\allowdisplaybreaks
,如LaTeX 方程式始终在同一页上。
此外,除了拆分方程式,您还可以将其放入\figure
环境中并让其浮动。这样,您可以将其保持在一起,并且仍然可以从文本中引用它。当然,这会带来各种其他问题,例如,它可能在引用它之前浮动,因此这可能不适用。无论如何,这里有一个例子:
\documentclass{article}%
\usepackage{lipsum}
\begin{document}%
%
\lipsum[2-5]%
%
Here is where the equation~\ref{eq} should be.
\begin{figure}%
\begin{equation}%
A=\left\{\begin{array}{ll}%
1&\textrm{if }B=5\\%
2&\textrm{if }B=2\\%
3&\textrm{if }B=3\\%
4&\textrm{if }B=4\\%
5&\textrm{if }B=1\\%
6&\textrm{if }B=6\\%
7&\textrm{if }B=7\\%
8&\textrm{if }B=334\\%
9&\textrm{if }B=77\\%
x&\textrm{if }B=64\\%
y&\textrm{if }B=34\\%
z&\textrm{if }B=45\\%
a&\textrm{if }B=456\\%
b&\textrm{if }B=774\\%
c&\textrm{if }B=44\\%
\end{array}\right.%
\label{eq}%
\end{equation}%
\end{figure}%
%
\lipsum%
%
\end{document}%
使用该包可能会达到类似的效果\afterpage
,它避免了方程式在引用之前浮动的危险,但始终将它们放在下一页:
\documentclass{article}%
\usepackage{afterpage}%
\usepackage{lipsum}%
\begin{document}%
%
\lipsum[2-5]%
%
Here is where the equation~\ref{eq} should be.
\afterpage{%
\begin{equation}%
A=\left\{\begin{array}{ll}%
1&\textrm{if }B=5\\%
2&\textrm{if }B=2\\%
3&\textrm{if }B=3\\%
4&\textrm{if }B=4\\%
5&\textrm{if }B=1\\%
6&\textrm{if }B=6\\%
7&\textrm{if }B=7\\%
8&\textrm{if }B=334\\%
9&\textrm{if }B=77\\%
x&\textrm{if }B=64\\%
y&\textrm{if }B=34\\%
z&\textrm{if }B=45\\%
a&\textrm{if }B=456\\%
b&\textrm{if }B=774\\%
c&\textrm{if }B=44\\%
\end{array}\right.%
\label{eq}%
\end{equation}%
}%
%
\lipsum%
%
\end{document}%
最后,如果您的文档是双列文档,而公式对于一列来说太宽,您也可以考虑将其放入环境中figure*
(这使您能够使用整个页面宽度)。或者,您可以使用cuted
包的strip
环境来获取整个页面宽度 - 然后您可以再次将其放入\afterpage
以将公式移动到下一页的顶部。