對多頁 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}

相關內容