Латекс: Как сделать так, чтобы текст заполнял все тело так, чтобы работал нижний край геометрии? - PullRequest
1 голос
/ 07 июля 2019

Я пытаюсь отформатировать PDF документ в латекс с помощью texmaker. Я хотел бы, чтобы нижнее поле составляло 2 см, но текст не достигает конца тела, так что этот «пробел» добавляет к нижнему полю и делает его слишком большим. Я не очень понимаю, почему это работает для всех остальных трех полей, но не для нижнего поля. Как сделать так, чтобы текст заканчивался точно на теле?

Я попытался настроить опцию нижнего колонтитула, например используя footskip = 0pt, включите геометрию, увеличьте или уменьшите нижнее поле, но пока ничего не помогло. Вот преамбула, которую я использовал:

\documentclass[12pt]{report}
\usepackage[a4paper, left=40mm, bottom=20mm, right=20mm, top=20mm, includeheadfoot]{geometry}
\usepackage{graphicx}
\graphicspath{{images/}}
\usepackage{fancyhdr}
\pagestyle{fancy}
\fancyhead[L]{xyz}
\fancyhead[R]{\thepage}
\fancyfoot{}
\headsep=15mm
\renewcommand{\headrulewidth}{0.3pt}
\usepackage[onehalfspacing]{setspace}
\usepackage{showframe}
\footskip=0pt

Я включил showframe. Я ожидал, что расстояние между концом страницы и последней строкой текста будет 2 см, но вместо этого оно будет 2,5 см, если я измерим его. Кроме того, между телом и концом страницы есть линия, которая, кажется, представляет заголовок. Я ожидал, что это произойдет и внутри тела из-за «includeheadfoot».

1 Ответ

1 голос
/ 07 июля 2019

Если вы хотите, чтобы геометрический пакет выполнял разумные вычисления, вы не должны связываться с такими параметрами, как \headsep=15mm или \footskip=0pt впоследствии.

Также не следует игнорировать предупреждения о слишком малых значениях для высоты головы и высоты ног.Пакет fancyhdr попытается исправить вашу ошибку, но, конечно, эти исправления неизвестны для пакета геометрии.Таким образом, вместо того, чтобы полагаться на автоматические изменения из пакета fancyhdr, лучше правильно установить высоту и высоту головы.

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

\documentclass[12pt]{report}
\usepackage[a4paper, left=40mm, bottom=20mm, right=20mm, top=20mm, includehead,showframe,headheight=14.5pt,headsep=1.5cm]{geometry}
\usepackage{graphicx}
\graphicspath{{images/}}
\usepackage{fancyhdr}
\pagestyle{fancy}
\fancyhead[L]{xyz}
\fancyhead[R]{\thepage}
\fancyfoot{}
%\headsep=15mm
\renewcommand{\headrulewidth}{0.3pt}
\usepackage[onehalfspacing]{setspace}
%\footskip=0pt

\flushbottom

\usepackage{lipsum}

\begin{document}

\lipsum

\end{document}
...