如何删除 scrartlc 中列表和文本之间的空格?

如何删除 scrartlc 中列表和文本之间的空格?

我正在尝试在 scrartlc 中的列表中写入一行代码。问题是列表和下面的文本之间的空间太大。

使用 Scrartlc 时的样子:

在此处输入图片描述

\documentclass[parskip=full]{scrartlc}更改为 后的样子如下\documentclass{article}

在此处输入图片描述

我想得到与 相同的结果,article但使用scrartlc。我该如何得到这样的结果?

这是我的代码:

\documentclass[parskip=full]{scrartcl}
\usepackage{listings}
\usepackage[dvipsnames]{xcolor}
\lstdefinestyle{customjava}{
language=Java,
keywordstyle=\bfseries\color{green!40!black},
\lstset{escapechar=@, style=customjava}
}

\begin{document}
test
\begin{lstlisting}
public int a;
\end{lstlisting}
test
\end{document}

答案1

额外的垂直空间来自选项。如果您使用带有包的parskip标准类,您将遇到类似的问题。article\parskip

如果你不想删除选项parskip=full,那么你可以使用

\usepackage{etoolbox}
\newlength\savedparskip
\BeforeBeginEnvironment{lstlisting}{\setlength\savedparskip{\parskip}}
\lstset{belowskip=\dimexpr-\savedparskip+\medskipamount\relax}

在此处输入图片描述

代码:

\documentclass[
  parskip=full
]{scrartcl}
\usepackage{listings}
\usepackage[dvipsnames]{xcolor}
\lstdefinestyle{customjava}{
language=Java,
keywordstyle=\bfseries\color{green!40!black}
}
\lstset{escapechar=@, style=customjava}

\usepackage{etoolbox}
\newlength\savedparskip
\BeforeBeginEnvironment{lstlisting}{\setlength\savedparskip{\parskip}}
\lstset{belowskip=\dimexpr-\savedparskip+\medskipamount\relax}

\begin{document}
test
\begin{lstlisting}
public int a;
\end{lstlisting}
test
\end{document}

答案2

您可以使用自定义设置定义一个或多个 lstenvironments。

\documentclass[parskip=full]{scrartcl}
\usepackage{listings}
\usepackage[dvipsnames]{xcolor}



\makeatletter
\lstnewenvironment{rmlisting}
    {\lstset{escapechar=@, language=Java,
  showspaces=false,
  showtabs=false,
  breaklines=true,
  showstringspaces=false,
  breakatwhitespace=true,
  commentstyle=\color{DarkBlue},
  keywordstyle=\color{Green},
  stringstyle=\color{Purpple}}
    }
    {
    \vspace*{-12pt}   
    }
\makeatother    

\begin{document}

test
\begin{lstlisting}
 public int a;
\end{lstlisting}
test


test
\begin{rmlisting}
 public int a; @%and here your comment etc@
\end{rmlisting}
test

\end{document}

点击这里查看其工作原理

在此处输入图片描述

相关内容