在两列文档中更改行号的一侧

在两列文档中更改行号的一侧

我正在尝试输入一些报告,但在双列文档类和列表中的行号方面遇到了一点小问题。

该文件分为两栏:

\documentclass[8pt,[...],a4paper,twocolumn]{article}

列表可以放在左栏或右栏。问题是:如果我把

\lstset{numbers=left,frame=tb,[...]}

当列表在右列并且第一列的文本被覆盖时,列之间的空间不够。

有什么办法可以要求列表将行号放在“外面”吗?

答案1

\documentclass[a4paper,twocolumn]{article}
\usepackage{listings}
\lstset{numbers=left,frame=tb,numbersep=1em,xleftmargin=2em,
  basicstyle=\ttfamily\small}
\parindent=0pt

\begin{document}

\rule{\linewidth}{1pt}
\begin{lstlisting}
 \def\showDiff#1#2{}%
\end{lstlisting}

\newpage

\rule{\linewidth}{1pt}
\begin{lstlisting}
 \def\showDiff#1#2{}%
\end{lstlisting}

\end{document}

答案2

即使可能,对于代码列表,我也会发现右侧的行号不清楚且令人困惑。我建议增加文档中列之间的空间:

\setlength{\columnsep}{25pt}

编辑:修复代码采样中令人尴尬的拼写错误。

答案3

您可以尝试以下操作:

\documentclass[a4paper,twocolumn]{article}
\usepackage[switch]{lineno}

\begin{document}
\linenumbers

\end{document}

相关内容