如何在页框内进行行号编号?

如何在页框内进行行号编号?

当用于lineno行号时,以下代码

\documentclass{article}
\usepackage[columnwise]{lineno}
\usepackage{lipsum}
\usepackage{showframe}
\usepackage{multicol}
\usepackage{blindtext}
\usepackage{adjmulticol}
\setlength{\columnsep}{2em}

\begin{document}
\begin{multicols}{2}
    Text that exists outside of line numbering environment.
    
    \bigskip
    \begin{linenumbers}
        \blindtext

        \blindtext

        \blindtext
    \end{linenumbers}
\end{multicols}
\end{document}

在页框外添加行号,如下所示:

在多列环境中,编译后的代码行号超出了页框的范围

我需要显示行号之内框架,在列的左边(无switch选项)。

我试过了internallinenumbers,但是因为我使用的列的内容会占据两列,所以像这样的环境将parbox无法工作。

我也尝试过adjmulticol包来调整列的大小,但是它会移动整个列的内容,而不仅仅是带有行号的内容。

有什么可行的解决方案吗?

答案1

你需要做两件事:

  1. 调整编号文本的边距。有很多方法可以做到这一点,但最简单的方法是使用addmarginKOMA-Script 中的环境。(参见这个问题的答案以了解其他可能性。

  2. 调整\linenumbersep长度以将数字拉到您想要的位置。

这个答案使用了 KOMA-Script 类,但scrextend如果您需要不同的文档类,也可以从中获取相同的功能。

\documentclass{scrartcl}
\usepackage{lineno}
\usepackage{showframe}
\usepackage{multicol}
\usepackage{blindtext}
\setlength{\columnsep}{2em}
\setlength{\linenumbersep}{-14pt}

\begin{document}
\begin{multicols}{2}
    Text that exists outside of line numbering environment.

    \bigskip
    \begin{addmargin}[16pt]{0pt}
    \begin{linenumbers}
        \blindtext

        \blindtext

        \blindtext
    \end{linenumbers}
    \end{addmargin}
\end{multicols}
\end{document}

在此处输入图片描述

相关内容