
Я хотел бы использовать символ, указанный textordmasculine
на textcomp
упаковке.
НоЯ не хочу загружать textcomp
так как это слишком много, а мне нужен только этот символ (на самом деле мне нужен символ мужского рода с подчеркиванием, а я не нашел этого символа, кроме как с помощью textcomp
).
ОтКТАНя нашел
\DeclareTextSymbol{\textordmasculine}{TS1}{'272}
\DeclareTextSymbolDefault{\textordmasculine}{TS1}
но понятия не имею, как использовать эти строки для загрузки этого символа.
Если я использую оба варианта, то получу
Encoding scheme `TS1' unknown. ...ontFamily{TS1}{cmr}{\hyphenchar\font\m@ne}
Encoding scheme `TS1' unknown. \DeclareFontFamily{TS1}{phv}{}
решение1
Полныйtextcomp
\documentclass{article}
\usepackage{textcomp}
\begin{document}
\textordmasculine
\end{document}
Пакет textcomp
заботится о семействах шрифтов, которые не поддерживают полный диапазон кодировки TS1, с помощью концепции «подкодировки».
Полное кодирование TS1 безtextcomp
\documentclass{article}
\usepackage[TS1,OT1]{fontenc}% or T1 instead of OT1
\begin{document}
\textordmasculine
\end{document}
Это предполагает, что используемый шрифт поддерживаетвсесимволы TS1. Однако, \textordmasculine
обычно не отсутствует. Но другие символы, как \textbullet
переопределяются для использования кодировки TS1.
Частичное кодирование TS1 с\textordmasculine
\documentclass{article}
\DeclareFontEncoding{TS1}{}{}
\DeclareFontSubstitution{TS1}{cmr}{m}{n}
\DeclareTextSymbol{\textordmasculine}{TS1}{186}
\DeclareTextSymbolDefault{\textordmasculine}{TS1}
\begin{document}
\textordmasculine
\end{document}
Тогда символ все еще определяется с помощью NFSS2 LaTeX. Это означает, что команды размера шрифта, изменение атрибутов шрифта ( \textbf
, …) работают. Но \textbullet
не переопределяется.
Загрузка шрифта через простую команду TeX
Если вам нужен символ только одного размера и формы, то вы также можете загрузить шрифт напрямую. Затем сначала создайте MWE для символа с помощью textcomp
:
\documentclass{article}
\usepackage[loading]{tracefnt}
\usepackage{textcomp}
\pagestyle{empty}
\begin{document}
\textordmasculine
\end{document}
Убедитесь, что размеры и семейства шрифтов указаны правильно:
- Правильный размер параметра для класса документа (
10pt
,11pt
,12pt
). - MWE содержит все остальные пакеты шрифтов (
lmodern
,mathptx
, …).
Затем запустите MWE через LaTeX и найдите следующую информацию tracefnt
:
LaTeX Font Info: External font `tcrm1000 at10.0pt' loaded as
(Font) TS1/cmr/m/n/10 on input line 6.
tcrm1000 at10.0pt
может отличаться в зависимости от настроек шрифта и размера. Это данные, которые нам нужны для \newfont
:
\documentclass{article}
\newfont{\fonttextcomp}{tcrm1000 at10.0pt}
% \providecommand for the case `textcomp` is loaded.
\providecommand*{\textordmasculine}{%
\begingroup\fonttextcomp\symbol{186}\endgroup
}
\begin{document}
\textordmasculine
\end{document}
Ограничение: символ не будет изменять размер и не будет подвержен влиянию \textbf
и т. п. Для каждого варианта требуется новый шрифт и макрос.
Краткое содержание
Поскольку последний метод громоздкий и имеет серьезные ограничения, я бы рекомендовал третий метод (или один из первых трех методов).