混合各种字体的字符(在文本模式下)

混合各种字体的字符(在文本模式下)

classico每天都会用到它,还有\usepackage[EULERGREEK]{sansmath}\sansmath 公式。我的问题是:我不喜欢 classico 的“等号”形状。我觉得它太窄了,例如在 中\Longrightarrow,但在其他地方也相当窄。(平均能量损失在 pastebin 上)

以“Classico”字体呈现的简单文本

在对 tex.sx 进行了大量研究之后(例如从不同字体导入单个符号,等等)我能够说服数学模式保留现代计算机的等号。

\DeclareSymbolFont{mysymbols}{T1}{cmr}{m}{n}
\DeclareMathSymbol{=}{\mathrel}{mysymbols}{`=}

我不知道这是否正确的做法但我觉得它已经足够好了

相同的文本,但数学等式取自“Computer modern”字体

我也想更改文本模式下等号的字体。可以吗?

我尝试玩更多我不理解的东西(比如 catcodes、cf平均能量损失),但却一无所获。

\documentclass{article}

\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}

\usepackage[sfdefault]{classico}
\usepackage[EULERGREEK]{sansmath}\sansmath

\DeclareSymbolFont{mysymbols}{T1}{cmr}{m}{n}
\DeclareMathSymbol{=}{\mathrel}{mysymbols}{`=}

% \catcode`==13 \def ={\ensuremath{=}}

\begin{document}


\begin{center}
text: 1 2 3 = 4 5 6
\end{center}

\begin{center}
math:  $ 1 2 3 = 4 5 6$
\end{center}

\begin{center}
 arrow: $\Longrightarrow$
\end{center}

\end{document}

答案1

如果使用 LuaLaTeX 或 XeLaTeX 进行编译,这里有一种fontspec方法可以在文本模式下以单独的字体获取等号。

\documentclass{article}

\usepackage{lmodern}
\renewcommand*\familydefault{\sfdefault}              % Use sans as base font

\usepackage{fontspec}
\newfontfamily{\mymathfont}{Latin Modern Math}        % Family for math symbols
\newcommand{\mymath}[1]{\bgroup\mymathfont #1\egroup} % Command to apply family
\newcommand{\EQ}{\mymath{=}}                          % Specific command for equals sign

\begin{document}
text: 1 2 3 \EQ\ 4 5 6
\end{document}

相关内容