Настройка полей документа в 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 шт):

Автор решения: Vladimir

Во всем виноват пакет \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}
→ Ссылка