Koma-Script(scrbook):双列格式和宽方程问题

Koma-Script(scrbook):双列格式和宽方程问题

我用scrbook在书中使用类(见下文),有时我需要排版宽方程

\documentclass[%
    ,fontsize=12pt    % 
    ,a3paper         % pagesize
    ,twocolumn 
]{scrbook}
\areaset[5mm]{250mm}{350mm}
\unsettoc{toc}{twocolumn}

是否有可能在单列和双列格式之间部分切换?我尝试使用该库widetext,但担心它不是 MiKTeX 发行版的一部分。我想在文本中排版宽公式,而不仅仅是在底部或顶部。可以吗?

MNWE:(增加了宽方程;\setchaptertoc参见KOMA-Script (scrbook):单列目录和双列文档中的 minitoc

\documentclass[twocolumn]{scrbook}
\usepackage[nohints]{minitoc}
\usepackage{amsmath, amsthm, amssymb, amsfonts, amsbsy}
\usepackage{bigints}
\usepackage{mathtools}
\mtcsetrules{minitoc}{off}
\usepackage{lipsum}

\newcommand*{\setchaptertoc}{%
  \setchapterpreamble{
  \vspace{1.85\baselineskip} % workaround for removed rule
  \smash{\makebox[\linewidth]{\hrulefill}} % workaround for removed rule
  \vspace{-1.85\baselineskip} % workaround for removed rule
  \minitoc
  \vspace{-1.15\baselineskip} % workaround for removed rule
  \smash{\makebox[\linewidth]{\hrulefill}} % workaround for removed rule
  \vspace{1.15\baselineskip} % workaround for removed rule
}}
\newcommand{\dd}[1]{\hspace{2pt}d#1}

\begin{document}
\dominitoc
\tableofcontents

\setchaptertoc
\chapter{One}
\lipsum[1]
    \begin{equation}\label{fyz:fey_eq_elstat18}
      E_x(x_1, y_1, z_1) = 
        \int\limits_{\substack{\text{all}\\\text{area}}}\varrho(x_2, y_2, z_2)
        \frac{x_1-x_2}{[(x_1-x_2)^2+(y_1-y_2)^2+(z_1-z_2)^2]^{\frac{3}{2}}}\dd{x_2}\dd{y_2}\dd{z_2}
    \end{equation} 
\lipsum[1]    
\section{One, one}
\lipsum[2]
\subsection{One, one, one}
\lipsum[3]
\section{One, two}
\lipsum[4]

\setchaptertoc
\chapter{Two}
\lipsum[5]
\section{Two, one}
\lipsum[6]
\section{Two, two}
\subsection{two, two, one}
\lipsum[7]

\setchaptertoc
\chapter{Three}
\section{Three, one}
\lipsum[8]
\section{Three, two}
\lipsum[9]
\end{document}

在此处输入图片描述

答案1

您的问题可以通过“widetext.sty”解决。这个模仿 RevTeX4 中同名机制的包是由 Anjishnu Sarkar 编写的。可惜的是,原来的主页不见了。幸运的是,我们可以从 svn 站点获取副本爱因斯坦工具包,因为他们已经将其用于文档(直接链接):https://svn.einsteintoolkit.org/documents/Paper_EinsteinToolkit_2010/widetext.sty

保存此包文件并将其放入实际文档的文件夹中,或者在我看来更好的做法是:放入本地 TEXMF 目录中。由于您在评论中提到了 MiKTeX,请参阅在 MiKTeX 中创建本地 texmf 树。但是如果你以后想放弃源代码,那么不要忘记添加“widetext.sty”。

这是一个 MWE,下面是一些解释:

\documentclass[twocolumn]{scrbook}
\usepackage[nohints]{minitoc}
\usepackage{amsmath, amsthm, amssymb, amsfonts, amsbsy}
\usepackage{bigints}
\usepackage{mathtools}
\usepackage{lipsum,kantlipsum}

\usepackage{widetext}% needs packages "flushend" & "cuted" of "sttools"
                     % bundle, which perhaps must separately be installed

\newcommand{\dd}[1]{\hspace{2pt}d#1}

\begin{document}

\chapter{One}
\lipsum[1]
\begin{widetext}
  \begin{equation}\label{fyz:fey_eq_elstat18}
    E_x(x_1, y_1, z_1) = 
      \int\limits_{\substack{\text{all}\\\text{area}}}\varrho(x_2, y_2, z_2)
      \frac{x_1-x_2}{[(x_1-x_2)^2+(y_1-y_2)^2+(z_1-z_2)^2]^{\frac{3}{2}}}\dd{x_2}\dd{y_2}\dd{z_2}
  \end{equation}
\end{widetext}

\kant[1]
\end{document}

示例输出

我特意添加了kantlipsum另一个虚拟文本包,它会产生英文文本。所以你可以看到列是如何被破坏的。

不过,似乎仍然存在一些问题,尤其是脚注和浮动,来自底层包cuted。它的文档说,对于脚注,你应该使用\footnotemarkplus \footnotetext,但在测试中我没有成功——注释打印得太低了内部或顶部右栏以下方程取决于实际文本长度,参见下面的代码(我只添加了修改的部分)。输出\leavevmode\begin{widetext}并不完美,但要好得多。
另请参阅 TeX.SE使用 widetext.sty 时出现问题(不要忽视对答案的评论)。

\chapter{One}
Text\footnotemark{}
\lipsum[1]
Text\footnotemark
\addtocounter{footnote}{-1}
\footnotetext{Note \thefootnote}
\stepcounter{footnote}
\footnotetext{Note \thefootnote}

\begin{widetext}
...
\end{widetext}

Text\footnote{Note \thefootnote}
\kant[1]
Text\footnote{Note \thefootnote}

相关内容