Existe uma maneira decente de colocar em negrito a fonte pzc definida como
\DeclareMathAlphabet{\mathpzc}{OT1}{pzc}{m}{it}
no modo matemático. Tentar como abaixo não revelou nada
\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}
Alguma sugestão?
Responder1
A fonte Zapf Chancery (ou clone dela) não está disponível em negrito.
Se você estiver disposto a usar XeLaTeX ou LuaLaTeX, você pode explorar o TeX Gyre Chorus, que é um clone do Zapf Chancery e o negrito pode ser falsificado.
\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}
Responder2
De acordo totalmente com o usuário @egreg existem duas opções extremas:
- ou usando
contour
package (na minha humilde opinião é um bom compromisso):
\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}
Acho que o parâmetro 2
está próximo de bom e correto. Caso contrário, você define a opção com 1
. Veja o exemplo abaixo com o parâmetro 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}
Você pode ver com ummais Zoomque você pode ver o fundo duplo, mas à distância não é óbvio.
- ou usando um horrível :-) símbolo falso em negrito com
amsbsy
pacote:
\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}
TERMO ADITIVO:
- É possível obter outro melhor resultado usando
xfakebold
pacote de Herbert Voß versão 0.08 2020-06-24.
Responder3
O que você tem aqui éum problema XY. O que você realmente quer não é “Bold pzc for mathmode”, mas um alfabeto matemático em negrito. Existem vários pacotes que os fornecem, mas os melhores são os alfabetos \symbfcal
e\symbfscr
unicode-math
, e os alfabetos \mathbcal
e \mathbscr
demathalpha
. Ambos fornecem uma seleção abrangente, amostras de fontes, dimensionamento e uma interface padrão para várias fontes.
Como mathalpha
alerta a documentação, Zapf Chancery “não é realmente adequado para uso como alfabeto matemático devido às alturas e profundidades díspares e às caudas longas em alguns glifos. Use com cuidado.”
Aqui está um MWE para TeX moderno ou clássico. Ele usa clones do alfabeto pxmath/txmath \mathcal
. Você pode preferir um conjunto diferente de fontes, mas ambos os pacotes oferecem muitas opções.
\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}
Em LuaLaTeX ou XeLaTeX, isso é compilado para:
No PDFLaTeX, ele compila para:
Pelo que vale, Hermann Zapf projetou uma fonte caligráfica especificamente para uso como alfabeto matemático: Euler Calligraphic, usada pela primeira vez no livro de DEKMatemática Concreta: Uma Fundação para a Ciência da Computação. Você pode obtê-lo como a opção cal=euler
ou ou como a fonte matemática OpenTypescr=euler
mathalpha
Neo Euler.
Você poderia, no entanto, aplicar a solução do egreg para FakeBold=
usar o padrão \mathcal
ou \mathscr
alfabetos com um clone do Zapf Chancery.
\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}