拆分公式

拆分公式

将过长的公式(例如以下一行)拆分为多行的最佳方法是什么:

\documentclass{scrartcl}
\usepackage{amsmath}

\begin{document}

\begin{eqnarray}
P2‘‘ &=& 
\begin{pmatrix}
(1-\cos \alpha) \times x\times x + \cos \alpha (1-\cos \alpha) \times  x\times  y -\sin \alpha \times  z  (1-\cos \alpha) \times x\times z +\sin \alpha \times  y \\
(1-\cos \alpha) \times  x\times y + \sin \alpha \times  z (1-\cos \alpha) \times y\times y + \cos \alpha  (1-\cos \alpha) \times y\times z - \sin \alpha \times  x  \\
(1-\cos \alpha) \times  x\times z - \sin \alpha \times  y (1-\cos \alpha) \times y\times z + \sin \alpha \times  x  (1-\cos \alpha) \times z\times z + \cos \alpha  
 \end{pmatrix} \\ 
&\times & 
 \begin{pmatrix}
  p2‘_X \\
  p2‘_Y \\
  p2‘_Z
 \end{pmatrix}
\end{eqnarray}

\end{document}

长公式

答案1

这是芭芭拉想法的一个变种,但没有增加复杂性。只需\hfill在合适的地方使用,以便将入口推到左边或右边。我在其中一个地方添加了一个固定空间,以提供更多空间。此外,一些垂直间距用于将每个“单元”与下一个单元分开。

\documentclass{scrartcl}
\usepackage{amsmath}

\begin{document}
\begin{equation}
P2 =
\begin{pmatrix}
  (1-\cos\alpha) \cdot x\cdot x + \cos\alpha (1-\cos\alpha) \cdot x\cdot y \hfill
\hspace{2.5pc} %%% space added to a wide half line, adjust visually
\\
  \hfill{}-\sin\alpha \cdot z (1-\cos\alpha) \cdot x\cdot z +\sin\alpha \cdot y
\\[1ex]
  (1-\cos\alpha) \cdot x\cdot y + \sin\alpha \cdot z (1-\cos\alpha) \cdot y\cdot y \hfill\\
  \hfill{}+ \cos\alpha (1-\cos\alpha) \cdot y\cdot z - \sin\alpha \cdot x
\\[1ex]
  (1-\cos\alpha) \cdot x\cdot z - \sin\alpha \cdot y (1-\cos\alpha) \cdot y\cdot z \hfill\\
  \hfill{}+ \sin\alpha \cdot x (1-\cos\alpha) \cdot z\cdot z + \cos\alpha
\end{pmatrix}
\cdot
\begin{pmatrix}
  p2_X \\[1ex]
  p2_Y \\[1ex]
  p2_Z
\end{pmatrix}
\end{equation}
\end{document}

在此处输入图片描述

答案2

我认为这是某些局部重新定义可能非常有用的问题之一。

我在下面定义了矩阵A和,并使用(假设这不会彻底改变含义 - 如果确实如此,请告诉我)p\cdot\times

截屏

我也用过aligneqnarray详见eqnarray 与 align

\documentclass{scrartcl}
\usepackage{amsmath}

\begin{document}

We have the matrix equation
\begin{align}
P2'' &= A \cdot  p
\end{align}
where
\[
A=\begin{pmatrix}
(1-\cos \alpha) \cdot x\cdot x + \cos \alpha (1-\cos \alpha) \cdot  x\cdot  y -\sin \alpha \cdot  z  (1-\cos \alpha) \cdot x\cdot z +\sin \alpha \cdot  y \\
(1-\cos \alpha) \cdot  x\cdot y + \sin \alpha \cdot  z (1-\cos \alpha) \cdot y\cdot y + \cos \alpha  (1-\cos \alpha) \cdot y\cdot z - \sin \alpha \cdot  x  \\
(1-\cos \alpha) \cdot  x\cdot z - \sin \alpha \cdot  y (1-\cos \alpha) \cdot y\cdot z + \sin \alpha \cdot  x  (1-\cos \alpha) \cdot z\cdot z + \cos \alpha  
 \end{pmatrix} 
 \]
 and
 \[
 p=\begin{pmatrix}
  p2‘_X \\
  p2‘_Y \\
  p2‘_Z
 \end{pmatrix}
 \]

\end{document}

答案3

这是一种不同的方法。

主要变化:

  • eqnarray被取代为align
  • 我已\times按照\cdotazetina 的建议进行了替换;
  • 第一行中的多条线pmatrix被装入一个minipage框中,multlined并且mathtools已被使用,交替的“中间”线被适当地推到左边或右边;
  • 必须在小页面中明确指定数学;
  • multlined似乎不想使用整个指定的宽度,minipage所以必须在右调整的行中添加一些额外的空间; pmatrix不喜欢只有一行(minipage),所以它被替换为\left( ... \right)minipage宽度通过实验进行了调整,并\vspace在顶部添加了一个小的以获得更好的外观。

示例代码的输出

\documentclass{scrartcl}
\usepackage{mathtools}

\begin{document}
\begin{align}
P2 &=
\left(
 {\begin{minipage}{.72\textwidth}
  \vspace{2pt}
  \abovedisplayskip=2pt \abovedisplayshortskip=2pt
  $\begin{multlined}
(1-\cos \alpha) \cdot x\cdot x + \cos \alpha (1-\cos \alpha)\\
 \shoveright{\kern8em
  \cdot  x\cdot  y -\sin \alpha \cdot  z  (1-\cos \alpha)
   \cdot x\cdot z +\sin \alpha \cdot  y } \\
 \shoveleft{
(1-\cos \alpha) \cdot  x\cdot y + \sin \alpha \cdot  z (1-\cos \alpha) } \\
 \shoveright{\kern8em
  \cdot y\cdot y + \cos \alpha  (1-\cos \alpha)
   \cdot y\cdot z - \sin \alpha \cdot  x } \\
 \shoveleft{
(1-\cos \alpha) \cdot  x\cdot z - \sin \alpha \cdot  y (1-\cos \alpha) } \\
  \kern8em
  \cdot y\cdot z + \sin \alpha \cdot  x  (1-\cos \alpha)
   \cdot z\cdot z + \cos \alpha 
  \end{multlined}$
 \end{minipage}}
\right) \\
&\quad\cdot
 \begin{pmatrix}
  p2_X \\
  p2_Y \\
  p2_Z
 \end{pmatrix}
\end{align}

\end{document}

答案4

  1. \begin{small}\begin{eqnarray}...\end{eqnarray}\end{small}

  2. 读这个: https://tex.stackexchange.com/questions/87142/avoid-eqnarray-lars-madsen

相关内容