設定フォントで「'」と「\prime」を記号に変更し、数式モードのみで斜体の「f」の両側にスペースを追加するにはどうすればよいでしょうか。

設定フォントで「'」と「\prime」を記号に変更し、数式モードのみで斜体の「f」の両側にスペースを追加するにはどうすればよいでしょうか。

まず、最小限の動作例は次のとおりです。

\documentclass{article}
\usepackage{amsmath,amsfonts,amssymb,mathrsfs}
\usepackage{mathspec}
\setallmainfonts(Digits,Latin){Times}%a replacement of the font that I am using now
\title{Test}
\begin{document}
\maketitle

$a'+b=c^\prime$ and $(f),[f],\{f\}$.

\end{document}

そしてその出力xelatex

ここに画像の説明を入力してください

私の質問は次のとおりです:

  1. コードによって生成された画像の素数'と は、\primeどちらもデフォルトのフォントからのものです。では、と を設定フォントの記号にComputer Modern変更するにはどうすればよいでしょうか。グローバル設定を希望しますが、ローカル設定は希望しません。'\primeTimes
  2. 数式モードでは、斜体の両側のスペースfが小さすぎて、括弧とfが近すぎます。それでは、数式モードのみで(テキスト モードではなく)斜体の両側にスペースを追加するにはどうすればよいfでしょうか。グローバル設定を希望しますが、ローカル設定も希望しません。

質問 2 は次のように解決されましたが、質問 1 については誰が助けてくれるでしょうか?

答え1

"fのマニュアルに記載されているように (他の文字についても同様)を使用する必要がありますmathspec

'は と同じであることに注意してください^{\prime}

\documentclass{article}
\usepackage{amsmath,amsfonts,amssymb,mathrsfs}
\usepackage{mathspec}
\setallmainfonts(Digits,Latin){Times}%a replacement of the font that I am using now
\title{Test}
\begin{document}
\maketitle

$a'+b="f^\prime$ and $("f),["f],\{"f\}$.

\end{document}

ここに画像の説明を入力してください

答え2

質問2については、次のような答えが返ってきました。リンク@egreg の助けを借りて、ここに答えを投稿します:

\makeatletter
\AtBeginDocument{%
    \Umathcharnumdef\math@f\Umathcodenum`f 
    \mathcode`f=\string"8000}
\begingroup\lccode`~=`f
\lowercase{\endgroup
    \def~{%
        \mkern3mu\math@f
        \ifnum\mathgroup=\m@ne
        \expandafter\@firstofone
        \else
        \expandafter\@gobble
        \fi
        {\@ifnextchar_{\relax}{\mkern3mu}}%
    }
}
\makeatother

リビジョンの出力は次のようになります。

ここに画像の説明を入力してください

関連情報