Установите бесплатные шрифты Cabin Open Type в свой домашний каталог. Рассмотрите этот файл как скомпилированный с помощью XeLaTeX:
\documentclass{article}
\usepackage{fontspec}
\setmainfont{Cabin}
\begin{document}
{\scshape test}
\end{document}
Используйте MiKTeX на Windows. Когда пакет cabin
установлен, то маленькие заглавные буквы игнорируются. Когда он не установлен, то результат тот, что и требовалось.
При компиляции в Linux с использованием TeX Live результат всегда будет таким, как хотелось бы, независимо от того, установлен пакет или нет.
Та же проблема с FiraSans
. Есть идеи, как это решить?
решение1
Как предположила Ульрике Фишер в комментариях и как описано вhttps://tex.stackexchange.com/a/87906/2388, проблема в том, что MiKTeX ищет в texmf
дереве и сначала использует шрифты Type 1. Если вы хотите использовать шрифты как с pdfTeX, так и с XeLaTeX, то лучшим решением будет запретить MiKTeX использовать шрифты Type 1. (Однако, если вы хотите использовать шрифты только с XeLaTeX, то просто удалите соответствующий пакет вместе со шрифтами в дереве texmf
.)
Вот что я сделал FiraSans
(на Windows 7). Нашел файл localfont2.conf
и C:\Documents and Settings\UserName\Application Data\MikTeX\2.9\fontconfig\config
добавил эти строки (у меня установлен MiKTeX в C:\miktex29
):
<selectfont>
<rejectfont>
<glob>C:/miktex29/fonts/type1/public/fira/*</glob>
</rejectfont>
</selectfont>
Затем обновил FNDB и обновил форматы в настройках MiKTeX. После этого компиляция MWE (замена Cabin
на FiraSans
) с XeLaTeX дала ожидаемый результат.