我正在使用带有双列格式选项的 KOMA 类。不幸的是,使用宏的代码列表\lstlistoflistings
强制改回单列格式。
请看一下我的最小示例:
\documentclass[%
twocolumn=true,
parskip=no,
twoside=false
]{scrartcl}
\usepackage{hyperref}
\usepackage{ifluatex}
\ifxetex % XeTeX (LuaTeX)
\usepackage{default}
\usepackage{fontspec}
\defaultfontfeatures{Ligatures=TeX}
\else % pdfTeX
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\fi
\usepackage{listings}
\lstset{
language=Java,
inputencoding=utf8,
extendedchars=\true,
}
\title{Title}
\author{Author}
\begin{document}
\maketitle
\tableofcontents
\section{Section}
\begin{lstlisting}[float,caption={class en Java},label={lst:class}]
public class MyClass{
public MyClass(){
// creates a new instance
}
}
\end{lstlisting}
\lstlistoflistings % buggy (ne marche pas en mode de deux colonnes)
\listoffigures
\end{document}
输出
答案1
加载包scrhack
。然后\lstlistoflistings
由 KOMA-Script 包控制tocbasic
,就像默认列表一样。此外,KOMA-Script 选项的设置listof
(例如listof=flat
或listof=totoc
)也会影响。请注意,每个 KOMA-Script 类都会自动使用\lstlistoflistings
该包。tocbasic
\documentclass[%
twocolumn=true,
parskip=no,
twoside=false
]{scrartcl}
\usepackage{scrhack}% <- added
\usepackage{hyperref}
\usepackage{ifluatex}
\ifxetex % XeTeX (LuaTeX)
\usepackage{default}
\usepackage{fontspec}
\defaultfontfeatures{Ligatures=TeX}
\else % pdfTeX
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\fi
\usepackage{listings}
\lstset{
language=Java,
inputencoding=utf8,
extendedchars=\true,
}
\title{Title}
\author{Author}
\begin{document}
\maketitle
\tableofcontents
\section{Section}
\begin{lstlisting}[float,caption={class en Java},label={lst:class}]
public class MyClass{
public MyClass(){
// creates a new instance
}
}
\end{lstlisting}
\lstlistoflistings
\listoffigures
\end{document}