¿Existe una forma decente de poner en negrita la fuente pzc definida como
\DeclareMathAlphabet{\mathpzc}{OT1}{pzc}{m}{it}
en el modo matemático. Probar \bm como se muestra a continuación no reveló 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}
¿Alguna sugerencia?
Respuesta1
La fuente Zapf Chancery (o un clon de la misma) no está disponible en negrita.
Si está dispuesto a utilizar XeLaTeX o LuaLaTeX, puede explotar TeX Gyre Chorus, que es un clon de Zapf Chancery y la negrita se puede falsificar.
\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}
Respuesta2
De acuerdo totalmente con el usuario @egreg existen dos opciones extremas:
- o usando
contour
el paquete (en mi humilde opinión, es un buen compromiso):
\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}
Creo que el parámetro 2
es casi bueno y correcto. De lo contrario configuras la opción con 1
. Vea el siguiente ejemplo con el 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}
Puedes ver con unacercarseque se puede ver el doble fondo, pero a lo lejos no se nota.
- o usando un horrible :-) símbolo falso en negrita con
amsbsy
paquete:
\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}
APÉNDICE:
- Es posible obtener otro mejor resultado utilizando
xfakebold
paquete de Herbert Voß versión 0.08 2020-06-24.
Respuesta3
Lo que tienes aquí esun problema XY. Lo que realmente desea no es “pzc en negrita para el modo matemático”, sino un alfabeto de escritura matemática en negrita. Hay varios paquetes que los proporcionan, pero los mejores son los \symbfcal
y \symbfscr
alfabetos deunicode-math
, y los alfabetos \mathbcal
y \mathbscr
demathalpha
. Ambos proporcionan una selección completa, ejemplos de fuentes, escalado y una interfaz estándar para múltiples fuentes.
Como mathalpha
advierte la documentación, Zapf Chancery “no es realmente adecuado para su uso como alfabeto matemático debido a las alturas y profundidades dispares y las largas colas de algunos glifos. Úselo con cuidado”.
Aquí hay un MWE para TeX moderno o clásico. Utiliza clones del \mathcal
alfabeto pxmath/txmath. Es posible que prefiera un conjunto diferente de fuentes, pero ambos paquetes le ofrecen muchas opciones.
\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}
En LuaLaTeX o XeLaTeX, esto se compila en:
En PDFLaTeX, se compila para:
Por si sirve de algo, Hermann Zapf diseñó una fuente caligráfica específicamente para usar como alfabeto matemático: Euler Calligraphic, utilizada por primera vez en el libro de DEK.Matemáticas concretas: una base para la informática. Puedes obtenerlo como la opción cal=euler
o scr=euler
paramathalpha
o como fuente matemática OpenTypeNeo Euler.
Sin embargo, podría aplicar la solución de egreg para FakeBold=
usar el estándar \mathcal
o \mathscr
los alfabetos con un clon de 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}