Около месяца назад я спрашивал здесь о пробелах между строками и узнал о важности вставки \par в конце абзаца при изменении размера шрифта. Это помогло мне разобраться в нескольких проблемах.
Сегодня у меня есть дополнительный вопрос о той же проблеме в причудливых нижних колонтитулах (или заголовках). Я пытаюсь соответствовать выводу документа MS Word, который мы используем для канцелярских товаров. В этом документе Word в нижнем колонтитуле более мелкий шрифт, а одинарный интервал узкий.
Когда я пытаюсь сделать то же самое в LaTeX, я могу сделать шрифты меньше, но межстрочный интервал остается большим. Я измерил, и расстояние между строками никогда не уменьшается внутри причудливого нижнего колонтитула, даже когда я делаю шрифты крошечными.
Если я заканчиваю строку в нижнем колонтитуле символом \par, возникает ошибка компилятора, сообщающая о наличии пустой строки там, где ее быть не должно.
В моем коде ниже я почти уверен, что понимаю, что не так. Используя \footnotesize в двух строках, я не даю LaTeX никакой информации о необходимости сжать размер строки. Как переделать так, чтобы последние 2 строки вышли с меньшим пространством между
Вот MRE:
\documentclass[english]{article}
\usepackage{lmodern}
\renewcommand{\sfdefault}{lmss}
\renewcommand{\ttdefault}{lmtt}
\renewcommand{\familydefault}{\rmdefault}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[letterpaper]{geometry}
\geometry{verbose,tmargin=1in,bmargin=2in,lmargin=1.5in,rmargin=1in}
\setlength{\parskip}{\smallskipamount}
\setlength{\parindent}{0pt}
\usepackage{setspace}
\makeatletter
\usepackage{fancyhdr}
\usepackage{graphicx}
\headheight=70pt
\marginparwidth=0pt
\footskip=30pt
\usepackage{ifthen}
\usepackage{lastpage}
\usepackage[hidelinks, unicode=true]{hyperref}
\renewcommand{\headrulewidth}{0pt}
\fancyhead{}
\fancyfoot{}
\fancyhead[L]{
\ifthenelse{\value{page}=1}{\hspace*{-1in}IMAGINE A BEAUTIFUL LOGO HERE}
}
\fancyfoot[L]{
\ifthenelse{\value{page}=1}{\textsf{\textbf{The Name of My Center}}\\
\textsf{\footnotesize{}Knowledge Hall Room 1 | 1234 Your Alley | Pretend, ST 66666}\\
\textsf{\footnotesize{}(123)456-1234 | \url{http://google.edu} | email: [email protected]}}
{\centering{Page \thepage \hspace{1pt} of \pageref{LastPage}}}
}
\makeatother
\usepackage{babel}
\begin{document}
\thispagestyle{fancy}
\begin{singlespace}
Joseph Pretend Name\\
Chair, Geography\\
Unreal Dominion University\\
3423 Space Age Bldg.\\
Canada, UK 22348\smallskip{}
\end{singlespace}
Dear Professor:\smallskip{}
asdfasdf asdfasdf asdfasdf asdfasdf asdfasdf asdfasdf asdfasdf asdfasdf
asdfasdf asdfasdf asdfasdf asdfasdf asdfasdf asdfasdf asdfasdf asdfasdf
asdfasdf asdfadf asdfasdf asdfasdf asdfasdf asdfasdf asdfasdf asdfdf
asdfasdf asdfasdf asdfasdf asdfasdf asdfasdf asdfasdf asdfasdf asdfasdf
asdfasdf asdfasdf asdfasdf asdfasdf asdfasdf asdfasdf asdfasdf asdfasdf
asdfasdf asdfasdf asdfasdf asdfasdf asdfadf asdfasdf asdfasdf asdfasdf
asdfasdf asdfasdf asdfasdf asdfasdf asdfasdf asdfasdf asdfasdf asdfasdf
asdfasdf asdfasdf asdfasdf asdfasdf asdfasdf asdfasdf asdfasdf asdfasdf
asdfasdf asdfasdf asdfasdf asdfasdf asdfasdf asdfasdf asdfasdf asdfasdf
asdfasdf asdfasdf asdfasdf asdfasdf asdfasdf asdfasdf asdfasdf asdfasdf
asdfasdf asdfasdf asdfasdf asdfasdf asdfasdf asdfasdf ~asdfasdf asdfasdf
asdfasdf asdfasdf asdfasdf asdfasdf asdfasdf asdfasdf asdfasdf asdfasdf
asdfasdf asdfasdf asdfasdf asdfasdf asdfasdf asdfasdf asdfasdf asdfasdf
asdfasdf asdfasdf asdfasdf asdfasdf asdfasdf
\begin{singlespace}
\smallskip{}
\end{singlespace}
Sincerely:
\bigskip{}
\bigskip{}
Armond T. Philpot
\end{document}
решение1
Правда. Хотя переключатель шрифта ( \footnotesize
) изменяетшрифтразмер ипропуск базовой линии, однострочные использования обычно не выдают пустую строку в конце абзаца (или явный \par
), и поэтому интервал базовой линии не сохраняется. Чтобы увидеть эффект от изменения шрифтов, поместите весь нижний колонтитул внутрь minipage
и используйте обычные абзацы (или явные \par
s) для установки каждой строки. Вот альтернатива, использующая ручную настройку вертикального интервала с помощью tabular
:
\fancyfoot[L]{
\ifnum\value{page}=1
\sffamily
\begin{tabular}{ @{} l }
\bfseries The Name of My Center \\[-.2\normalbaselineskip]
\footnotesize Knowledge Hall Room 1 | 1234 Your Alley | Pretend, ST 12345 \\[-.2\normalbaselineskip]
\footnotesize (123) 456-1234 | \url{http://google.edu} | email: [email protected]
\end{tabular}
\else
\makebox[\textwidth]{Page \thepage{} of \pageref{LastPage}}%
\fi
}
Не использоватьgeometry
а затем установить такие вещи, как \headheight
,\footskip
(и другие)снаружиобстановка \geometry
. Делайте их все в одном месте.
решение2
Я пробовал разные варианты. В итоге остановился на этом.
\fancyfoot[L]{
\ifthenelse{\value{page}=1}{\textsf{\textbf{The Name of My Center}}\footnotesize{}\\
\textsf{Knowledge Hall Room 1 | 1234 Your Alley | Pretend, ST 66666}\\
\textsf{(123)456-1234 | \url{http://google.edu} | email: [email protected]}}
{\centering{Page \thepage \hspace{1pt} of \pageref{LastPage}}}
}
Это решает проблему, открывая \footnotesize{} в первой строке, и это остается в силе до конца группы.
По моему мнению, это менее опасный вариант, чем ручная настройка \normalbaselineskip, но я согласен с вами, что он также даёт хороший результат.