我有一个很长的公式需要以两列格式输入。我使用的模板是 IEEEtran。这是原始样式的最小文档:
\documentclass[journal,letter]{IEEEtran}
%--------------------- for math formulas-------------------------
\usepackage{mathtools,lipsum,cuted}
\setlength\stripsep{3pt plus 1pt minus 1pt}
%\usepackage{multicol}
\usepackage{amsmath}
\usepackage{amssymb}
\usepackage{mathrsfs}
\usepackage{upgreek}
\usepackage{bm} %bold for Greek symbols
\renewcommand\eqref[1]{(\ref{#1})}
\setlength{\jot}{5pt}
\begin{document}
text-before text-before text-before text-before text-before text-before text-before text-before text-before text-before text-before text-before text-before text-before text-before text-before text-before text-before text-before text-before text-before text-before text-before text-before text-before text-before text-before text-before text-before text-before text-before text-before text-before text-before text-before text-before text-before text-before text-before text-before
\begin{IEEEeqnarray}{rCl}
\mathbf{F}(\delta_k) = \begin{bmatrix}
F(\delta_k) & & & & \\ \Gamma(\delta_k)F_L & F(\delta_k)+\Gamma(\delta_k)F_F & & & \\ & \Gamma(\delta_k)F_L & F(\delta_k)+\Gamma(\delta_k)F_F & & \\ & & \ddots & \ddots &\\ & & & \Gamma(\delta_k)F_L & F(\delta_k)+\Gamma(\delta_k)F_F \end{bmatrix} \medskip
\end{IEEEeqnarray}
text-after text-after text-after text-after text-after text-after text-after text-after text-after text-after text-after text-after text-after text-after text-after text-after text-after text-after text-after text-after text-after text-after text-after text-after text-after text-after text-after text-after text-after text-after text-after text-after text-after text-after text-after text-after text-after text-after text-after text-after text-after text-after text-after text-after text-after text-after text-after text-after
\end{document}
我们可以看到这个矩阵太宽了,无法放在一列中。所以我按照论坛上另一篇帖子的指示使用了 \cut 包。
修改后的代码如下:
\documentclass[journal,letter]{IEEEtran}
%--------------------- for math formulas-------------------------
\usepackage{mathtools,lipsum,cuted}
\setlength\stripsep{3pt plus 1pt minus 1pt}
%\usepackage{multicol}
\usepackage{amsmath}
\usepackage{amssymb}
\usepackage{mathrsfs}
\usepackage{upgreek}
\usepackage{bm} %bold for Greek symbols
\renewcommand\eqref[1]{(\ref{#1})}
\setlength{\jot}{5pt}
\begin{document}
text-before text-before text-before text-before text-before text-before text-before text-before text-before text-before text-before text-before text-before text-before text-before text-before text-before text-before text-before text-before text-before text-before text-before text-before text-before text-before text-before text-before text-before text-before text-before text-before text-before text-before text-before text-before text-before text-before text-before text-before
\begin{strip}
\begin{IEEEeqnarray}{rCl}
\mathbf{F}(\delta_k) = \begin{bmatrix}
F(\delta_k) & & & & \\ \Gamma(\delta_k)F_L & F(\delta_k)+\Gamma(\delta_k)F_F & & & \\ & \Gamma(\delta_k)F_L & F(\delta_k)+\Gamma(\delta_k)F_F & & \\ & & \ddots & \ddots &\\ & & & \Gamma(\delta_k)F_L & F(\delta_k)+\Gamma(\delta_k)F_F \end{bmatrix} \medskip
\end{IEEEeqnarray}
\end{strip}
text-after text-after text-after text-after text-after text-after text-after text-after text-after text-after text-after text-after text-after text-after text-after text-after text-after text-after text-after text-after text-after text-after text-after text-after text-after text-after text-after text-after text-after text-after text-after text-after text-after text-after text-after text-after text-after text-after text-after text-after text-after text-after text-after text-after text-after text-after text-after text-after
\end{document}
可以看出,公式前的文本将填满所有两列,然后公式才会显示。所以我的问题是,如何让公式前的文本仍然像原始格式一样只填充一列,而公式只占两列?
谢谢。
答案1
不用担心,当列中的文本长度超过一列时,会发生什么:
\documentclass[journal,letter]{IEEEtran}
%--------------------- for math formulas-------------------------
\usepackage{mathtools,lipsum}
\usepackage{amsmath}
\usepackage{amssymb}
\usepackage{mathrsfs}
\usepackage{upgreek}
\usepackage{bm} %bold for Greek symbols
\renewcommand\eqref[1]{(\ref{#1})}
\setlength{\jot}{5pt}
%--------------------- for wide math formulas --------------------
\usepackage[strict]{changepage}
\usepackage{calc}
\begin{document}
text-before text-before text-before text-before text-before text-before text-before text-before text-before text-before text-before text-before text-before text-before text-before text-before text-before text-before text-before text-before text-before text-before text-before text-before text-before text-before text-before text-before text-before text-before text-before text-before text-before text-before text-before text-before text-before text-before text-before text-before
\begin{adjustwidth}{0pt}{-\linewidth+\columnsep}
\begin{IEEEeqnarray}{rCl}
\mathbf{F}(\delta_k) =
\begin{bmatrix}
F(\delta_k) & & & & \\
\Gamma(\delta_k)F_L & F(\delta_k)+\Gamma(\delta_k)F_F & & & \\
& \Gamma(\delta_k)F_L & F(\delta_k)+\Gamma(\delta_k)F_F & & \\
& & \ddots & \ddots &\\ & & & \Gamma(\delta_k)F_L & F(\delta_k)+\Gamma(\delta_k)F_F
\end{bmatrix}\medskip
\end{IEEEeqnarray}
\end{adjustwidth}
text-after text-after text-after text-after text-after text-after text-after text-after text-after text-after text-after text-after text-after text-after text-after text-after text-after text-after text-after text-after text-after text-after text-after text-after text-after text-after text-after text-after text-after text-after text-after text-after text-after text-after text-after text-after text-after text-after text-after text-after text-after text-after text-after text-after text-after text-after text-after text-after
\end{document}