.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
以这种方式使用存在一些问题。
我有如下警告:
LaTeX Warning: Marginpar on page 23 moved.
如果在浮动环境中使用该命令,我会收到错误:
! 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
没有显示任何问题: