数学モード用の太字の pzc

数学モード用の太字の pzc

次のように定義されたpzcフォントを太字にする適切な方法はありますか?

\DeclareMathAlphabet{\mathpzc}{OT1}{pzc}{m}{it}

数式モードでは、以下のように\bmを試しても何も表示されませんでした

\documentclass{report}
\usepackage{amsmath}
\usepackage{bm}
\DeclareMathAlphabet{\mathpzc}{OT1}{pzc}{m}{it}
\begin{document}
$\mathpzc{A}$ is a set and $\bm{ \mathpzc{B}}$ is a polyset.
\end{document}

助言がありますか?

答え1

Zapf Chancery フォント (またはそのクローン) は太字では使用できません。

XeLaTeX または LuaLaTeX を使用する場合は、Zapf Chancery のクローンである TeX Gyre Chorus を利用して太字を偽装することができます。

\documentclass{article}
\usepackage{fontspec}

\newfontfamily{\chorus}{TeX Gyre Chorus}[
  NFSSFamily=chorus,
  BoldFont=*,
  BoldFeatures={FakeBold=3},
]

\DeclareMathAlphabet{\mathzc}{TU}{chorus}{m}{n}
\DeclareMathAlphabet{\mathzcb}{TU}{chorus}{b}{n}

\begin{document}

$\mathzc{A}\ne\mathzcb{A}$

\end{document}

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

答え2

ユーザー @egreg と完全に一致して、2 つの極端なオプションがあります。

  1. またはcontourパッケージを使用します(私の意見では、これは良い妥協案です)。

\documentclass[a4paper,12pt]{article}
\usepackage{amsmath}
\usepackage{contour}
\DeclareMathAlphabet{\mathpzc}{OT1}{pzc}{m}{it}
\begin{document}
$\mathpzc{A}$ is a set and \contour[2]{black}{$\mathpzc{A}$} is a polyset.
\end{document}

パラメータはほぼ適切で正しいと思います2。そうでない場合は、オプションを で設定します1。パラメータ を使用した以下の例を参照してください1

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

\documentclass[a4paper,12pt]{article}
    \usepackage{amsmath}
    \usepackage{contour}
    \DeclareMathAlphabet{\mathpzc}{OT1}{pzc}{m}{it}
    \begin{document}
    $\mathpzc{A}$ (normal) \contour[1]{black}{$\mathpzc{A}$} (bold)
    \end{document}

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

あなたは見ることができますズームイン二重の背景が見えますが、遠くからは分かりません。

  1. amsbsyまたは、パッケージにひどい偽の太字記号を使用する:

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

\documentclass[a4paper,12pt]{article}
\usepackage{amsmath}
\usepackage{amsbsy}
\DeclareMathAlphabet{\mathpzc}{OT1}{pzc}{m}{it}
\begin{document}
$\mathpzc{A}$ is a set and $\pmb{\mathpzc{A}}$ is a polyset.
\end{document}

付録:

  1. 使用することでさらに最良の結果を得ることができますxfakeboldHerbert Voß バージョン 0.08 2020-06-24 のパッケージ。

答え3

ここにあるのはXY問題。 本当に欲しいのは「数式モード用の太字pzc」ではなく、太字の数学用スクリプトアルファベットです。太字の数学用スクリプトアルファベットを提供するパッケージはいくつかありますが、最も良いのは\symbfcal\symbfscrunicode-math、およびの\mathbcalアルファベット\mathbscrmathalphaどちらも、包括的な選択、フォント サンプル、スケーリング、および複数のフォントの標準インターフェイスを提供します。

ドキュメントで警告されているようにmathalpha、Zapf Chancery は「高さや深さが異なり、一部のグリフの末尾が長いため、数学のアルファベットとして使用するには適していません。注意して使用してください。」

これは、モダン TeX またはクラシック TeX 用の MWE です。pxmath/txmath\mathcalアルファベットのクローンを使用します。別のフォント セットが好みかもしれませんが、どちらのパッケージでも多くの選択肢が用意されています。

\documentclass{article}
\usepackage{iftex}

\ifTUTeX
  \usepackage{unicode-math}
  \setmathfont{Latin Modern Math}
  \setmathfont{Asana Math}[range={scr,bfscr}, Alternate, Scale=MatchUppercase]
\else
  \usepackage{amsmath}
  \usepackage[scr=pxtx]{mathalpha}
  \newcommand\mathbfscr[1]{\mathbscr{#1}}
\fi

\pagestyle{empty}

\begin{document}
\(\mathscr A\) is a set and \(\mathbfscr A\) is a polyset.
\end{document}

LuaLaTeX または XeLaTeX では、これは次のようにコンパイルされます。

アサナ数学サンプル

PDFLaTeX では、次のようにコンパイルされます。

pxtx サンプル

ちなみに、ヘルマン・ツァップは数学のアルファベットとして使うためにカリグラフィフォントをデザインしました。それはDEKの本で初めて使われたオイラーカリグラフィです。具体的な数学:コンピュータサイエンスの基礎cal=eulerまたはscr=eulerオプションとしてmathalpha、あるいはOpenType数学フォントとして入手できます。ネオオイラー。

ただし、egreg のソリューションを適用して、Zapf Chancery のクローンをFakeBold=使用して標準\mathcalまたはアルファベットを使用することもできます。\mathscr

\documentclass{article}

\usepackage{unicode-math}
\setmathfont{Latin Modern Math}
\setmathfont{TeX Gyre Chorus}[range=scr,Scale=MatchUppercase]
\setmathfont{TeX Gyre Chorus}[range=bfscr,Scale=MatchUppercase,FakeBold=1.2]

\pagestyle{empty}

\begin{document}
\(\mathscr A\) is a set and \(\mathbfscr A\) is a polyset.
\end{document}

TeX Gyre Chorus サンプル

関連情報