Как использовать только один глиф из textcomp

Как использовать только один глиф из textcomp

Я хотел бы использовать символ, указанный 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и т. п. Для каждого варианта требуется новый шрифт и макрос.

Краткое содержание

Поскольку последний метод громоздкий и имеет серьезные ограничения, я бы рекомендовал третий метод (или один из первых трех методов).

Результат

Результат

Связанный контент