Настройка полей документа в latex
Пытаюсь сверстать latex документ в TeXstudio со следующей преамбулой:
\documentclass[14pt,russian]{extarticle}
\usepackage[T1,T2A]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{geometry}
\geometry{a4paper,
total={170mm,257mm},left=2cm,right=2cm,
top=2cm,bottom=2cm}
\usepackage{babel}
\usepackage{setspace}
\usepackage[nottoc]{tocbibind}
\usepackage[14pt]{extsizes}
\usepackage{indentfirst}
\usepackage{graphicx}
\usepackage{indentfirst}
\usepackage{cite}
\usepackage{nameref}
\usepackage{array}
\usepackage[center]{titlesec}
\usepackage{caption}
\captionsetup{justification=centering}
\usepackage{float}
\usepackage{placeins}
\usepackage{listings}
\lstset{breaklines, tabsize=3}
\usepackage{url}
\usepackage{hyperref}
\makeatletter
\newcommand*{\starsection}[1]{%
\section*{#1}%
\NR@gettitle{#1}%
}
\makeatother
При просмотре этого документа в pdf поля не настраиваются так, как это описано в \geometry. Отступ сверху равен не 2 см, а не менее чем 5см, другие поля так же не настраиваются корректно. Подскажите, пожалуйста, с чем может быть связана подобная проблема, и как это исправить.
Ответы (1 шт):
Во всем виноват пакет \usepackage[14pt]{extsizes}: он "сбрасывает" установленные поля. Достаточно его загрузить выше настроек геометрии и все будет работать. Хотя, я не понимаю, зачем Вы его вообще включаете, Вы же эти же настройки применяете как стиль документа \documentclass[14pt,russian]{extarticle}.
Чтобы было видно что происходит, я в опции пакета geomtry добавил параметры showframe,showcrop - это для показа линий обрезки и рамки рабочего поля. Они нужны просто для демонстрации полей и всего остального, что настраиваете через geometry. Когда все будет настроено - их нужно убрать. И еще добавил опцию includeheadfoot=true - она включает в размеры total еще и верхний и нижний колонтитулы. Мне кажется, что без этой опции поля будут слишком маленькими. Если не нужно, тоже просто удалите и посмотрите как будет выглядеть разметка. Еще добавил пакет \usepackage{lipsum} - это тоже только для демонстрации, чтобы не выдумывать, какой текст писать в документе.
PS: Вы два раза включаете \usepackage{indentfirst}. И он, вроде как, уже вообще не нужен: в современных дистрибутивах его уже внесли в русскую локаль в babel.
\documentclass[14pt,russian]{extarticle}
\usepackage[T1,T2A]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[14pt]{extsizes}
\usepackage[showframe,showcrop,includeheadfoot=true]{geometry}
\geometry{a4paper,
total={170mm,257mm},left=2cm,right=2cm,
top=2cm,bottom=2cm}
\usepackage{babel}
\usepackage{setspace}
\usepackage[nottoc]{tocbibind}
%\usepackage[14pt]{extsizes}
\usepackage{indentfirst}
\usepackage{graphicx}
\usepackage{indentfirst}
\usepackage{cite}
\usepackage{nameref}
\usepackage{array}
\usepackage[center]{titlesec}
\usepackage{caption}
\captionsetup{justification=centering}
\usepackage{float}
\usepackage{placeins}
\usepackage{listings}
\lstset{breaklines, tabsize=3}
\usepackage{url}
\usepackage{hyperref}
\makeatletter
\newcommand*{\starsection}[1]{%
\section*{#1}%
\NR@gettitle{#1}%
}
\makeatother
\usepackage{lipsum}
\begin{document}
\lipsum[2-5]
\end{document}