info###latexinfo.ru

Ответы на вопросы

Рассмотрим вложенные списки двух уровней в тексте Latex:

\begin{enumerate}
\item Первый пункт.
\item Второй пункт.
\item Третий пункт.
\begin{enumerate}
\item Третий пункт, первый подпункт.
\item Третий пункт, второй подпункт.
\end{enumerate}
\item Четвертый пункт.
\item Пятый пункт.
\begin{enumerate}
\item Пятый пункт, первый подпункт.
\item Пятый пункт, второй подпункт.
\end{enumerate}
\end{enumerate}

По умолчанию будет следующий результат на выводе:

списки в latex по умолчанию

Чтобы изменить метку у перечней второго уровня, нужно добавить в преамбулу следующую команду:

\renewcommand{\labelenumii}{\arabic{enumi}.\arabic{enumii}.} % \labelenumii - имя метки у списка второго уровня, \arabic{enumi}. - число с точкой в конце

В результате компиляции получится следующая страница:

список второго уровня с числовыми метками

Рассмотрим списки трёх уровней:

\begin{enumerate}
\item Первый пункт.
\item Второй пункт.
\item Третий пункт.
\begin{enumerate}
\item Третий пункт, первый подпункт.
\begin{enumerate}
\item Первый пункт третьего уровня
\item Второй пункт третьего уровня
\end{enumerate}
\item Третий пункт, второй подпункт.
\end{enumerate}
\item Четвертый пункт.
\item Пятый пункт.
\begin{enumerate}
\item Пятый пункт, первый подпункт.
\item Пятый пункт, второй подпункт.
\end{enumerate}
\end{enumerate}

Такой многоуровневый список на странице выглядит без дополнительных настроек следующим образом:

списки в latex третьего уровня

Допишем в преамбулу еще одну команду, переопределяющую метку для списка третьего уровня \labelenumii:

\renewcommand{\labelenumii}{\arabic{enumi}.\arabic{enumii}.}
\renewcommand{\labelenumiii}{\arabic{enumi}.\arabic{enumii}.\arabic{enumiii}.}

Результат:

списки третьего уровня с числами в метках latex



Подробнее

В LaTeX по умолчанию нумерация в списке литературы (thebibliography) отображается в квадратных скобках, например: [1]. Если требуется заменить их на номер с точкой (например: 1.), это можно сделать с помощью переопределения команды \@biblabel.

Необходимо добавить следующий код в преамбулу документа:
\makeatletter
\renewcommand{\@biblabel}[1]{#1.} % Замена [1] на 1.
\makeatother

% \makeatletter и \makeatother необходимы для доступа к внутренним командам LaTeX, содержащим символ @.
Пример документа с переопределенным стилем библиографии:
\section*{Пример цитирования}

Это пример текста с цитатой \cite{author2020}.

\begin{thebibliography}{99}

\bibitem{author2020}
Автор А. Название работы. Издательство, 2020.

\bibitem{anotherauthor2022}
Другой Автор Б. Заголовок статьи. Журнал, 2022.

\end{thebibliography}

В результате список литературы будет пронумерован как 1. , 2. , вместо стандартных [1] , [2] . Ссылки в тексте останутся в квадратных скобках (например: [1]):




Подробнее

Чтобы в документе, созданном в Latex, переопределить символ нумерации списков, нужно переопределить параметры, отвечающие за вид номера пункта, из двух семейств:

  • \theenumi, \theenumii, \theenumiii, \theenumiv — определяют, как выводится счётчик (номер) на соответствующем уровне списка;
  • \labelenumi, \labelenumii, \labelenumiii, \labelenumiv — определяют, как будет выглядеть пункт соответствующего уровня списка.

Это можно сделать с помощью команды \renewcommand. Ниже приведен пример переопределения пункта списка 1-го уровня на русские прописные буквы:

%обычная преамбула документа:
\documentclass{article}
\usepackage[T2A]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[russian]{babel}
%документ
\begin{document}
Стандартный нумерованный перечень (список):
\begin{enumerate}
\item Первый пункт.
\item Второй пункт.
\item Третий пункт.
\end{enumerate}

Переопределим символ нумерации и получим:
\renewcommand{\theenumi}{\Asbuk{enumi}} % команда переопределения символа enumi на русскую прописную букву \Asbuk (\asbuk для строчной)
\renewcommand{\labelenumi}{\Asbuk{enumi})} % команда переопределения вида номера пункта
\begin{enumerate}
\item Первый пункт.
\item Второй пункт.
\item Третий пункт.
\end{enumerate}
\end{document}

Результат выглядит так:

списки нумерованные в latex

Для настройки внешнего вида списков в Latex используется пакет enumitem. Если подключить этот пакет в преамбуле, то вышенаписанное переопределение перестает работать, так как переменная \Asbuk становится недоступной. В этом случае, если нужны списки обоих видов (численные и с буквами) можно поступить следующим образом:


\usepackage{enumitem}
...
% определение Asbuk как счетчика
\makeatletter
\AddEnumerateCounter{\Asbuk}{\russian@asbuk@alph}{Щ}
\makeatother
% создание нового стиля списка
\newlist{rusenum}{enumerate}{1} % создаем новый стиль списка
\setlist[rusenum]{label=\Asbuk*.} % назначаем символ списка с точкой после символа
...
\begin{document}
% Список с числами (по умолчанию)
\begin{enumerate}
\item Первый пункт.
\item Второй пункт.
\item Третий пункт.
\end{enumerate}

% Список с кириллическими буквами и точками
\begin{rusenum}
\item Первый пункт.
\item Второй пункт.
\item Третий пункт.
\end{rusenum}
\end{document}

В результате получится:

нумерованный список с числами и буквами в latex



Подробнее

Для изменения интервалов в оглавлении документа, созданного в latex, можно использовать пакет tocloft и следующие команды:
\usepackage{tocloft}
...
\setlength\cftbeforechapskip{2pt} % параметр, изменяющий интервал перед chapter
\setlength\cftbeforesecskip{2pt} % параметр, изменяющий интервал перед section
...
\setcounter{tocdepth}{1}\setcounter{page}{2}
\tableofcontents

\chapter{Глава 1}
\section{Раздел Один Один}
\section{Раздел Один Два}
\chapter{Глава 2}
\section{Раздел Два Один}
\section{Раздел Два Два}
\chapter{Глава 3}
\chapter{Глава 4}
\chapter{Глава 5}
\section{Раздел Два Один}
\section{Раздел Два Два}

На изображении ниже слева: как страница выглядит без пакета tocloft, справа — с пакетом и командами.




Подробнее

Для вывода разных колонтитулов для разных страниц воспользуемся колонтитулами из пакета fancyhdr. Подключим пакет и зададим определение двух разных колонтитулов:
\usepackage{fancyhdr} % пакет для колонтитулов
\usepackage{xcolor} % пакет для задания цвета
...

% определим основной колонтитул как номер страницы внизу по центру. Цвет текста — красный.
\fancypagestyle{basicstyle}{
\fancyhead{}
\fancyfoot[C]{\textcolor{red}{\thepage}}
}

% определим дополнительный колонтитул также внизу страницы по центру, но цвет текста — синий.
\fancypagestyle{addstyle}{
\fancyhead{}
\fancyfoot[C]{\textcolor{blue}{\thepage}}
}
Теперь зададим вывод колонтитулов таким образом:
% В начале документа задаем основной колонтитул:
\pagestyle{basicstyle}

% Далее идет содержание документа до того момента, как нужно выдать дополнительный колонтитул
% Внизу на этих страницах будет выдаваться колонтитул красного цвета.

% Вызываем дополнительный колонтитул
\pagestyle{addstyle}

% На дальнейших страницах колонтитул будет синего цвета.

% Если нужна страница без колонтитула, вызываем команду:
\pagestyle{empty}

Первые страницы внизу будут выглядеть так:



Следующие страницы с дополнительным колонтитулом будут выглядеть так:



Подробнее

По умолчанию в LaTeX после номера раздела и подраздела (\section, \subsection и т. д.) не ставится точка. Если требуется добавить точку для более четкого визуального разделения номера и названия раздела, можно использовать пакет titlesec. Этот пакет позволяет настроить форматирование всех заголовков.

1. Подключите пакет titlesec: добавьте следующую строку в преамбулу документа:

\usepackage{titlesec}

2. Чтобы добавить точку после номера раздела, используйте команду \titleformat:

\titleformat{\section}[hang]{\centering\large}{\thesection.}{0.5em}{}
  • [hang]: определяет стиль заголовка, где номер остается на той же строке, что и название;
  • \centering: центрирует заголовок (можно заменить на \raggedright или \raggedleft для другого выравнивания);
  • \large: устанавливает размер шрифта заголовка (замените на \Large, \huge и т. д., если нужно другое форматирование);
  • \thesection.: здесь \thesection — непосредственно номер раздела, а "." добавляет точку после номера раздела (как вариант можно поставить ":");
  • {0.5em}: устанавливает отступ между номером и текстом заголовка.

Аналогично можно настроить и другие виды заголовков, например, \subsection:

\titleformat{\subsection}[hang]{\itshape}{\thesubsection.}{0.5em}{}
  • \itshape: выделяет текст подраздела курсивом;
  • \thesubsection: номер подраздела.

В результате вызова:

\section{Введение}
\subsection{Методы исследования}

получится:




Подробнее

Чтобы отключить переносы слов в русском тексте в LaTeX, можно использовать несколько способов.

Отключить переносы глобально для всего документа можно с помощью пакета hyphenat:

\usepackage[none]{hyphenat}

Этот метод полностью отключает переносы для всех языков, включая русский.

Если используется пакет babel, то отключить переносы можно с помощью настройки переносов:

\usepackage[russian]{babel}
\hyphenpenalty=10000 % запрещает переносы
\exhyphenpenalty=10000 % запрещает переносы через явно указанные дефисы

Можно отключить переносы только в конкретных словах с помощью команды \mbox:

Это пример \mbox{без переноса}.


Замечания:

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

Чтобы текст равномерно распределялся в отведенной области и не выходил за рамки, используйте команду \sloppy перед текстом. Отмена этой команды — команда \fussy.



Подробнее

При компиляции документов Latex сложные слова с дефисами (например, «снежно-ледовый», «северо-восток») автоматически переносятся только там, где стоит дефис. Можно использовать команду \- для принудительного указания места разрыва. Например:

снеж\-но-ле\-до\-вый

Полуавтоматическим решением является использование специального символа "=. Этот символ заменяет обычный дефис и позволяет LaTeX переносить обе части сложного слова по слогам. Например:

снежно"=ледовый

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

Есть вариант улучшения качества переносов в Latex — использование пакета microtype, например, следующим образом:

\usepackage[protrusion=true]{microtype}

В результате текст будет иметь более красивый вид, уменьшится количество переносов, в большинстве случаев не будет лишних выходов за пределы страницы.



Подробнее

В LaTeX блок с цветной пунктирной или точечной границей, с заголовком и без заголовка, с цветной заливкой и без заливки можно с помощью пакета tcolorbox. Пакет tcolorbox — это мощный инструмент для создания красивых цветных блоков с различными стилями границ.

Вот пример блока с пунктирной границей:

\usepackage{xcolor}
\usepackage[most]{tcolorbox}
...
\begin{tcolorbox}[enhanced, opacityback=0, frame empty, boxsep=5pt, arc=10pt, borderline={1pt}{0pt}{orange, dashed}]
Содержимое блока
\end{tcolorbox}

Параметры означают следующее:

  • enhanced — включает расширенный режим использования блока tcolorbox, для использования заголовка, настройки границ и прозрачных элементов;
  • opacityback — прозрачный цвет бекграунда;
  • frame empty — делает прозрачной встроенную границу блока;
  • boxsep — определяет отступы (padding) между содержимым блока и его границами;
  • arc — задает скругление углов блока;
  • borderline — определяет новую границу блока, первый параметр определяет толщину линии, второй — смещение линии, третий определяет цвет и стиль линии.

В результате такой записи получится следующий блок:


Если нужно создать похожий блок с заголовком:

\begin{tcolorbox}[enhanced, opacityback=0, width = .5\textwidth, frame empty, boxsep=5pt, arc=15pt, borderline={2pt}{0pt}{orange, dotted}, fonttitle=\bfseries, coltitle = teal, attach boxed title to top center={yshift=-3mm}, boxed title style={frame empty, colback = white}, title={Заголовок}]
Содержимое блока

в несколько строк
\end{tcolorbox}

Дополнились следующие параметры:

  • width — задает ширину блока;
  • fonttitle — стиль заголовка;
  • coltitle — цвет заголовка;
  • boxed title style — определяет стиль блока заголовка (без границы и цвет фона белый);
  • title — задает текст заголовка;
  • attach boxed title to top center={yshift=-3mm} — определяет размещение блока по центру верхней части блока со смещением вверх на 3 мм.

В результате такой записи получится следующий блок:


И еще два простых примера использования блоков tcolorbox.

Блок с цветным фоном, цвет текста белый:

\begin{tcolorbox}[width=5cm, height=0.7cm, halign=center, valign=center, colback=teal, colframe=teal, boxsep=-5mm, arc=2.5mm]\textcolor{white}{\textbf{Текст}}\end{tcolorbox}

Параметры:

  • height — задает высоту блока;
  • valign — выравнивание содержимого по высоте;
  • halign — выравнивание содержимого по горизонтали;
  • colback — цвет фона;
  • colframe — цвет границы.

В результате такой записи получится следующий блок:


\begin{tcolorbox}[enhanced, width=7cm, halign=center, valign=center, opacityback=0, frame empty, boxsep=3pt, arc=0pt, borderline south={1.8pt}{0pt}{teal, dotted}]
Содержимое
\end{tcolorbox}

Параметры:

  • borderline south — означает, что задается только нижняя граница.

В результате такой записи получится следующий блок:


Параметр dotted или dashed определяет, что линия должна быть точечной или пунктирной соответственно. Отсутствие данного параметра будет означать, что линия будет сплошной.



Подробнее

Да, возможен. Есть готовое решение в виде пакета rmathbr:

\usepackage{rmathbr}
...
Абракадабра текст для заполнения строки абзаца $a + b = c + b$.

Абракадабра текст для заполнения строки абзацев $a - b = c + b$.

Абракадабра текст для заполнения строки абзацев $a \leqslant b = c + b$.

Абракадабра текст $a=b=c=d=e=f=g=h=i=j=k=l=m=n=o=p=q=r=s=t\pm u=v=w=x=y=z$

Абракадабра текст для заполнения строки абзаца $d \Longrightarrow 5$.

Результат после компиляции:

пример как выглядит автоматическое дублирование математических знаков при переносе в latex

Пакет автоматически дублирует в начале следующей строки при переносе формул внутри текста одиночные знаки операций.

Чтобы сделать перенос более сложной конструкции (составные символы), можно в преамбуле объявить новую команду для конструкции и использовать макрос \SetBreakableRel. Он позволяет делать перенос с дублированием для составных символов.

\newcommand{\ntoinf}{\xrightarrow[n\to\infty]{}}
\SetBreakableRel{\ntoinf}
...
Абракадабра текст для заполнения строки абзаца $z_n \xrightarrow[n\to\infty]{}\infty $. % пример без дублирования

Абракадабра текст для заполнения строки при $z_n\ntoinf \infty,~z_n\ntoinf \infty$. % пример использования \SetBreakableRel

Результат после компиляции:

пример переноса формул с помощью SetBreakableRel



Подробнее

Символ ^ можно записать несколькими разными способами:

  1. используя \textasciicircum;
  2. с помощью \verb+^+;
  3. в математическом режиме $\string^$.

Примеры записи в Latex документе:

Символ \verb+^+ можно записать несколькими разными способами:
\begin{enumerate}
\item используя \verb+\textasciicircum+: \textasciicircum;
\item с помощью \verb-\verb+^+-: \verb+^+;
\item в математическом режиме \verb+$\string^$+: $\string^$.
\end{enumerate}

Результат:

результат записи символа в latex




Подробнее

Чтобы автоматически отделять разряды в числах, можно использовать, например, команду \numprint из пакета numrint. Для этого нужно подключить пакет и задать символ отделения разрядов следующим образом:

\usepackage{numprint} % подключить пакет
\npthousandsep{\,} % задать символ разделения, например, небольшой пробел

Использование команды в тексте и в формулах:

Число 34000 в отформатированном виде \numprint{34000}.

Число 450345340 в отформатированном виде \numprint{450345340}.

Число 8923400 в формуле $\numprint{8923400}\cdot 5 = \numprint{49617000}$.

Результат:

Наглядно команда numprint latex


Подробнее

Находясь на нашем сайте, вы принимаете условия использования файлов cookies. Более подробная информация здесь.