次のように定義された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 つの極端なオプションがあります。
- または
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}
あなたは見ることができますズームイン二重の背景が見えますが、遠くからは分かりません。
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}
付録:
- 使用することでさらに最良の結果を得ることができます
xfakebold
Herbert Voß バージョン 0.08 2020-06-24 のパッケージ。
答え3
ここにあるのはXY問題。 本当に欲しいのは「数式モード用の太字pzc」ではなく、太字の数学用スクリプトアルファベットです。太字の数学用スクリプトアルファベットを提供するパッケージはいくつかありますが、最も良いのは\symbfcal
、\symbfscr
unicode-math
、およびの\mathbcal
アルファベット\mathbscr
mathalpha
どちらも、包括的な選択、フォント サンプル、スケーリング、および複数のフォントの標準インターフェイスを提供します。
ドキュメントで警告されているように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 では、次のようにコンパイルされます。
ちなみに、ヘルマン・ツァップは数学のアルファベットとして使うためにカリグラフィフォントをデザインしました。それは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}