Файл шрифту поруч із проектом
fontspec Шлях для локальних родин otf або ttf.
Файл шрифту поруч із проектом
Припустімо, що у вашій дисертації використовується шрифт, який не встановлюється на кожній машині, на якій її коли-небудь компілюватимуть: на ноутбуці співавтора, на сервері збірки університету чи на вашому власному комп’ютері після перевстановлення. Встановлення загальносистемного шрифту на кожному з них є крихким і іноді забороненим. Помістіть файли шрифтів у папку проекту та вкажіть на них fontspec, щоб документ мав власну типографіку. Для цього потрібен XeLaTeX або LuaLaTeX, оскільки fontspec не працює в pdfLaTeX. Причини описано в чому люди переходять на XeLaTeX.
\usepackage{fontspec}\setmainfont{MyFont}[ Path = ./fonts/, Extension = .otf, UprightFont = *-Regular, BoldFont = *-Bold, ItalicFont = *-Italic]Що робить кожна клавіша
\setmainfont{MyFont} оголошує основне текстове сімейство та дає йому базове ім’я, яке використовується для створення назв файлів. Path = ./fonts/ вказує fontspec шукати файли в папці fonts всередині проекту, відносно основного файлу .tex, замість запиту в операційної системи. Розширення = .otf вказує тип файлу один раз, тому його не потрібно повторювати для кожного файлу. Використовуйте .ttf, якщо це те, що у вас є.
Інші клавіші відображають форми шрифтів у файлах. У кожному «*» розширюється до базової назви, тому «UprightFont = *-Regular» перетворюється на «MyFont-Regular.otf», а також «MyFont-Bold.otf» і «MyFont-Italic.otf». Ці назви мають точно збігатися з фактичними назвами файлів, включно з великими літерами, оскільки регістр має значення на серверах Linux, навіть якщо ваша локальна система це пробачає. Якщо сімейство має жирний курсив, додайте BoldItalicFont = *-BoldItalic. Форма, яку ви не зіставляєте, є формою, яку документ не може використовувати: без рядка BoldFont \textbf не має на що перемикатися, і компілятор попереджає, що форма жирного шрифту не визначена.
Той самий синтаксис працює для інших сімейств, тому \setsansfont і \setmonofont приймають ідентичні блоки опцій для локального без засічок або кодового шрифту.
Ліцензування та переносимість
Надсилайте файли шрифтів із проектом, лише якщо ліцензія дозволяє розповсюдження. Відкриті ліцензії, такі як SIL Open Font License, це дозволяють, і шрифти з Google Fonts зазвичай відповідають вимогам, але комерційні шрифти зазвичай забороняють передавати копії співавторам, і в цьому випадку кожній машині потрібна власна ліцензована копія, і ви повинні задокументувати цю вимогу в readme проекту.
Поширеною помилкою є мовчазна невідповідність між заявленими іменами та файлами, часто після перейменування папки або завантаження ваги з іншою назвою. Потім компіляція зупиняється з повідомленням «Шрифт «MyFont-Regular» не знайдено». Коли це станеться, порівняйте символ за символом очікуваної назви файлу помилки з вмістом папки та переконайтеся, що Шлях усе ще вказує, де знаходяться файли. Оскільки вбудований механізм Oleafly Tectonic базується на XeTeX, цей локальний шаблон для проекту працює там без встановлення системного шрифту.