> For the complete documentation index, see [llms.txt](https://overleaf-pro.ayaka.space/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://overleaf-pro.ayaka.space/latex/ru/podrobnye-stati/43-step-7-using-noto-sans-and-roboto-mono-variable-fonts-with-latex.md).

# Шаг 7: использование переменных шрифтов Noto Sans и Roboto Mono с LaTeX

[Введение](https://www.overleaf.com/learn/latex/Articles/How_to_use_OpenType_variable_fonts_with_LaTeX?preview=true) [Шаг 1](https://www.overleaf.com/learn/latex/Articles/Step_1:_Setting_up_an_Overleaf_project_to_use_variable_fonts?preview=true) [Шаг 2](https://www.overleaf.com/learn/latex/Articles/Step_2:_An_introduction_to_LaTeX_fonts?preview=true) [Шаг 3](https://www.overleaf.com/learn/latex/Articles/Step_3:_Replacing_LaTeX’s_default_fonts_with_variable_fonts?preview=true) [Шаг 4](https://www.overleaf.com/learn/latex/Articles/Step_4:_How_to_configure_an_italic_variable_font_using_fontspec?preview=true) [Шаг 5](https://www.overleaf.com/learn/latex/Articles/Step_5:_LaTeX_font_weights_and_named_instances_of_variable_fonts?preview=true) [Шаг 6](https://www.overleaf.com/learn/latex/Articles/Step_6:_Using_variable_fonts_to_add_bold_fonts_to_an_Overleaf_project?preview=true) [Шаг 7](https://www.overleaf.com/learn/latex/Articles/Step_7:_Using_Noto_Sans_and_Roboto_Mono_variable_fonts_with_LaTeX?preview=true) [Шаг 8](https://www.overleaf.com/learn/latex/Articles/Step_8:_How_to_create_a_simple_LaTeX_package_to_configure_your_variable_fonts?preview=true) [Примеры и проекты](https://www.overleaf.com/learn/latex/Articles/Overleaf_projects_showing_how_to_use_variable_fonts_with_LaTeX?preview=true)

На этом шаге мы настраиваем стили шрифта bold, italic и bold-italic для Noto Sans и Roboto Mono и демонстрируем их использование для набора капителей в стилях bold, italic и bold-italic.

Откройте текущий проект Overleaf, настроенный на шаге 6.

## Настройка Noto Sans и Roboto Mono

Мы хотим включить стили шрифта bold, italic и bold-italic для Noto Sans и Roberto Mono. Эти требования сведены в следующую таблицу с использованием стандартных идентификаторов серий и начертаний шрифтов LaTeX. Помните, что m исключается из идентификатора серии *кроме* где *обе* ширина и насыщенность равны m (medium).

| **Описание шрифта**                                                    | **Идентификатор серии** | **Насыщенность** | **Ширина** | **Начертание** |
| ---------------------------------------------------------------------- | ----------------------- | ---------------- | ---------- | -------------- |
| шрифт средней ширины, с жирностью bold, в обычном (upright) начертании | b                       | b                | m          | n              |
| шрифт средней ширины, со средней насыщенностью, в курсивном начертании | m                       | m                | m          | курсивное      |
| шрифт средней ширины, с жирностью bold, в курсивном начертании         | b                       | b                | m          | курсивное      |

В следующих разделах показано, как настроить Noto Sans и Roberto Mono для использования этих серий и начертаний шрифта. В разделе [Собираем всё вместе](#putting-it-all-together) показано, как активировать эти начертания шрифта с помощью `\setsansfont` и `\setmonofont` команд.

### Выбор значения оси веса для средних и жирных начертаний

Начнём с выбора значений оси веса, чтобы определить экземпляры Noto Sans и Roberto Mono со средним и жирным весом (ССЫЛКА НА РАЗДЕЛ УЧЕБНИКА). Ось [веса Noto Sans](https://fonts.google.com/specimen/Noto+Sans/tester) лежит в диапазоне от 100 до 900, а для [Roboto Mono](https://fonts.google.com/specimen/Roboto+Mono/tester) диапазон составляет от 100 до 700, что подсказывает следующие значения веса:

| **Название шрифта** | **Средний вес** | **Жирный вес** |
| ------------------- | --------------- | -------------- |
| Noto Sans           | 400             | 600            |
| Roboto Mono         | 300             | 550            |

### Настройка курсивного шрифта средней насыщенности для Noto Sans и Roboto Mono

Чтобы добавить курсивные шрифты, мы используем ключ fontspec `ItalicFont` который имеет вид

```
ItalicFont=⟨имя шрифта⟩
```

где ⟨имя шрифта⟩ — это название шрифта или имя файла шрифта.

В папке проекта Overleaf `VariableFonts` содержатся файлы курсивных шрифтов, которые нам нужно использовать:

* NotoSans-Italic-VariableFont-wdth-wght.ttf
* RobotoMono-VariableFont-wght.ttf

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

#### Параметры для обычного и курсивного шрифтов Noto Sans средней насыщенности

Для Noto Sans следующий код будет добавлен в преамбулу документа (см. раздел [Собираем всё вместе](#putting-it-all-together)).

```latex
\setsansfont{NotoSans-VariableFont-wdth-wght.ttf}[
Weight=400,
ItalicFont=NotoSans-Italic-VariableFont-wdth-wght.ttf
]
```

#### Параметры для обычного и курсивного шрифтов Roboto Mono средней насыщенности

Для Roboto Mono следующий код будет добавлен в преамбулу документа (см. раздел [Собираем всё вместе](#putting-it-all-together)).

```latex
\setmonofont{RobotoMono-VariableFont-wght.ttf}[
Weight=300,
ItalicFont=RobotoMono-Italic-VariableFont-wght.ttf
]
```

### Настройка bold и bold-italic для Noto Sans и Roboto Mono

Как показано в шаге XXX (ссылка), мы добавим жирные шрифты, используя ключ fontspec `FontFace` который имеет следующий вид

```
FontFace = {⟨series⟩}{⟨shape⟩}{ Font = ⟨font name⟩ , ⟨features⟩ }
```

где

* `⟨series⟩` — это идентификатор серии LaTeX (ссылка на раздел)
* `⟨shape⟩` — это идентификатор начертания LaTeX (ссылка на раздел)
* `⟨font name⟩` — это имя файла шрифта или название шрифта
* `⟨features⟩` содержит параметры, которые мы будем использовать для настройки наших переменных шрифтов, например задания значений для оси ширины или веса

#### Параметры для жирного и bold-italic шрифтов Noto Sans

Для жирного веса и обычного (upright) начертания у нас есть:

* `⟨series⟩` = b
* `⟨shape⟩` = n
* `⟨font name⟩` = NotoSans-VariableFont-wdth-wght.ttf
* `⟨features⟩` = Weight=600

в результате получается

```
FontFace = {b}{n}{Font = NotoSans-VariableFont-wdth-wght.ttf, Weight=600}
```

Для жирного веса и курсивного начертания:

* `⟨series⟩` = b
* `⟨shape⟩` = it
* `⟨font name⟩` = NotoSans-VariableFont-wdth-wght.ttf
* `⟨features⟩` = Weight=600

в результате получается

```
FontFace = {b}{it}{Font = NotoSans-VariableFont-wdth-wght.ttf, Weight=600}
```

#### Параметры для жирного и bold-italic шрифтов Roboto Mono

Для жирного веса и обычного (upright) начертания у нас есть:

* `⟨series⟩` = b
* `⟨shape⟩` = n
* `⟨font name⟩` = RobotoMono-VariableFont-wght.ttf
* `⟨features⟩` = Weight=550

в результате получается

```
FontFace = {b}{n}{Font = RobotoMono-VariableFont-wght.ttf, Weight=550}
```

Для жирного веса и курсивного начертания у нас есть:

* `⟨series⟩` = b
* `⟨shape⟩` = it
* `⟨font name⟩` = RobotoMono-VariableFont-wght.ttf
* `⟨features⟩` = Weight=550

в результате получается

```
FontFace = {b}{it}{Font = RobotoMono-VariableFont-wght.ttf, Weight=550}
```

## Собираем всё вместе

Чтобы применить описанные выше настройки, откройте текущий проект Overleaf и замените существующие `\setsansfont` и `\setmonofont` команды на следующие версии.

```latex
% Шрифт основной семейства без засечек
\setsansfont{NotoSans-VariableFont-wdth-wght.ttf}[
Weight=400,
ItalicFont=NotoSans-Italic-VariableFont-wdth-wght.ttf,
FontFace = {b}{n}{Font = NotoSans-VariableFont-wdth-wght.ttf, Weight=600},
FontFace = {b}{it}{Font =NotoSans-Italic-VariableFont-wdth-wght.ttf,Weight=600}
]
```

```latex
% Моноширинный шрифт семейства документа
\setmonofont{RobotoMono-VariableFont-wght.ttf}[
Weight=400,
ItalicFont=RobotoMono-Italic-VariableFont-wght.ttf,
FontFace = {b}{n}{Font =RobotoMono-VariableFont-wght.ttf, Weight=550},
FontFace = {b}{it}{Font = RobotoMono-Italic-VariableFont-wght.ttf, Weight=550}
]
```

## Как использовать наши новые шрифты

С помощью fontspec мы настроили шрифты bold, italic и bold-italic для всех трёх семейств шрифтов документа. Помимо настроенных нами шрифтов, fontspec также включил версии капителей, что можно увидеть, вставив следующий код в документ (после \begin{document}):

```latex
\begin{itemize}
\item Основное семейство текста (Noto Serif):
\begin{itemize}
    \item \textsc{обычные капители}
    \item \textit{\scshape курсивные капители}  
    \item \textbf{\scshape жирные капители}
    \item \textbf{\itshape\scshape жирные курсивные капители}
\end{itemize}
\item Семейство без засечек (Noto Sans):
\begin{itemize}
    \item \textsc{\sffamily обычные капители}
    \item \textit{\sffamily\scshape курсивные капители}  
    \item \textbf{\sffamily\scshape жирные капители}
    \item \textbf{\sffamily\itshape\scshape жирные курсивные капители}
\end{itemize}
\item Моноширинное семейство (Roboto Mono):
\begin{itemize}
    \item \textsc{\ttfamily обычные капители}
    \item \textit{\ttfamily\scshape курсивные капители}  
    \item \textbf{\ttfamily\scshape жирные капители}
    \item \textbf{\ttfamily\itshape\scshape жирные курсивные капители}
\end{itemize}
```

Этот код даёт следующий результат

![Изображение, показывающее капители, набранные в обычном, жирном и жирном курсивном стилях с использованием всех трёх семейств шрифтов документа.](/files/f1d7436ca703ff3cab422a581c5ae96e5e9351bf)

## На следующем шаге

Преамбула документа нашего проекта теперь довольно загромождена большим количеством кода настройки fontspec. На шаге 8 мы перенесём код настройки fontspec в отдельный простой проект, упростив преамбулу документа и облегчив обновление наших шрифтов.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://overleaf-pro.ayaka.space/latex/ru/podrobnye-stati/43-step-7-using-noto-sans-and-roboto-mono-variable-fonts-with-latex.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
