使用 marginpar 在 pdf 文件中定位命令时出现问题

使用 marginpar 在 pdf 文件中定位命令时出现问题

.pdf我是一名文字编辑。出于编辑的原因,我发现直接在(或)文件中找出作者(或我自己在编辑过程中)使用的某些命令很有用.dvi(我知道我可以在文本编辑器等中突出显示它们,但我有理由以这种方式这样做)。

例如,有时我需要发现分页命令,如、\pagebreak等。这些命令不会在(或) 文件中产生“可见”的输出。\newpage\clearpage.pdf.dvi

我做了类似的事情:

latex "\AtBeginDocument{\let\Oldpagebreak\pagebreak \
\renewcommand{\pagebreak}{\marginpar{\colorbox{red}{pagebreak}}\Oldpagebreak}} \input{file.tex}"

这样做我可以传递字符串:

\let\Oldpagebreak\pagebreak
\renewcommand{\pagebreak}{\marginpar{\colorbox{red}{pagebreak}}\Oldpagebreak}

到 LaTeX 引擎而无需改变源文件。

这是我在.pdf(或.dvi) 文件中得到的内容:

在此处输入图片描述

我的问题是,\marginpar以这种方式使用存在一些问题。

  1. 我有如下警告:

    LaTeX Warning: Marginpar on page 23 moved.
    
  2. 如果在浮动环境中使用该命令,我会收到错误:

    ! LaTeX Error: Not in outer par mode.
    

我的问题是如何避免这些警告/错误?

笔记。我愿意接受其他想法。最重要的是,文档的总体布局(命令显示除外)必须保持不变。

编辑后坎帕达莱夫评论。

我尝试使用该marginnote软件包。它解决了警告/错误问题。

这是一个 MWE(为了方便起见,我将命令放在了序言中):

\documentclass[11pt]{article}
\usepackage{amsmath}
\pagestyle{empty}

\usepackage{blindtext}
\usepackage{graphicx}
\usepackage{xcolor}
\usepackage{marginnote}

\let\Oldsmallskip\smallskip
\renewcommand{\smallskip}{\marginnote{\colorbox{red}{smallskip}}\Oldsmallskip}

\let\Oldmedskip\medskip
\renewcommand{\medskip}{\marginnote{\colorbox{red}{medskip}}\Oldmedskip}

\let\Oldbigskip\bigskip
\renewcommand{\bigskip}{\marginnote{\colorbox{red}{bigskip}}\Oldbigskip}

\let\Oldpagebreak\pagebreak
\renewcommand{\pagebreak}{\marginnote{\colorbox{red}{pagebreak}}\Oldpagebreak}

\let\Oldnewpage\newpage
\renewcommand{\newpage}{\marginnote{\colorbox{red}{newpage}}\Oldnewpage}

\let\Oldclearpage\clearpage
\renewcommand{\clearpage}{\marginnote{\colorbox{red}{clearpage}}\Oldclearpage}

\begin{document}

\begin{figure}
\centering
  \includegraphics[width=.3\linewidth]{example-image}

\medskip

  \caption{Example image.}
\end{figure}

\section{Section 1}
\blindtext

\medskip
\section{Section 2}
\blindtext

\pagebreak

\section{Section 3}
\blindtext

\end{document}

在此处输入图片描述

Adiffpdf没有显示任何问题:

在此处输入图片描述

相关内容