这是一个后续问题 自动段落编号(\everypar 仅适用于段落,不适用于 \section 等)。
我想\everypar
在每个部分(或章节)中进行更改。我一使用命令就\everypar
收到\section
错误。当我使用命令时,它就可以正常工作。
版本 1(不工作)
\documentclass{article}
\usepackage{blindtext}
\usepackage{marginnote}
\usepackage{parskip}
% Version 1
% ----------------------------
% everypar in section
\let\OriginalSection\section%
\renewcommand{\section}{%
\OriginalSection%
\everypar={\marginpar[Testtext 1]{}}
}
%% Version 2
%% ----------------------------
%% everypar in command
%\def\NumPar{%
% \everypar={\marginpar[]{Testtext 2}}%
%}
\begin{document}
\section{First section}
%\NumPar
\blindtext
\blindtext
\section{Second section}
%\NumPar
\blindtext
\blindtext
\end{document}
我得到了错误
! Missing { inserted.
<to be read again>
\@@par
l.25 \section
{First section}
A left brace was mandatory here, so I've put one in.
You might want to delete and/or insert some corrections
so that I will find a matching right brace soon.
(If you're confused by all this, try typing `I}' now.)
版本 2(可用但不推荐)
注意\NumPar
代码中的命令!
\documentclass{article}
\usepackage{blindtext}
\usepackage{marginnote}
\usepackage{parskip}
%% Version 1
%% ----------------------------
%% everypar in section
%\let\OriginalSection\section%
%\renewcommand{\section}{%
% \OriginalSection%
% \everypar={\marginpar[Testtext 1]{}}
%}
% Version 2
% ----------------------------
% everypar in command
\def\NumPar{%
\everypar={\marginpar[]{Testtext 2}}%
}
\begin{document}
\section{First section}
\NumPar
\blindtext
\blindtext
\section{Second section}
\NumPar
\blindtext
\blindtext
\end{document}
这给了我输出
我想要的是
我想使用\everypar
命令版本 1因为这样我就不必\NumPar
像版本 2。
答案1
在
\OriginalSection%
\everypar
您正在将\everypar
其作为参数传递给原始部分。
\everpar
读取节参数后,您可以按如下方式进行设置。如果您需要星号形式和可选参数,则需要多加努力\section
。
确实不支持\everypar
这样设置很多在内部使用段落设置的东西可能会损坏,
\documentclass{article}
\usepackage{blindtext}
\usepackage{marginnote}
\usepackage{parskip}
% Version 1
% ----------------------------
% everypar in section
\let\OriginalSection\section%
\renewcommand{\section}[1]{%
\OriginalSection{#1}%
\everypar={\marginpar[Testtext 1]{}}%
}
%% Version 2
%% ----------------------------
%% everypar in command
%\def\NumPar{%
% \everypar={\marginpar[]{Testtext 2}}%
%}
\begin{document}
\section{First section}
%\NumPar
\blindtext
\blindtext
\section{Second section}
%\NumPar
\blindtext
\blindtext
\end{document}