铸造包中可能存在错误

铸造包中可能存在错误

(刚才在输入主题标题时,我发现可能相关但我的帖子太长了,现在不能丢弃它:-))

minipages 仅用于并排显示。我不会使用它)

我正在使用minted包来输入代码块。

基本环境是minted生成在代码上方/下方具有良好垂直空间的代码块(参见下面的示例:左侧)。

我们可以利用 来改变代码块的样式\newminted

但问题是,如果我们为块使用背景颜色,那些垂直空间就会受到影响(见下面的示例:右侧)。

在此处输入图片描述

阅读minted文档(第 8.4 节)我们找到代码(原始形式的第二行注释)

\newenvironment{minted@colorbg}[1]{
%\setlength{\fboxsep}{-\fboxrule}
\def\minted@bgcol{#1}
\noindent
\begin{lrbox}{\minted@bgbox}
\begin{minipage}{\linewidth-2\fboxsep}}
 {\end{minipage}
\end{lrbox}%
\colorbox{\minted@bgcol}{\usebox{\minted@bgbox}}}

所以我注意到框周围没有垂直空间,然后我编辑了该代码并在之前和之后插入\vspace{\abovedisplayskip}\vspace{\belowdisplayskip}如下lrbox所示。

% from texdoc minted
\makeatletter
\renewenvironment{minted@colorbg}[1]{
%\setlength{\fboxsep}{-\fboxrule}
\def\minted@bgcol{#1}
\vspace{\abovedisplayskip} %%             my code
\noindent%
\begin{lrbox}{\minted@bgbox}
\begin{minipage}{\linewidth-2\fboxsep}}
 {\end{minipage}
\end{lrbox}%
\vspace{\belowdisplayskip} %%             my code
\colorbox{\minted@bgcol}{\usebox{\minted@bgbox}}}
\makeatother

由于代码后面的空格不一样,所以结果几乎令人满意。

在此处输入图片描述

问题 1:这是解决问题的更好方法吗?

问题2:在这种情况下应该插入什么正确的空间?

问题 3:这可能是包代码中的一个错误吗?

平均能量损失

\documentclass{report}
\usepackage{lipsum}
\usepackage{minted}
\usepackage[margin=0cm,paperheight=13cm,paperwidth=21cm]{geometry}

\usepackage{tikz,eso-pic}
  \usetikzlibrary{shapes.misc}
  \AtBeginDocument{%
    \AddToShipoutPictureFG{%
      \begin{tikzpicture}[overlay,remember picture]
        \draw[red!30!white]
          (current page.south west) grid[step=5mm]
          (current page.north east);
        \draw[red!50!white]
          (current page.south west) grid[step=10mm]
          (current page.north east);
      \end{tikzpicture}
    }%
  }


\definecolor{bg}{rgb}{0.95,0.95,0.95}
\newminted{tex}{%
    bgcolor=bg,%
%    gobble=0,%
%    linenos=true,%
%    firstline=1,%
%    firstnumber=1,%
%    fontfamily=courier,%
%    fontsize=\footnotesize,%
%    numberblanklines=false,%
%    numbersep=3mm,%
%    xleftmargin=6mm,%
%    xrightmargin=5mm%
}

% from texdoc minted
\makeatletter
\renewenvironment{minted@colorbg}[1]{
%\setlength{\fboxsep}{-\fboxrule}
\def\minted@bgcol{#1}
\vspace{\abovedisplayskip}
\noindent%
\begin{lrbox}{\minted@bgbox}
\begin{minipage}{\linewidth-2\fboxsep}}
 {\end{minipage}
\end{lrbox}%
\vspace{\belowdisplayskip}%
\colorbox{\minted@bgcol}{\usebox{\minted@bgbox}}}
\makeatother

\begin{document}\pagestyle{empty}
\noindent
\begin{minipage}[t]{10cm}
\lipsum[2]%
\begin{minted}{tex}
  \begin{equation}
   \frac{3}{2}=\frac{a}{b}
  \end{equation}
\end{minted}
\lipsum[2]
\end{minipage}%
\hfill%
\begin{minipage}[t]{10cm}
\lipsum[2]%
\begin{texcode}
  \begin{equation}
   \frac{3}{2}=\frac{a}{b}
  \end{equation}
\end{texcode}
\lipsum[2]
\end{minipage}

\end{document}

相关内容