多列环境中方程上方和下方的部分线条

多列环境中方程上方和下方的部分线条

首先,我有点惊讶地发现方程上方的距离比方程下方的距离大。但这不是我的问题,只是一条评论。

我的主要观点是,我想在左上列的底部有一条水平线,同样在右下列的顶部也有一条水平线,即在左侧等式的正上方和右侧等式的正下方。

我在《物理评论快报》上看到了这个,我想这是否可以通过 LaTeX 实现(只要付出合理的努力)。您知道如何实现它吗?

很抱歉,我无法在这台计算机上上传图表,但如果需要的话,我会稍后尝试。

\documentclass{scrartcl}
\usepackage{multicol}
\usepackage{blindtext}
\begin{document}
\begin{multicols}{2}
 \blindtext
\end{multicols}

\begin{equation}
 E = m c^2
\end{equation}

\begin{multicols}{2}
 \blindtext
\end{multicols}
\end{document}

答案1

\par前后都有自动multicol,所以空行无效果。注意:\multicolsep是在前后添加的空格multicol

\documentclass{scrartcl}
\usepackage{multicol}
\usepackage{blindtext}

\newcommand{\abovedisplayline}{\vspace{-\multicolsep}\noindent
  \rlap{\rule[.6\baselineskip]{\dimexpr 0.5\textwidth-0.5\columnsep}{.5pt}}}

\newcommand{\belowdisplayline}{\hspace{\textwidth}%
  \llap{\rule{\dimexpr 0.5\textwidth-0.5\columnsep}{.5pt}}%
  \vspace{-0.2\baselineskip}\par\vspace{-\multicolsep}}

\begin{document}
\begin{multicols}{2}
 \blindtext
\global\columnwidth=\columnwidth
\end{multicols}

\abovedisplayline
\begin{equation}
 E = m c^2
\end{equation}
\belowdisplayline

\begin{multicols}{2}
 \blindtext
\end{multicols}
\end{document}

演示


修改解决方案以匹配 tikz 版本。

\newcommand{\abovedisplayline}{\vspace{-\multicolsep}\noindent
  \rlap{\rule[.6\baselineskip]{0.5\textwidth}{.7pt}\smash{\rule[.6\baselineskip]{.7pt}{.5\baselineskip}}}}

\newcommand{\belowdisplayline}{\hspace{\textwidth}%
  \llap{\smash{\rule[\dimexpr 0.7pt-.5\baselineskip]{0.7pt}{.5\baselineskip}}%
    \rule{0.5\textwidth}{.7pt}}%
  \vspace{-0.2\baselineskip}\par\vspace{-\multicolsep}}

答案2

只是为了结束这个话题。

我根据自己的喜好修改了约翰的回答(谢谢!),最后看起来像这样:

无可否认,此时使用 tikz 有点过分,但我在其余文本中大量使用它,而且我对它的使用比使用其他方法要熟练得多。

\documentclass{scrartcl}
\usepackage{multicol}
\usepackage{blindtext}
\usepackage{tikz}

\newcommand{\abovedisplayline}{\vspace{-\multicolsep}\noindent
   \rlap{\raisebox{.6\baselineskip}{\tikz{\begin{pgfinterruptboundingbox}\draw[line width=0.7pt] (0,0) -| (0.5\textwidth,6pt);\end{pgfinterruptboundingbox}}}}}

\newcommand{\belowdisplayline}{\hspace{\textwidth}%
  \llap{\tikz{\begin{pgfinterruptboundingbox}\draw[line width=0.7pt] (-0.5\textwidth,-6pt) |- (0,0);\end{pgfinterruptboundingbox}}}%
  \vspace{-0.2\baselineskip}\par\vspace{-\multicolsep}}

\begin{document}
\begin{multicols}{2}
 \blindtext
\global\columnwidth=\columnwidth
\end{multicols}

\abovedisplayline
\begin{equation}
 E = m c^2
\end{equation}
\belowdisplayline

\begin{multicols}{2}
 \blindtext
\end{multicols}
\end{docum

相关内容