(刚才在输入主题标题时,我发现可能相关但我的帖子太长了,现在不能丢弃它:-))
(minipage
s 仅用于并排显示。我不会使用它)
我正在使用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}