Як використовувати шрифти LaTeX у тексті

Коли ви пишете документ LaTeX, теги розмітки, які використовуються для структурування документа, автоматично вибирають відповідні шрифти. Наприклад, для заголовка розділу такі атрибути шрифту, як великий розмір і жирний шрифт, визначаються класом документа та застосовуються, коли використовується команда \section. Тому вам рідко потрібно безпосередньо вказувати атрибути шрифту.

Але іноді це необхідно. Наприклад, ви можете вибрати інше сімейство шрифтів (або інший загальний атрибут шрифту) для основного тексту. Таку зміну часто можна зробити так само просто, як вказавши відповідний пакет.

Інший випадок, коли потрібно позначити певні фрагменти документа як особливі - наприклад, абревіатури, приклади або назви компаній. Якщо ви вирішите використовувати, скажімо, шрифт без засічок для цих фрагментів, ви можете зробити це, оточивши назви компаній \textsf{...}. Але краще визначити нову команду (скажімо, \Company) для цієї мети. Визначення окремих команд для логічно різних речей полегшує зміну форматування пізніше узгодженим способом.

Ви також можете надрукувати таблицю меншого розміру, щоб вона розміщувалася на сторінці. Оскільки класи документів можуть автоматично форматувати документи лише до певної міри, це бажання є законним. З цього випливає, що форматування вручну, як і вставка розривів сторінок, часто необхідне для створення остаточної версії. На жаль, явне форматування ускладнює подальше використання документа та ускладнює його використання. Таким чином, пряме використання команд зміни шрифту в документі має бути зведено до мінімуму. Це також вірно для всіх команд візуального форматування.

3.1. Як використовувати команди шрифтів у стандартному LaTeX

Шрифт, який використовується для основного тексту документа, називається основним шрифтом, основним шрифтом або звичайним шрифтом. Він автоматично вибирається на початку документа та в певних конструкціях, таких як виноски та малюнки. Заголовки розділів та інші теги логічної розмітки автоматично перемикаються на інший шрифт або розмір залежно від класу документа. Тому введення правильної логічної розмітки є єдиною дією, яка вимагається від автора. Однак іноді може знадобитися вручну виділити певні частини тексту, вибравши відповідний шрифт. Це робиться за допомогою команд, розглянутих нижче.

Є дві форми для більшості команд зміни шрифту: команда з одним аргументом, наприклад \textbf{...}, і оголошення, наприклад \bfseries. Декларативна форма не приймає аргументів, а скоріше вказує LaTeX, що відтепер (до кінця поточної групи фігурних дужок або середовищ) він повинен поводитися особливим чином. Це означає, що вам не слід писати щось на зразок \bfseries{...}, тому що це зробить все жирним шрифтом від цього моменту до кінця поточного середовища.

Краще використовувати команди шрифту з одним аргументом, щоб змінити шрифти для окремих слів або коротких фраз у вашому документі. Для довших фрагментів слід використовувати форму оголошення середовища, як показано в прикладі нижче:

1Some words in this sentence are \begin{bfseries}typeset in bold letters.
2The bold typeface\end{bfseries} continues here. 

Форма середовища \bfseries

Самі декларативні форми часто краще підходять для визначення нових середовищ або команд.

It is also important that the font commands with one argument do not allow paragraph breaks in their arguments.

Основний шрифт документа

Використовуючи команду \textnormal або оголошення \normalfont, ви можете переключитися на основний шрифт документа. Зазвичай вони трапляються лише у визначеннях команд або середовищ, коли важливо визначити спосіб завжди вводити текст одним і тим самим шрифтом, незалежно від навколишніх умов. Наприклад, команда для введення імен команд LaTeX виглядатиме так:

1\newcommand\Lcs[1]{{\normalfont\ttfamily\textbackslash#1}%}

Використання \normalfont запобігає виділенню імен команд курсивом навіть у тексті, набраному курсивом.

Стандартні сімейства шрифтів

За замовчуванням LaTeX підтримує три сімейства шрифтів: текстовий шрифт із зарубками, доступ до якого здійснюється за допомогою команди \textrm; текстовий шрифт без зарубок, доступ до якого здійснюється через \textsf; і друкарський (моноширинний) шрифт, доступ до якого здійснюється за допомогою \texttt. Формами оголошення цих команд є \rmfamily, \sffamily та \ttfamily відповідно.

Точні назви зовнішніх сімейств шрифтів, до яких звертаються ці команди, залежать від класу документа, але можуть бути змінені в преамбулі або пакетах. За замовчуванням сімейство шрифтів із засічками — Computer Modern Roman, сімейство sans serif — Computer Modern Sans, а сімейство шрифтів — Computer Modern Typewriter. Якщо ви використовуєте інше налаштування, вам слід подбати про те, щоб визначити ці стандартні сімейства шрифтів, щоб шрифти можна було змішувати без візуальних зіткнень. Також важливо переконатися, що зовнішні шрифти доступні з правильною роздільною здатністю для цільового пристрою виводу.

Більшість класів документів встановлюють шрифт із зарубками, до якого звертається \textrm, як основний шрифт документа, тому команда \textrm не використовується часто. Але якщо розробник документа вибрав шрифт без зарубок як основний шрифт, \textrm буде альтернативним сімейством шрифтів із зарубками.

Стандартна серія шрифтів

У LaTeX серія є комбінацією двох атрибутів: ширини та ваги (напівжирності). LaTeX дозволяє змінювати ряд за допомогою двох команд: \textmd і \textbf. Відповідними оголошеннями є \mdseries і \bfseries відповідно. Перша команда вибирає шрифт із середніми значеннями ширини та товщини, тоді як остання перемикається на більш жирний ряд. Знову ж таки, фактичні значення залежать від класу документа та його параметрів або наступних пакетів. За умовчанням \textbf перемикається на розширену версію поточного шрифту, виділену жирним шрифтом, тоді як \textmd повертається до версії поточного шрифту середньої ширини та середньої щільності.

Стандартні форми шрифту

Форма поточного шрифту є третім атрибутом шрифту, який можна змінити незалежно від інших. Типовою формою для більшості документів є вертикальна форма, доступ до якої можна отримати за допомогою команди \textup або оголошення \upshape, якщо необхідно.

Найбільш часто використовуваними командами є \textit і \textsc, які змінюють форму шрифту курсивом або великими літерами відповідно. Відповідними оголошеннями є \itshape і \scshape.

Команда \textsl (її форма оголошення \slshape) перемикає на похилу форму. Сімейство шрифтів часто містить лише курсив або похилу форму, хоча Computer Modern Roman містить і те, і інше.

У точці, де хтось перемикається з похилого на вертикальний, символи зазвичай наближаються занадто близько один до одного, особливо якщо останній похилий символ має підйом. Належна кількість додаткового простору, яку слід додати на цій межі, називається виправленням курсиву. Точна ширина цього інтервалу залежить від окремого символу та зберігається у файлі .tfm. Команди шрифту з аргументами автоматично додають виправлення курсиву, але коли використовуються оголошення, його потрібно вставити вручну за допомогою \/. Для вертикального шрифту курсивна корекція символів зазвичай нульова або дуже мала, хоча є деякі винятки. У наступному прикладі показано, як правильно використовувати оголошення зміни форми, які перемикаються на нахилені фігури.

1\raggedright
2When switching back from {\itshape italic\/} or {\slshape slanted\/} shapes to an upright font one
3should add the {\itshape italic correction}, except when a small punctuation character follows.

Виправлення курсиву Маленькі великі літери іноді використовуються в заголовках або для форматування імен. Для останнього випадку ви можете, наприклад, визначити команду \name наступним чином:

1\newcommand\name[1]{\textsc{#1}}

Крім того, ви можете використовувати дві декларації:

1\newcommand\name[1]{{\normalfont\scshape #1}}

Перша команда просто перемикається на форму малих літер, тоді як друга форма спочатку скидає всі атрибути шрифту до стандартних значень. Який варіант вибрати, залежить від доступних шрифтів і типу документа. У Computer Modern тільки сімейства Roman і Typewriter містять маленькі великі форми, тому друге визначення може бути кращим у певних програмах, оскільки воно використовуватиме маленькі великі букви (хоча із засічками) навіть у контексті \sffamily. Перша команда вимагала б середньої серії, малі великі, фігурний шрифт у сімействі Computer Modern Sans. Цей шрифт недоступний, тому LaTeX спробує знайти заміну, спочатку змінивши атрибут shape на значення за замовчуванням. У результаті ви не отримаєте маленьких кап.

Інша команда спеціальної форми LaTeX — це команда \emph, яка підкреслює фрагменти у звичайному тексті. Його декларативна форма — \em. За традицією наголошені слова в тексті виділяються курсивом; але якщо потрібно зробити акцент на вже виділеному курсивом фрагменті тексту, зазвичай повертаються до вертикального шрифту. Команда \emph підтримує цю угоду, перемикаючись на форму \itshape, якщо поточний шрифт вертикальний, і на форму \upshape, якщо поточний шрифт уже нахилений (тобто, якщо форма \itshape або \slshape ). Таким чином, користувачеві не потрібно турбуватися про поточний стан тексту під час використання команди \emph або оголошення \em.

1{\em Nevertheless, one has to be careful about the\/ {\em proper\/} use of italic corrections
2on both ends of the emphasized text}. It is therefore better to use the \verb=\emph= command,
3which \emph{automatically} takes care of the italic correction on both sides.

Виділення фрагментів тексту

Стандартні розміри шрифту

У LaTeX є 10 команд для зміни розміру. Ці команди не мають відповідних форм команд з одним аргументом, оскільки зміни розміру шрифту зазвичай використовуються лише у визначеннях команд.

Стандартні розміри шрифту

Розмір, вибраний цими командами, залежить від налаштувань у класі документа та, можливо, від параметрів (наприклад, 11pt), указаних у ньому. Загалом, \normalsize відповідає основному розміру документа, а команди зміни розміру утворюють упорядковану послідовність, починаючи з \tiny як найменшого і закінчуючи \Huge як найбільшого розміру. Може статися, що кілька команд посилаються на той самий розмір. Наприклад, якщо вибрано великий \normalsize, \Huge може бути таким самим, як \huge. Але порядок завжди дотримується.

Команди зміни розміру для основних розмірів тексту (тобто \normalsize, \small і \footnotesize) зазвичай впливають на інтервали навколо списків і відображень. Тому, щоб змінити їхню поведінку, потрібно не просто замінити їхнє визначення викликом \fontsize, а натомість почати з їх оригінального визначення, як описано в classes.dtx.

3.2. Як комбінувати стандартні команди шрифту

Як уже було показано, стандартні команди та оголошення для зміни шрифту можна комбінувати, в результаті вибираючи гарнітуру, яка відповідає комбінації атрибутів шрифту. Дивіться приклад нижче:

1One can typeset a text {\sffamily\bfseries\large in a large sans serif
2bold typeface} but note the unchanged leading! \LaTeX{} uses the value
3in force at the \emph{end} of the paragraph!

Комбінації команд шрифту LaTeX Внутрішня команда \sffamily перемикається на сімейство sans serif за замовчуванням, потім \bfseries перемикається на серію за замовчуванням жирним шрифтом у цьому сімействі, і, нарешті, \large вибирає великий розмір, але залишає всі інші атрибути незмінними. Здається, що інтернаціонал не змінився, оскільки область дії \large закінчується перед кінцем абзацу. Файли метрики шрифтів завантажуються для всіх проміжних гарнітур, навіть якщо ці шрифти ніколи не використовуються. У наведеному вище прикладі це буде «без зарубок середній 10 пт» після \sffamily, потім «без засічок жирний розширений 10 пт» після \bfseries і, нарешті, «без засічок жирний розширений 14 пт», що є шрифт, який фактично використовується. Таким чином, такі команди високого рівня можуть змусити вибір шрифтів LaTeX непотрібно завантажувати шрифти, які ніколи не використовуються. Існує лише невелика втрата швидкості обробки, коли дана комбінація використовується вперше. Але якщо у вас є багато різних комбінацій цього типу, вам краще визначити їх у термінах примітивних оголошень зміни шрифту.

3.3. Порівняння команд і оголошень шрифтів

Усі команди зміни шрифту з аргументами починаються з \text... (крім \emph), щоб підкреслити, що вони призначені для використання у звичайному тексті. Використання таких команд замість декларативних форм має перевагу збереження узгодженості з іншими конструкціями LaTeX. Вони призначені для набору коротких фрагментів тексту в певному сімействі, серії або формі. У наступній таблиці показано вплив цих команд.

Команди та оголошення

Ще одна перевага цих команд полягає в тому, що вони автоматично вставляють будь-яке необхідне виправлення курсивом з обох сторін свого аргументу. Таким чином, вам не доведеться турбуватися про те, що ви пропустите виправлення курсиву під час зміни шрифтів.

Виправлення курсиву, вставлене автоматично, є неправильним у дуже кількох ситуаціях. Зазвичай рекомендується опускати виправлення курсиву, якщо маленький знак пунктуації (кома або крапка) стоїть безпосередньо після зміни шрифту. Ви можете визначити, у яких випадках виправлення курсиву слід придушувати. Це робиться шляхом визначення символів, які мають скасувати попереднє виправлення курсиву, у списку \nocorrlist. Стандартне визначення для цієї команди

1\newcommand{\nocorrlist}{,.}

Також можна придушити виправлення курсиву в окремих випадках. Для цього передбачена команда \nocorr. Зауважте, що ви повинні розміщувати \nocorr ліворуч або праворуч всередині аргументу команди \text..., залежно від того, яка сторона фрагмента потребує придушення виправлення курсиву.

1\emph{When using the \LaTeX{} high-level font commands, the \emph{proper} use of
2italic corrections is automatically taken care of}. Only \emph{sometimes} one has
3to help \LaTeX{} by adding a \verb=\nocorr= command.

Виправлення курсиву

Навпаки, форми декларацій часто більше підходять для визначення ваших власних команд або середовищ.

1% Part of the preamble
2\newenvironment{bfitemize}{\begin{itemize}%
3  \normalfont\bfseries\raggedright}{\end{itemize}}
4-----------------------------------------------
5\begin{bfitemize}
6\item This environment produces boldface items.
7\item It is defined in terms of \LaTeX's
8\texttt{itemize} environment and NFSS declarations.
9\end{bfitemize}

Список елементів, виділених жирним шрифтом

3.4. Як отримати доступ до всіх символів шрифту

Навіть якщо символ існує в шрифті, іноді неможливо ввести його з клавіатури. Багато корисних символів доступні за допомогою таких команд, як \ss або \AE. Деякі символи можуть бути неявно згенеровані з послідовностей літер, наприклад ffi, що створює лігатуру «ffi», і ---, яке дає довге тире у стандартних шрифтах TeX.

Крім того, команда \symbol дозволяє отримати доступ до будь-якого символу в шрифті, вказавши його номер у поточній схемі кодування як десяткове, вісімкове (передує ') або шістнадцяткове (передує ") число .

1\fontencoding{T1}\selectfont
2-----------------------------------------------
3In the font encoding (\texttt{T1}), characters like \symbol{"DE},
4symbol{'237}, and \symbol{32} are included and can be accessed with
5the \verb=\symbol= command.

Команда \symbol

3.5. Як змінити типові шрифти тексту

Якщо ви бажаєте легко змінити загальний вигляд документа, ви можете використовувати вбудовані хуки LaTeX, які змінюють поведінку команд високорівневої зміни шрифту, про які йшлося раніше. Значення цих хуків можна встановити у файлах пакунків або в преамбулі документа за допомогою \renewcommand. Ось список гачків:

Гаки для високорівневої зміни шрифту Наприклад, якщо написати в преамбулі

1\renewcommand\familydefault{cmss}

цілий документ вийшов би в Computer Modern Sans, тому що це перевизначення змінює сімейство шрифтів для основного шрифту, який використовується LaTeX. Докладніше, основний шрифт документа визначається значеннями \encodingdefault, \familydefault, \seriesdefault і \shapedefault. Це означає, що ви повинні переконатися, що ці команди визначені таким чином, щоб їхня комбінація вказувала на існуючу форму шрифту у внутрішніх таблицях LaTeX.

Значення за замовчуванням \encodingdefault (OT1) фактично служить сумісності. Це означає, що LaTeX передбачає, що більшість шрифтів використовують оригінальне кодування. У більшості випадків краще використовувати кодування T1, оскільки воно містить багато додаткових гліфів, недоступних у OT1, і дозволяє правильно розставляти переноси для слів із символами наголосу. Зараз деякі шрифти взагалі не підтримують OT1, оскільки вони призначені для використання з T1.

Важливо пам’ятати, що не кожен шрифт можна використовувати як стандартне кодування документа. Обов’язковою умовою є те, що кодування має включати більшість видимих ​​літер ASCII у їхніх стандартних позиціях. \encodingdefault можна змінити, завантаживши пакет fontenc з одним або кількома параметрами.

Початкове налаштування \familydefault означає, що зміна \rmdefault неявно змінить \familydefault на нове значення, доки не визначено спеціальне налаштування \familydefault. Але якщо \familydefault змінено, \rmdefault не впливає.

Subscribe to Aspose Product Updates

Get monthly newsletters & offers directly delivered to your mailbox.