В этой статье опишу какие же настройки документов мы применяем в наших проектах.Как я уже раньше писала, мы не используем пакет Eskdx, а подбираем пакеты исходя из собственных требований.Немного теорииLatex работает с пакетами и подключая разные пакеты можно добиться нужного оформления документов. Для подключения пакетов используется команда\usepackage[опции]{пакет}Все таблицы и изображения позиционируются Latex как плавающие объекты, т. е. Latex может выводить их согласно собственным алгоритмам.Класс документаМы используем стандартный класс документов article с дополнительными настройками:a4paper — формат бумаги;12pt — размер шрифта.В итоге первая строчка нашего любого документа выглядит следующим образом:\documentclass[a4paper,12pt]{article}Дополнительные настройки можно и не указывать, если точно знать, что у всех пользователей одинаковые настройки компилятора. В нашем случае такой уверенности нет.Настройки окруженияСледующей строчкой любого нашего документа является подключение файла окружения env.tex:\documentclass[a4paper,12pt]{article} \input{config/env}В этом файле мы создаем переменные, в которых указываем параметры проекта:Наименование проекта;Реквизиты заказчика (если проект коммерческий);Реквизиты исполнителя;Наименование всех этапов проекта;Сроки проекта;Команда проекта;Наименование документов, которые готовятся в проектеИ т. д.В общем в этот файл идут все, что может использоваться в любом из документов проекта.Пример содержания файла env.tex:% Реквизиты Контракта \newcommand{\gknum}{№~00000 от 01.01.2022~г.} \newcommand{\gkname}{Разработка чего-то для кого-то} % ЗАКАЗЧИК \newcommand{\client}{Полное наименование Заказчика} \newcommand{\clientShort}{Краткое наименование Заказчика} \newcommand{\cliebyBoss}{ФИО директора} \newcommand{\clientBossPost}{Должность директора} % ИСПОЛНИТЕЛЬ \newcommand{\perfomer}{Полное наименование Исполнителя} \newcommand{\perfomerShort}{Краткое наименование Исполнителя} \newcommand{\perfomerBoss}{ФИО директора} \newcommand{\perfomerBossPost}{Должность директора} % Этапы работ \newcommand{\stageOne}{1.~Первый этап} \newcommand{\stageTwo}{2.~Второй этап} \newcommand{\stageThree}{3.~Третий этап} % Документы % 1 ЭТАП \newcommand{\docStageOneReport}{Отчёт по первому этапу} % 2 ЭТАП \newcommand{\docStageTwoReport}{Отчет по выполнению работ <<\stageTwo>>} % 3 ЭТАП \newcommand{\docStageThreeReport}{Отчет по выполнению работ <<\stageThree>>}Настройки оформленияИ только третей строкой мы подключаем в файл документа настройки оформления settings.tex\documentclass[a4paper,12pt]{article} \input{config/env} \input{config/settings}Первыми строками файла settings.tex являются пакеты настройки поддержки русского языка:\usepackage[T2A]{fontenc} % Кириллические шрифты \usepackage[utf8]{inputenc} % Кодировка документа \usepackage[english,russian]{babel} % Для поддержки русского языкаДля возможности работы с таблицами мы подключаем следующие пакеты:\usepackage{longtable} % Таблицы с повторяющимся заголовком \usepackage{multirow} % объединение строкПакет longtable дает возможность создавать таблицы, расположенные на нескольких страницах. Все таблицы создаваемые с помощью этого пакета имеют позиционирование «начинать в текущем месте». Так же этот пакет дает возможность работы с шапками и подвалами таблиц.Следующий набор пакетов необходим для работы с графикой:\usepackage{graphicx} % Работа с графикой \usepackage{float} % Позиционирование плавающих объектов \usepackage{MnSymbol} % Пакет символовПакет graphicx позволяет вставлять изображения в документ. Работает как с растровыми изображениями, так и с векторными (необходимо заранее переконвертировать в формат pdf). пакет MnSymbol - один из множества пакетов с символами. Подбирать пакет с символами нужно исходя из собственных потребностей. Нам подошел именно этот. Так же мы используем пакет Fontawesome5 для того чтобы не делать скрины элементов интерфейса.Следующий набор пакетов и настроек предназначен непосредственно для оформления внешнего вида документов\usepackage{cmap} % поиск по pdf \usepackage{chngcntr} % подчиненные счетчики \usepackage[a4paper, left=30.00mm, right=10.00mm, top=20.00mm, bottom=20.00mm]{geometry} %установка полей \usepackage[singlelinecheck=false]{caption} % настройка подписей \usepackage{setspace} % межстрочный интервал \onehalfspacing % 1,5 интервал \usepackage{soul} % начертание текста \usepackage{indentfirst} % отступ первой строки \setlength{\parindent}{1.25cm} % установка красной строки \usepackage{microtype} % улучшение выравнивания по ширине \usepackage{lscape} % изменение ориентации страницыПакет cmap - позволяет осуществлять поиск и копировать текст из скомпилированного pdf файла. Без этого пакета вставить куда-либо скопированный текст будет невозможно, т.к. вставляться будут иероглифы.Пакет geometry нужен для выставления полей в документе. Пакет работает со всеми возможными отступами в документами, но в большинстве случаев им пользуются когда нужно установить поля.Пакет caption пригодится для смены формата подписей у изображений и таблиц.Следующий блок настроек отвечает за оформление внешнего вида ссылок и не только.\usepackage{hyperref} % Вставка ссылок в документ \usepackage[usenames,dvipsnames,svgnames,table,rgb]{xcolor} % подключение цветовых схем \hypersetup{% настройка внешнего вида ссылок unicode=true, colorlinks=true, linkcolor=black, % внутренние ссылки citecolor=green, % ссылки на библиографию filecolor=magenta, % ссылки на файлы urlcolor=blue % внешние ссылки }Остановлюсь подробнее на пакете xcolor. Пакет отвечает за подключение цветовых схем, которые можно использовать во всем документе (т.е. не только в настройках ссылок). Цветовых схем в пакете огромное количество. Выбирайте те что нужны.Настройка отображения списков:\usepackage{paralist} % имитация списков для выравнивания по красной строке % маркированный \renewcommand{\labelitemi}{--} \renewcommand{\labelitemii}{\textopenbullet} \renewcommand{\labelitemiii}{\textbullet} \renewcommand{\labelitemiv}{$\filledmedsquare$} % нумерованный \renewcommand{\theenumi}{\arabic{enumi}} \counterwithin{enumii}{enumi} \counterwithin{enumiii}{enumii} \counterwithin{enumiv}{enumiii} \renewcommand{\labelenumii}{\theenumii.} \renewcommand{\labelenumiii}{\theenumiii.} \renewcommand{\labelenumiv}{\theenumiv.} %настройка списков \usepackage{enumitem} \setlist{nosep, leftmargin=1.7cm}Списки в Latex уже имеют определенный внешний вид. Нас этот внешний вид не устраивал, поэтому мы их переопределили, используя команду \renewcommand.Переопределение подписи рисунков и таблиц:\RequirePackage{caption} \DeclareCaptionLabelFormat{custom}{Рисунок #2} \DeclareCaptionLabelSeparator{defffis}{ -- } \captionsetup[figure]{justification=centering,labelformat=custom,labelsep=defffis} \captionsetup[table]{format=hang,justification=raggedright,labelsep=defffis}Переопределение внешнего вида заголовков и оглавления:\usepackage{titlesec} % переопределение форматов заголовков % section \titleformat{\section} {\filright\LARGE\bfseries}{\thesection}{1em}{} \newcommand{\sectionbreak}{\clearpage} % subsection \titleformat{\subsection} {\filright\normalfont\large\bfseries}{\thesubsection}{1em}{} % subsubsection \titleformat{\subsubsection} {\filright\normalfont\normalsize\bfseries}{\thesubsubsection}{1em}{} % paragraph \titleformat{\paragraph}[block] {\filright\normalfont\normalsize\bfseries}{\theparagraph}{1em}{} \counterwithin{paragraph}{subsubsection} % subparagraph \titleformat{\subparagraph}[block] {\filright\normalfont\normalsize\bfseries}{\thesubparagraph}{1em}{} \counterwithin{subparagraph}{paragraph} \setcounter{secnumdepth}{5} \setcounter{tocdepth}{5} % количество уровней в оглавленииПоследние 3 блока настроек я не буду комментировать в этой статье, а посвящу им отдельные посты. И так же в отдельный пост вынесу еще один блок настроек, связанный с нумерацией строк в таблице (здесь я даже не буду приводить код этих настроек).