如何使独特的页脚跟随内容?

如何使独特的页脚跟随内容?

我最近在尝试为我的客户编写一致编辑的月度技术报告时发现了 Latex。

问题:如何根据页面内容使页脚改变为预定的文本,尤其是当内容占据部分而不是整个页面时。

更多详细信息:我必须从三种不同的法律声明中进行选择,具体取决于要粘贴在页脚中的页面上的材料。

到目前为止,我已经尝试过:fancyhdr包并创建了四个pagestyles。首先,我设置了全局页眉页脚。这正如预期的那样,所有页面都具有相同的页眉和页脚。对于需要三个合法声明之一的材料,我使用thispagestyle并选择其中一个自定义页面样式来通过页面样式。正如您可能已经猜到的那样,当内容长度为 1.5 页时,我会在出现段落的第一页上获得所需的页脚,然后在下一页上恢复为全局页脚。

期望的行为是让第二页也具有此页脚,并且仅在第三页上改回。

我在用documentclassarticle。没有特别的理由选择它,除了从互联网上复制粘贴。没有足够的知识来选择正确的。


编辑2020-11-05:重现问题的示例代码:

\documentclass[12pt, letterpaper]{article}
\usepackage{graphicx}
\usepackage{geometry}
\pdfpagewidth=\paperwidth
\pdfpageheight=\paperheight
\usepackage{lipsum, blindtext}
\usepackage[T1]{fontenc}


%%% HEADERS & FOOTERS
\usepackage{fancyhdr}

%\pagestyle{fancy}

%
\fancypagestyle{nolegal}
{
    \pagestyle{fancy}
    \fancyfoot[L]{}
    \fancyfoot[C]{}
    \fancyfoot[R]{\thepage}
    %\footskip=30pt
}

\fancypagestyle{legal1}
{
    \pagestyle{fancy}
    \fancyfoot[L]{}
    \fancyfoot[C]{legal 1 Applies to Content}
    \fancyfoot[R]{\thepage}
    \footskip=30pt
}
\pagestyle{nolegal}

\begin{document}
    \textbf{(No special legal applies)}\\
    \lipsum[1-6]
    
    \textbf{(Begin legal 1)}\\
    \thispagestyle{legal1} % Also tried \pagestyle{legal1} [Line 40]
    \lipsum[1-6]
    \newline
    \textbf{(End legal 1)}
    
    % If switching page style in line 40, switch back with \pagestyle{nolegal}
    \lipsum[1-3]
    
\end{document}

正如预期的那样,此示例生成的第 2 页在页脚中正确显示了声明。但是,在第 3 页上,该声明被删除了。

答案1

您必须\pagestyle在语句的开头和\thispagestyle结尾使用。然后您可以使用 切换回默认页面样式\pagestyle

\documentclass[12pt, letterpaper]{article}
\usepackage[headheight=14.5pt,footskip=30pt]{geometry}
\usepackage{lipsum}
\usepackage[T1]{fontenc}

\usepackage{fancyhdr}
%\pagestyle{fancy}

\fancypagestyle{nolegal}
{
    \pagestyle{fancy}
    \fancyfoot{}
    \fancyfoot[R]{\thepage}
}

\fancypagestyle{legal1}
{
    \pagestyle{fancy}
    \fancyfoot{}
    \fancyfoot[C]{legal 1 Applies to Content}
    \fancyfoot[R]{\thepage}
}
\pagestyle{nolegal}

\begin{document}
\textbf{(No special legal applies)}\\
\lipsum[1-6]

\textbf{(Begin legal 1)}\pagestyle{legal1}\\
\lipsum[1-6]
\newline
\textbf{(End legal 1)}\thispagestyle{legal1}

\pagestyle{nolegal}
\lipsum[1-3]
\end{document}

在此处输入图片描述

也许你可以定义一个新的环境:

\documentclass[12pt, letterpaper]{article}
\usepackage[headheight=14.5pt,footskip=30pt]{geometry}
\usepackage{lipsum}
\usepackage[T1]{fontenc}

\usepackage{fancyhdr}
\pagestyle{fancy}

\fancypagestyle{nolegal}
{
    \fancyfoot{}
    \fancyfoot[R]{\thepage}
}
\fancypagestyle{legal1}
{
    \fancyfoot{}
    \fancyfoot[C]{legal 1 Applies to Content}
    \fancyfoot[R]{\thepage}
}
\pagestyle{nolegal}

\newcommand*\legalpagestyle{}
\newenvironment{legal}[1]
  {\par\xdef\legalpagestyle{legal#1}\pagestyle{\legalpagestyle}}
  {\thispagestyle{\legalpagestyle}\par}

\begin{document}
\textbf{(No special legal applies)}
\lipsum[1-6]

\begin{legal}{1}
\textbf{(Begin legal 1)}\\
\lipsum[1-10]
\newline
\textbf{(End legal 1)}
\end{legal}

\textbf{(No special legal applies)}
\lipsum[1-3]
\end{document}

在此处输入图片描述

相关内容