Применение различных заголовков и полей к первой странице (не титульному листу) многостраничного документа LaTeX

Применение различных заголовков и полей к первой странице (не титульному листу) многостраничного документа LaTeX

Как настроить документ LaTeX, в котором первая страница имеет определенный заголовок и уникальные поля, отличные от полей второй страницы, не указывая вручную, где начинается вторая страница?

Я работаю над двухстраничным сопроводительным письмом. Первая страница должна иметь заголовок (следовательно, разные поля), а вторая страница должна иметь стандартные поля без заголовка. Длина контента на первой странице переменная, поэтому мне нужен автоматический переход к макету второй страницы.

Ниже представлен мой текущий код LaTeX. Поскольку я новичок в LaTeX, любые улучшения или предложения приветствуются.

\documentclass[12pt]{letter}
\usepackage[utf8]{inputenc}
\usepackage[empty]{fullpage}
\usepackage[hidelinks]{hyperref}
\usepackage{graphicx}
\usepackage{geometry}
\usepackage{fontawesome5}
\usepackage{eso-pic}
\usepackage{charter}
\usepackage{fancyhdr}
\usepackage{etoolbox}
\usepackage{comment}

% Define the initial geometry for the first page
\geometry{
  top=2in, % Adjusted top margin for the first page
  headheight=1.1in, % Height of the header
  headsep=0.5in, % Separation between header and text
  bottom=1.2in,
  left=1.2in,
  right=1.2in,
  footskip=4.35004pt % Adjusted footskip to avoid a warning from fancyhdr
}

% Header settings for the first page
\fancypagestyle{firstpage}{
  \fancyhf{} % clear all header and footer fields
  %%% Some logo will be here
  %% \fancyhead[L]{\includegraphics[height=1in]{some-logo.png}}
  \fancyhead[R]{My department\\My university\\Address line 1\\Address line 2}
  \renewcommand{\headrulewidth}{0pt} % removes the horizontal line in the header
}

% Define a plain page style for other pages
\fancypagestyle{plain}{
  \fancyhf{} % clear all header and footer fields
  \renewcommand{\headrulewidth}{0pt} % optional: removes the horizontal line in the header
}

% Patch the \end{letter} command to change page style and geometry
\AtEndEnvironment{letter}{
  \pagestyle{plain}
  \newgeometry{
    top=1.2in, bottom=1.2in, left=1.2in, right=1.2in
  }
}

\begin{document}
\thispagestyle{firstpage} % Apply the first page header style

\vspace{0.5in}

% Opening block
\today\\

\vspace{-0.1in}
Recipient's name,\\
Recipient's Institution,\\
Recipient's address line 1,\\
Recipient's address line 2\\

Dear\ Dr. Jon Doe,

% Body
\setlength\parindent{24pt}

\noindent{}Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nunc aliquam ultrices aliquet. Cras ac placerat ex, non rhoncus tortor. Phasellus accumsan sit amet felis vitae varius. Nullam efficitur lorem nec orci scelerisque, commodo rutrum arcu varius. Nullam orci metus, rutrum sit amet enim sit amet, luctus rutrum metus. Vivamus commodo, quam a euismod venenatis, felis lorem porta massa, ac cursus massa nibh eu lectus. Duis pretium in elit nec sodales. Vivamus consectetur tristique ante eget ultricies. Cras sed lectus luctus, commodo urna fringilla, placerat urna.

\noindent{}Aliquam ut ligula orci. Sed cursus interdum ante, et cursus erat aliquam vel. Maecenas sodales ligula mattis condimentum convallis. Donec aliquet ut libero eget dignissim. Etiam gravida bibendum venenatis. Maecenas accumsan magna lectus. Mauris leo urna, tincidunt at eros vel, consequat varius urna. Curabitur blandit, nunc sed ultricies vehicula, neque turpis blandit massa, pulvinar ultrices orci ligula et enim. Morbi at efficitur ipsum. Aliquam ullamcorper consequat nunc, quis pulvinar orci facilisis sit amet. Pellentesque volutpat quam vitae luctus euismod.

\noindent{}Fusce mauris enim, maximus in lorem mattis, volutpat euismod nibh. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Suspendisse ac leo cursus, bibendum justo eget, laoreet risus. In sodales nisl vel viverra fringilla. Ut venenatis nisl id dapibus mollis. In elit tellus, venenatis sit amet lacinia in, cursus id erat. In hac habitasse platea dictumst. Pellentesque pharetra risus eu ex luctus bibendum. Proin dictum neque sit amet mauris viverra, et hendrerit lacus elementum. 

\noindent{}Aliquam ut ligula orci. Sed cursus interdum ante, et cursus erat aliquam vel. Maecenas sodales ligula mattis condimentum convallis. Donec aliquet ut libero eget dignissim. Etiam gravida bibendum venenatis. Maecenas accumsan magna lectus. Mauris leo urna, tincidunt at eros vel, consequat varius urna. Curabitur blandit, nunc sed ultricies vehicula, neque turpis blandit massa, pulvinar ultrices orci ligula et enim. Morbi at efficitur ipsum. Aliquam ullamcorper consequat nunc, quis pulvinar orci facilisis sit amet. Pellentesque volutpat quam vitae luctus euismod.

%% My problem: Is there any way to make this at the start of the second page AUTOMATICALLY (i.e. after how many paragraphs)?
  \pagestyle{plain}
  \newgeometry{
    top=1.2in, bottom=1.2in, left=1.2in, right=1.2in
  }

\noindent{}Aliquam ut ligula orci. Sed cursus interdum ante, et cursus erat aliquam vel. Maecenas sodales ligula mattis condimentum convallis. Donec aliquet ut libero eget dignissim. Etiam gravida bibendum venenatis. Maecenas accumsan magna lectus. Mauris leo urna, tincidunt at eros vel, consequat varius urna. Curabitur blandit, nunc sed ultricies vehicula, neque turpis blandit massa, pulvinar ultrices orci ligula et enim. Morbi at efficitur ipsum. Aliquam ullamcorper consequat nunc, quis pulvinar orci facilisis sit amet. Pellentesque volutpat quam vitae luctus euismod.

% Closer
\vspace{0.2in}

\begin{flushleft}
Thank you for your consideration,

\vspace{0.2in}
Jack Doe\\
\vspace{0.2in}

\end{flushleft}

\end{document}

решение1

Это используется \AddToHookNext{shipoout/background}для наложения заголовка на первую страницу. Координаты \putуказаны относительно верхнего левого угла страницы. Я нашел нижний правый угол заголовка, использовал \llapего для перемещения влево и табличный [b] для обработки нескольких строк и перемещения его вверх.

Кстати, не очень хорошая идея включать каждый пакет, который вы когда-либо использовали, в каждый документ. Я стараюсь никогда не загружать пакет, если он не нужен.

\documentclass[12pt]{letter}
\usepackage[utf8]{inputenc}
\usepackage[empty]{fullpage}
\usepackage[hidelinks]{hyperref}
\usepackage{graphicx}
\usepackage{geometry}
\usepackage{fontawesome5}
\usepackage{eso-pic}
\usepackage{charter}
\usepackage{etoolbox}
\usepackage{comment}

% Define the initial geometry for the first page
\geometry{ top=1.2in, bottom=1.2in, left=1.2in, right=1.2in}% showframe
\pagestyle{empty}

\AddToHookNext{shipout/background}{\put ({\dimexpr\paperwidth-1.2in},-1.5in)% lower right corner
  {\llap{\begin{tabular}[b]{@{}l@{}}% or r
    My department\\My university\\Address line 1\\Address line 2
  \end{tabular}}}}
  
\begin{document}
\vspace*{0.5in}

% Opening block
\today

\vspace{-0.1in}
Recipient's name,\\
Recipient's Institution,\\
Recipient's address line 1,\\
Recipient's address line 2\\

Dear\ Dr. Jon Doe,

% Body
\setlength\parindent{24pt}

\noindent{}Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nunc aliquam ultrices aliquet. Cras ac placerat ex, non rhoncus tortor. Phasellus accumsan sit amet felis vitae varius. Nullam efficitur lorem nec orci scelerisque, commodo rutrum arcu varius. Nullam orci metus, rutrum sit amet enim sit amet, luctus rutrum metus. Vivamus commodo, quam a euismod venenatis, felis lorem porta massa, ac cursus massa nibh eu lectus. Duis pretium in elit nec sodales. Vivamus consectetur tristique ante eget ultricies. Cras sed lectus luctus, commodo urna fringilla, placerat urna.

\noindent{}Aliquam ut ligula orci. Sed cursus interdum ante, et cursus erat aliquam vel. Maecenas sodales ligula mattis condimentum convallis. Donec aliquet ut libero eget dignissim. Etiam gravida bibendum venenatis. Maecenas accumsan magna lectus. Mauris leo urna, tincidunt at eros vel, consequat varius urna. Curabitur blandit, nunc sed ultricies vehicula, neque turpis blandit massa, pulvinar ultrices orci ligula et enim. Morbi at efficitur ipsum. Aliquam ullamcorper consequat nunc, quis pulvinar orci facilisis sit amet. Pellentesque volutpat quam vitae luctus euismod.

\noindent{}Fusce mauris enim, maximus in lorem mattis, volutpat euismod nibh. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Suspendisse ac leo cursus, bibendum justo eget, laoreet risus. In sodales nisl vel viverra fringilla. Ut venenatis nisl id dapibus mollis. In elit tellus, venenatis sit amet lacinia in, cursus id erat. In hac habitasse platea dictumst. Pellentesque pharetra risus eu ex luctus bibendum. Proin dictum neque sit amet mauris viverra, et hendrerit lacus elementum. 

\noindent{}Aliquam ut ligula orci. Sed cursus interdum ante, et cursus erat aliquam vel. Maecenas sodales ligula mattis condimentum convallis. Donec aliquet ut libero eget dignissim. Etiam gravida bibendum venenatis. Maecenas accumsan magna lectus. Mauris leo urna, tincidunt at eros vel, consequat varius urna. Curabitur blandit, nunc sed ultricies vehicula, neque turpis blandit massa, pulvinar ultrices orci ligula et enim. Morbi at efficitur ipsum. Aliquam ullamcorper consequat nunc, quis pulvinar orci facilisis sit amet. Pellentesque volutpat quam vitae luctus euismod.


\noindent{}Aliquam ut ligula orci. Sed cursus interdum ante, et cursus erat aliquam vel. Maecenas sodales ligula mattis condimentum convallis. Donec aliquet ut libero eget dignissim. Etiam gravida bibendum venenatis. Maecenas accumsan magna lectus. Mauris leo urna, tincidunt at eros vel, consequat varius urna. Curabitur blandit, nunc sed ultricies vehicula, neque turpis blandit massa, pulvinar ultrices orci ligula et enim. Morbi at efficitur ipsum. Aliquam ullamcorper consequat nunc, quis pulvinar orci facilisis sit amet. Pellentesque volutpat quam vitae luctus euismod.

% Closer
\vspace{0.2in}

\begin{flushleft}% as in \parskip=0pt ?
Thank you for your consideration,

\vspace{0.2in}
Jack Doe\\
\vspace{0.2in}

\end{flushleft}

\end{document}

Связанный контент