使用 widetext.sty 时出现问题

使用 widetext.sty 时出现问题

我需要为日记准备一份文件,我正在课堂twocolumn上使用这个选项article。现在我有一个糟糕的方程式,它利用了环境cases,所以很难将它拆分成一列。我不想使用环境,figure*因为我无法控制方程式的放置位置。

我想要做的是使用widetext包并确保这个方程看起来与使用时的样子类似revtex4。但是,在编译我的文档时,我收到一个错误,即“不正确\prevdepth”。有人知道我在这里该做什么吗?

最小工作示例(使用实际公式)

\documentclass[twocolumn]{article}
\usepackage{widetext}
\usepackage{flushend}
\usepackage{cuted}

\begin{document}

a lot of text ...


Here
\begin{widetext}
\begin{eqnarray} \label{e27}
T_{nn''}^{mm''}=({-}1)^{p-p''}\,\dil_0^{\infty}\,J_{m-m''}(au)\,J_{n''}(bu)\,J_{n+1}(u)\,du~=
\begin{cases}
& \dfrac{(q{+}p'')!\,(p{-}p'')!}{(q{-}q'')!\,(p{+}q'')!}\,a^{m-m''}b^{n''}\,P_{p-p''}^{(m-m'',n'')}(1{-}2A^2)P_{p-p''}^{(m-m'',n'')}(2B^2{-}1)~~~ \\ & \text{when}~~~n-n''\geq m-m''\geq0~,\\
\\
& \dfrac{(p{+}q'')!\,(q{-}q'')!}{(p{-}p'')!\,(q{+}p'')!}\,a^{m''-m}b^{n''}\,P_{q-q''}^{(m''-m,n'')}(1{-}2A^2)\,P_{q-q''}^{(m''-m,n'')}(2B^2{-}1)~~~ \\ & \text{when}~~~ n-n''\geq m''-m\geq0~, \\
\\
&0 ~~~ \text{otherwise}.
\end{cases}
\end{eqnarray}
\end{widetext}

a lot more text....
\end{document}

任何帮助将不胜感激!

答案1

这有效:

\documentclass[twocolumn]{article}
\usepackage{amsmath}
\usepackage{widetext}
\usepackage{flushend}
\usepackage{cuted}

\begin{document}

a lot of text ...

Here
\begin{widetext}
\begin{equation} \label{e27}
\begin{aligned}
&T_{nn''}^{mm''}=({-}1)^{p-p''}\,d_0^{\infty}\,J_{m-m''}(au)\,J_{n''}(bu)\,J_{n+1}(u)\,du = \\
&\qquad\begin{cases}
& \dfrac{(q{+}p'')!\,(p{-}p'')!}{(q{-}q'')!\,(p{+}q'')!}\,a^{m-m''}b^{n''}\,P_{p-p''}^{(m-m'',n'')}
(1{-}2A^2)P_{p-p''}^{(m-m'',n'')}(2B^2{-}1) \\ 
& \text{when}~~~n-n''\geq m-m''\geq0~,\\
\\
& \dfrac{(p{+}q'')!\,(q{-}q'')!}{(p{-}p'')!\,(q{+}p'')!}\,a^{m''-m}b^{n''}\,P_{q-q''}^{(m''-m,n'')}
(1{-}2A^2)\,P_{q-q''}^{(m''-m,n'')}(2B^2{-}1)~~~ \\ 
& \text{when}~~~ n-n''\geq m''-m\geq0~, \\
\\
&0\text{ otherwise}.
\end{cases}
\end{aligned}
\end{equation}
\end{widetext}

a lot more text....
\end{document}

在此处输入图片描述

使用的版本widetext.sty已从以下位置下载

https://svn.einsteintoolkit.org/documents/Paper_EinsteinToolkit_2010/widetext.sty

答案2

我正在重写我的答案,因为我之前的答案实际上是错的。如果浪费了任何人的时间,我深表歉意。

我还收到了与 相关的错误消息\prevdepth。该问题似乎出现在strip中使用的环境中widetext

错误消息指出\prevdepth无法在水平模式下工作。正如 Chris White 指出的那样,添加换行符可以解决这个问题,因为(我猜)它会让 TeX 处于垂直模式。

为了使其正常工作,我修改了widetext.sty,在环境之前开始一个新段落strip,并更正了垂直空间以避免第二列出现空行,如下所示:

...
\if@twocolumn
    \newenvironment{widetext}
    {%
        \par \vspace{-\baselineskip} % <-- this line added
        \begin{strip}

       ...

        \end{strip}
    \par \vspace{-\baselineskip}\noindent % <-- this line added
    \hspace*{-\parindent} % <-- this line added
    }
 ...

我必须在末尾添加这两行,以防止在之后的第一段出现额外的缩进widetext,我不知道这背后的原因。

看看它是否适合你。

相关内容