密切相关: 数学模式中 f 周围的间距很难看。我想知道我应该如何定义一个不指定功能而只是标准字母的“f”。例如,我有一些贡献者可能想要书写ax + by + cz +
,有时他们会把字母写得超出 f。(如果他们选择不同的命名方案会更好,但这不是我的决定。)所以,我在想:
\newcommand{\f}{\hspace{-3pt}f\hspace{-5pt}}
如同
\documentclass[12pt]{article}
\usepackage{charter}
\usepackage{amsmath}
\begin{document}
\Huge
text test abcdefghi
text test \textit{abcdefghi}
math test $abcdefghi$ --- bad
math test $\text{a}\text{b}\text{c}\text{d}\text{e}\text{f}\text{g}\text{h}\text{i}$ --- not italic
math test $abcde\text{f}ghi$ --- bad
math test $abcde\text{\it f}ghi$ ---still bad
math test $abcde\hspace{-0.1em}fghi$ --- better
math test $abcde\hspace{-3pt}f\hspace{-5pt}ghi$ --- better
\newcommand{\f}{\hspace{-3pt}f\hspace{-5pt}}
math test $abcde{\f}ghi$ --- same
\end{document}
这是推荐的做法吗?如果我想让所有“f”在数学模式中失去其特殊外观,我该怎么做?
谢谢您的建议。
问候,/iaw
答案1
(谢谢,Mico:)我相信最好的答案是
\newcommand{\f}{\mkern-2mu f\mkern-3mu}
然后使用math test $abcde{\f}ghi$
。此间距适用于 charter 字体。其他字体可能具有不同的间距,并且可能需要调整间距(甚至删除)。这解决了问题的主要部分。我现在附上一个示例,其中(相对于我的原始帖子),只有 \f 已更改为 mkern 定义。
我不知道如何以这种方式覆盖所有 mathfont f,但这不太重要。
希望这有帮助。
\documentclass[12pt]{article}
\usepackage{charter,fourier}
\usepackage{amsmath}
\newcommand{\f}{\mkern-2mu f\mkern-3mu}
\begin{document}
\obeylines % just for this example
text test abcdefghi
text test \textit{abcdefghi} --- text italics
math test $abcdefghi$ --- bad
math test $\text{abcdefghi}$ --- not italic
math test $abcde\text{f}ghi$ --- bad
math test $abcde\textit{f}ghi$ ---too tight
math test $abcde{\f}ghi$ --- better
\end{document}