我正在使用array
环境创建多行括号表达式,如下所示:
\documentclass{article}
\begin{document}
\begin{equation}
\left\{ \begin{array}{lll}
C(\tau_{k,i})=0.5Q_e\ddot{q}_t^T\ddot{q}_t + 0.5R_e \theta^T \theta & when & t\neq t_v\\
\\
C(\tau_{k,i})=0.5Q_e\ddot{q}_t^T\ddot{q}_t + 0.5R_e \theta^T \theta + P_{viapoint} & when & t=t_v\\
\\
\quad\quad P_{viapoint}=10^{10}(q_{t}-q_{viapoint})^T(q_{t}-q_{viapoint})
\end{array}\right.
\label{cost2}
\end{equation}
\end{document}
结果是这样的:
但是,公式之间的垂直间距比文本中的行间距大得多,占用了太多的纸张空间。有没有办法减少垂直间距?
答案1
array
(和)环境tabular
按行设置支柱。可以使用小于 1 或 的值来减小支柱的尺寸\arraystretch
:
\documentclass{article}
\usepackage{amsmath}
\begin{document}
\begin{equation}
\left\{
\renewcommand*{\arraystretch}{.5}
\begin{array}{lll}
C(\tau_{k,i})=0.5Q_e\ddot{q}_t^T\ddot{q}_t + 0.5R_e \theta^T \theta
& \text{when} &
t\neq t_v\\
\\
C(\tau_{k,i})=0.5Q_e\ddot{q}_t^T\ddot{q}_t + 0.5R_e \theta^T \theta +
P_{\text{viapoint}} & \text{when} & t=t_v\\
\\
\quad\quad P_{\text{viapoint}}
=10^{10}(q_{t}-q_{\text{viapoint}})^T(q_{t}-q_{\text{viapoint}})
\end{array}\right.
\end{equation}
\end{document}
您还可以查看 AmSLaTeX (包amsmath
),它为对齐/不对齐方程和案例结构提供了许多环境。