如何通过 sty 文件将文本添加到正文开头

如何通过 sty 文件将文本添加到正文开头

这是我在这里的第一篇帖子。我通常可以通过其他人提出的问题找到我想要的东西,但这次我被难住了。有人能帮忙吗?我对 Latex 很陌生。

我正在尝试通过 sty sheet 将文本插入生成的 pdf 文件的正文部分的开头。但是,如果一个段落跨越 2 页,我不知道如何将文本放在第二页的 pdf 正文的开头。我不想更改文件的标题,我想通过 sty sheet 自动更改正文部分的开头。

有没有办法从样式表中定位和插入文本?我不确定这是否可行。或者也许在插入段落之前将文本添加到 pdf 文件的下一页?

预先感谢您的任何帮助。

更新:我继承了一个非常复杂的乳胶项目,我不确定如何给你提供最小化的示例代码。

也许这个我想要的 pdf 外观示例会有所帮助?

我希望每个段落都以人名开头。如果段落延伸到下一页,我希望 pdf 文件包含人名,并在段落的其余部分之前继续。像这样:

JOE 段落....

莎莉 段落....

- - 分页符

莎莉 — 继续本段剩余部分....

我不想修改任何章节或节文档。我希望样式文件在显示分页符时自动添加“SALLY-CONTINUED”。这可以吗?

答案1

不,这很难做到。

首先 TeX 将段落分成几行,然后稍后,如果调用输出例程,这些行将被放到页面上。TeX 在构建段落时并不知道分页符的位置。但由于添加了文本,这会影响段落的拆分。

标签方法

soul允许\label在文本的每个断点处添加 s。然后可以检查这些标签,如果到达新页面,则可以将续行文本插入段落内。但是这种方法有严重的缺点:

  • 软件包的限制soul,请参阅文档。(对于简单文本来说不太严重。)

  • 添加的文本可能会增加段落中的行数,从而影响后续的分页符。因此可能需要大量运行 LaTeX。

  • 添加的文本可能会改变换行符,并且第二次运行时添加的文本会出现在错误的页面上。这很难处理,如果没有人工干预,文档可能永远无法稳定。(varioref如果插入的参考文本改变了参考的位置,包也会有类似的问题。)

商标登记

如果您可以将连续文本放在其他固定位置(在标题行中,在正文上方,...),那么标记寄存器会有所帮助:

\documentclass[a5paper]{article}
\usepackage{lipsum}
\usepackage{etex}
\usepackage{fancyhdr}

\newmarks\MarksPerson

\newcommand*{\Person}[2]{%
  \par
  \MakeUppercase{#1\marks\MarksPerson{(#1 continued)}}:%
  \space
  \ignorespaces
  #2\par
  \marks\MarksPerson{}%
}

\renewcommand*{\headrulewidth}{0pt}
\renewcommand*{\footrulewidth}{0pt}
\fancyhead{}
\fancyhead[L]{%
  \raisebox{-\headsep}[0pt][0pt]{\topmarks\MarksPerson}%
}

\pagestyle{fancy}

\begin{document}
\Person{Sarah}{\lipsum[1]}

\Person{Joe}{\lipsum[2]}

\Person{Sally}{\lipsum[3]}

\Person{Jeremy}{\lipsum[4]}

\Person{Susanna}{\lipsum[5]}

\Person{Jeremy}{\lipsum[6]}
\end{document}

此处的延续文本位于文本主体上方:

在此处输入图片描述

相关内容