在多文件 LaTeX 文档中,有没有办法用生成它的文件来标记每个页面?

在多文件 LaTeX 文档中,有没有办法用生成它的文件来标记每个页面?

我有一个由许多小文件组成的 LaTeX 文档。当我编辑文本或公式时,我通常会查找一些特征文本并执行以下操作:

find -name "*.tex" > t
grep -n 'text of interest' `cat t` | tee v
vim -q v

我看到有一个currfile包。我想知道是否有办法使用\currfilename该包中的命令在页边空白处加盖文件名(和/或路径)的印章,或者甚至只是生成脚注。

编辑:我找到了一种在独立示例中执行此操作的方法,并将其作为自答发布在下面,我最初认为这已经足够了。但是,该答案使用了 fancyhdr,而我使用的是使用 scrpage2 的 classicthesis 模板,因此 fancyhdr 解决方案不起作用。我已经能够对 classicthesis.sty 进行更新,以使用 显示章节和节标题中的文件名\currfilepath,但我真的希望这是一个页面级页脚(我最终会将其设置为以起草标志为条件)。

这是我想要修改的 classicthesis 中的 scrpage2 部分:

% ********************************************************************
% headlines
% ********************************************************************
\PassOptionsToPackage{automark}{scrpage2}
  \RequirePackage{scrpage2} % provides headers and footers (KOMA Script)
    \clearscrheadings
    \setheadsepline{0pt}
    \ifthenelse{\boolean{@nochapters}}%
        {\relax}%
        {\renewcommand{\chaptermark}[1]{\markboth{\spacedlowsmallcaps{#1}}{\spacedlowsmallcaps{#1}}}}
    \renewcommand{\sectionmark}[1]{\markright{\thesection\enspace\spacedlowsmallcaps{#1}}}
    \lehead{\mbox{\llap{\small\thepage\kern2em}\headmark\hfil}}
    \rohead{\mbox{\hfil{\headmark}\rlap{\small\kern2em\thepage}}}
    \renewcommand{\headfont}{\small}
%    \DeclareRobustCommand{\fixBothHeadlines}[2]{} % <--- ToDo
    % hack to get the content headlines right (thanks, Lorenzo!)
     \def\toc@heading{%
        \ifthenelse{\boolean{@nochapters}}%
        {\section*{\contentsname}}%nochapters
        {\chapter*{\contentsname}}%chapters
        \@mkboth{\spacedlowsmallcaps{\contentsname}}{\spacedlowsmallcaps{\contentsname}}}

答案1

回答我自己的问题可能不太好,但我在以下问题中找到了解决此问题的机制:

在每个页面上添加徽标。

下面的例子展示了事物是如何结合在一起的

\documentclass{article}
\usepackage{fancyhdr}
\usepackage{lipsum}
\usepackage{currfile}
\pagestyle{fancy}
\lhead{}
\chead{}
\rhead{}
\lfoot{}
\cfoot{\thepage}
\rfoot{\currfilepath}
\renewcommand\headrulewidth{0pt}
\renewcommand\footrulewidth{0pt}
\begin{document}
\lipsum
\clearpage
\lipsum
\clearpage
\include{a/b/f1}
\include{a/b/f2}
\include{a/b/f3}
\include{a/b/f4}
\include{a/b/f5}
\include{a/b/f6}
\end{document}

其中 f1、f2、f3、... 均包含以下内容

\lipsum
\clearpage

正如所期望的,我在所有生成的页面上看到a/b/f1.tex了(以及在执行 的页面上的主 .tex 文件名)。a/b/f2.tex\include\include

相关内容