Pzc em negrito para modo matemático

Pzc em negrito para modo matemático

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}

insira a descrição da imagem aqui

Responder2

De acordo totalmente com o usuário @egreg existem duas opções extremas:

  1. ou usando contourpackage (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 2está 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:

insira a descrição da imagem aqui

\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}

insira a descrição da imagem aqui

Você pode ver com ummais Zoomque você pode ver o fundo duplo, mas à distância não é óbvio.

  1. ou usando um horrível :-) símbolo falso em negrito com amsbsypacote:

insira a descrição da imagem aqui

\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:

  1. É possível obter outro melhor resultado usandoxfakeboldpacote 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 \symbfcale\symbfscrunicode-math, e os alfabetos \mathbcale \mathbscrdemathalpha. Ambos fornecem uma seleção abrangente, amostras de fontes, dimensionamento e uma interface padrão para várias fontes.

Como mathalphaalerta 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:

Exemplo de Asana Math

No PDFLaTeX, ele compila para:

amostra pxtx

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=eulerou ou como a fonte matemática OpenTypescr=eulermathalphaNeo Euler.

Você poderia, no entanto, aplicar a solução do egreg para FakeBold=usar o padrão \mathcalou \mathscralfabetos 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}

Amostra de refrão TeX Gyre

informação relacionada