「»」を使用して新しい数式区切り文字を定義するにはどうすればよいでしょうか?

「»」を使用して新しい数式区切り文字を定義するにはどうすればよいでしょうか?

記号「»」(フランス語のウミバト)を使った特殊な数式括弧を使いたいのですが、問題は、\mboxまたはを使用して定義すると\text、周囲のテキストとともに斜体になってしまうことです。

\documentclass[12pt,a4paper]{letter}
\usepackage[T1]{fontenc}
\usepackage{amsmath}
\begin{document}
\newcommand{\fopen}{\mathopen\text{\guillemotleft}}
\newcommand{\fclose}{\mathclose\text{\guillemotright}}
\newcommand{\ff}[1]{\fopen #1\fclose}   

\textbf{What I have}

With normal text $\ff{O:P:Q}$ 

{\itshape With text in italic $\ff{O:P:Q}$ } (guillemots in italic)

\textbf{What it should be}

With normal text $\ff{O:P:Q}$ 

{\itshape With text in italic}  $\ff{O:P:Q}$ 
\end{document}

数学_ウミバト_イタリック

答え1

使用されるフォントは、\text数式が開始されたときに有効だったフォントなので、斜体のコンテキストでは斜体になります。

代わりにを使用してください\textnormal:

\newcommand{\fopen}{\mathopen{\textnormal{\guillemotleft}}}
\newcommand{\fclose}{\mathclose{\textnormal{\guillemotright}}}

追加の中括弧にも注意してください。これは実装のせいでエラー メッセージが表示されないためです。以下の例では、コマンドが を尊重する方法も追加しています\boldmath

\documentclass[12pt,a4paper]{letter}
\usepackage[T1]{fontenc}
\usepackage{amsmath}
\usepackage{pdftexcmds}

\makeatletter
\newcommand{\normalorbold}{%
  \ifnum\pdf@strcmp{\math@version}{bold}=\z@\bfseries\fi
}
\makeatother

\newcommand{\fopen}{\mathopen{\textnormal{\normalorbold\guillemotleft}}}
\newcommand{\fclose}{\mathclose{\textnormal{\normalorbold\guillemotright}}}
\newcommand{\ff}[1]{\fopen #1\fclose}   

\begin{document}

\textbf{What I have}

With normal text $\ff{O:P:Q}$ 

{\itshape With text in italic $\ff{O:P:Q}$}

\textbf{What it should be}

With normal text $\ff{O:P:Q}$ 

{\itshape With text in italic}  $\ff{O:P:Q}$ 

{\boldmath $\ff{O:P:Q}$}

\end{document}

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

シンボル フォントが不足していない場合は、次のように定義できます。

\documentclass[12pt,a4paper]{letter}
\usepackage[T1]{fontenc}
\usepackage{amsmath}

\DeclareSymbolFont{supplsymbols}{T1}{\familydefault}{m}{n}
\SetSymbolFont{supplsymbols}{bold}{T1}{\familydefault}{bx}{n}

\DeclareMathSymbol{\fopen}{\mathopen}{supplsymbols}{19}
\DeclareMathSymbol{\fclose}{\mathclose}{supplsymbols}{20}
\newcommand{\ff}[1]{\fopen #1\fclose}   

\begin{document}

\textbf{What I have}

With normal text $\ff{O:P:Q}$ 

{\itshape With text in italic $\ff{O:P:Q}$}

\textbf{What it should be}

With normal text $\ff{O:P:Q}$ 

{\itshape With text in italic}  $\ff{O:P:Q}$ 

{\boldmath $\ff{O:P:Q}$}

\end{document}

関連情報