双栏文档的边缘处的段落编号?

双栏文档的边缘处的段落编号?

我一直试图让段落编号位于双栏文档的页边空白处。我根本无法marginpar在页边空白处打印任何文本。当我使用 时marginnote,我收到一条错误消息,提示TeX capacity exceeded, sorry [grouping levels=255]

我不知道出了什么问题。几天前,我marginnote至少能够打印在页边距中,尽管它打印在第二列的文本上。如果我至少能找到一种方法来marginnote打印在页边距中,我绝对可以毫无问题地调整文档的样式,使中心边距更宽,这样数字就可以放在那里。

我是否明显做错了什么事情才marginnote导致这个错误?

在我的示例代码中,我将其改为...\marginnote{\pn}...显示...\marginpar{\pn}...它不打印任何内容。它甚至不会使用编译文档marginnote。这是我现在的示例代码:

\documentclass{article}
\usepackage{lipsum}
\usepackage{color}
\usepackage{multicol}
\usepackage{marginnote}

\setlength\parindent{0cm}

\newcounter{pc}
\newcommand{\pn}{\bfseries\thepc}   
\newenvironment{pns}{
    \par
    \everypar{\noindent\stepcounter{pc}\leavevmode{\color{red}\marginpar{\pn}\hspace{1.5em}}}
    \setcounter{pc}{0}
}{}

\begin{document}
    \begin{multicols}{2}
    \begin{pns}
    \lipsum[1]

    \lipsum[2]

    \lipsum[3]

    \lipsum[4]

    \lipsum[5]

    \lipsum[6]

    \lipsum[7]

    \lipsum[8]

    \lipsum[9]

    \lipsum[10]
    \end{pns}
    \end{multicols}
\end{document}

答案1

使用\llap而不是 就\marginpar可以达到目的,甚至不需要加载marginnote

\documentclass{article}
\usepackage{lipsum}
\usepackage{color}
\usepackage{multicol}

\setlength\parindent{0cm}
\setlength\columnsep{30pt}
\newcounter{pc}
\newcommand{\pn}{\bfseries\thepc}
\newenvironment{pns}{%
  \par \setcounter{pc}{0}
    \everypar{\noindent\stepcounter{pc}\leavevmode{\color{red}\llap{\pn\hskip0.75em}}%
}}{}

\begin{document}
    \begin{multicols}{2}
    \begin{pns}
    \lipsum[1]

    \lipsum[2]

    \lipsum[3]

    \lipsum[4]
    \lipsum[5]
    \end{pns}
    \end{multicols}
\end{document} 

在此处输入图片描述

相关内容