![我想在数学模式下仅更改公式中一个字母的字体](https://linux22.com/image/308008/%E6%88%91%E6%83%B3%E5%9C%A8%E6%95%B0%E5%AD%A6%E6%A8%A1%E5%BC%8F%E4%B8%8B%E4%BB%85%E6%9B%B4%E6%94%B9%E5%85%AC%E5%BC%8F%E4%B8%AD%E4%B8%80%E4%B8%AA%E5%AD%97%E6%AF%8D%E7%9A%84%E5%AD%97%E4%BD%93.png)
有人说这是一个重复的问题,但我不这么认为,因为我无法通过阅读其他帖子来做到这一点。我有类似
\documentclass[a4paper,12pt]{book}
\usepackage{times}
\usepackage[T1]{fontenc}
\begin{document}
\begin{chapter}
\[
w_1 = ax + b
\]
\end{document}
等式中的字母 w 以普通数学模式显示。我希望它以 eulervm 字体显示。我备注:只有 w 必须以 eulervm 字体显示。如何操作?提前致谢。
答案1
这似乎有效。但这可能是更糟糕的方法(最好等待专业答案),我真的不知道我在做什么。
你可能想看看这个问题。
\documentclass{scrbook}
\usepackage[T1]{fontenc}
%\usepackage{newtxtext,newtxmath}
\usepackage{lmodern}
\DeclareSymbolFont{euletters} {U}{zeur}{m}{n}
\SetSymbolFont{euletters}{bold} {U}{zeur}{b}{n}
\DeclareMathSymbol\eulerw{\mathalpha}{euletters}{`\w}
\def\enableeulerw
{\edef\disableeulerw{\mathcode`w=\the\mathcode`\w}\mathcode`\w="8000 }
\def\disableeulerw{}
\begingroup\lccode`~=`w\lowercase{\endgroup\let~}\eulerw
\begin{document}
\section{Foo}
\[
w_1 = ax + b
\]
\section{Bar}
\enableeulerw
\[
w_1 = ax + b
\]
\disableeulerw
\section{Baz}
\[
w_1 = ax + b
\]
\end{document}
答案2
这个软件包times
已经过时好几年了;使用它,数学运算仍然会用 Computer Modern 排版,而这会与 Times New Roman 产生可怕的冲突。
要么使用mathptmx
,要么更好,newtxtext
和newtxmath
。
然而,事实证明欧拉“w”与泰晤士斜体“w”并没有太大区别,所以也许你可以使用欧拉字母的粗体版本。
\documentclass[a4paper,12pt]{book}
\usepackage[T1]{fontenc}
% for Times in text and math
\usepackage{newtxtext,newtxmath}
% or the following
%\usepackage{mathptmx}
\DeclareSymbolFont{eulerletters}{U}{zeur}{b}{n}
\DeclareMathSymbol{\eulw}{\mathord}{eulerletters}{`w}
\begin{document}
\[
\eulw_1 = ax + b - w
\]
\end{document}
这是中等欧拉“w”的情况,通过改变上面的代码获得
\DeclareSymbolFont{eulerletters}{U}{zeur}{m}{n}
我的观点是,在这两种情况下,你的读者都不会理解其中的区别。
也许使用\mathsf{w}
会是更好的选择
\[
\mathsf{w}_1 = ax + b - w
\]
会产生