¿Cómo utilizar \checkmark y Cambria Math?

¿Cómo utilizar \checkmark y Cambria Math?

En un documento necesito usar Cambria Math pero al mismo tiempo poder usarlo \checkmarkpara un itemizeentorno. Pero tan pronto como cargo, unicode-mathla marca de verificación desaparece. ¿Hay una solución para esto?

Estoy compilando el siguiente MWE con lualatex(TeX Live 2013/dev):

\documentclass{article}
\usepackage{amsfonts} % for the \checkmark command 
\usepackage{unicode-math} % hides \checkmark? 
\usepackage{fontspec}
\setmainfont{Cambria}
\setsansfont{Calibri}
%\setmathfont{Cambria Math}


\begin{document} 
$a + b$
\begin{itemize}
\item[\checkmark] a
\item[\checkmark] b 
\item[\checkmark] c
\end{itemize}

\end{document}

Respuesta1

ingrese la descripción de la imagen aquí

Si desea que AMS vuelva a marcar, puede simplemente cargar la fuente; lo más sencillo es hacerlo como fuente de texto. También unicode-mathretrasa algunas de sus definiciones hasta begin{document}que necesite retrasar la (re)definición hasta después de eso.

\documentclass{article}

\usepackage{unicode-math} 
\usepackage{fontspec}
\setmainfont{Cambria}
\setsansfont{Calibri}
\setmathfont{Cambria Math}


%%\DeclareFixedFont\amsa{U}{msa}{m}{n}{10}
%%\AtBeginDocument{\renewcommand\checkmark{{\amsa \char"58}}}

\AtBeginDocument{\renewcommand\checkmark{\usefont{U}{msa}{m}{n}X}}

\begin{document} 


$a + b$
\begin{itemize}
\item[\checkmark] a
\item[\checkmark] b 
\item[\checkmark] c
\end{itemize}

\end{document}

Respuesta2

No tengo Cambria, pero los síntomas apuntan a que falta un glifo. No se recomienda su uso amsfonts: sus símbolos ya deberían estar disponibles en una buena fuente matemática Unicode.

Puede seleccionar una fuente diferente para el símbolo diciendo, por ejemplo,

\setmathfont[range=\checkmark]{Asana Math}

pero esto proporcionará el símbolo sólo en matemáticas, porque \checkmarksimplemente imprime el carácter ✓ (Unicode U+2713).

Entonces también puedes agregar

\AtBeginDocument{%
  \renewcommand\checkmark{\ensuremath{\char\string"2713}}%
}

y entonces la redefinición funcionaría.

He aquí un ejemplo:

\documentclass{article}
\usepackage{unicode-math}
\setmainfont{XITS}
\setmathfont{XITS Math}
\setmathfont[range=\checkmark]{Asana Math}

\AtBeginDocument{%
  \renewcommand\checkmark{\ensuremath{\char\string"2713}}%
}

\begin{document}

A checkmark in the main font, just to show the difference: \char"2713 
\begin{itemize}
\item[\checkmark] a
\item[\checkmark] b
\item[\checkmark] c
\end{itemize}

\end{document}

ingrese la descripción de la imagen aquí

Como ves, \checkmarkutiliza una fuente diferente (Asana Math, en este caso).

Respuesta3

Encontré estas tres soluciones, además de las otras respuestas:

1) Solución alternativa simple (usando un paquete y un comando diferente)

Como solución alternativa, estoy usando \Checkmarkel bbdingpaquete a partir de esta respuesta.https://tex.stackexchange.com/a/10194/1871. Lamentablemente no lo esexactamenteigual a la checkmarkde amsfonts.

bbding

\documentclass{article}
\usepackage{bbding} % for the \Checkmark command 
\usepackage{unicode-math} 
\usepackage{fontspec}
\setmainfont{Cambria}
\setsansfont{Calibri}
\setmathfont{Cambria Math}


\begin{document} 
$a + b$
\begin{itemize}
\item[\Checkmark] a
\item[\Checkmark] b 
\item[\Checkmark] c
\end{itemize}

\end{document}

2) Respuesta coherente con "MSWord" (use la fuente Wingdings)

Itemize en MSWord usa la fuente Wingdings para las marcas de verificación, por lo tanto, esto le da una apariencia consistente (busque la respuesta de David para el resto del código).

\newfontfamily\wingdingsfont{Wingdings}
\newcommand\wingdings[1]{{\wingdingsfont\symbol{#1}}}
\AtBeginDocument{\renewcommand\checkmark{\wingdings{252}}}

ala

3) El hombre pobre (use los glifos Unicode existentes en Cambria)

Otra solución alternativa pura de Cambria (pero horrible) es usar un símbolo diferente para la marca de verificación (que naturalmente se parece más a una raíz cuadrada):

\begin{itemize}
\item[$⎷$] a
\item[√] b 
\item[\checkmark] c (for comparison) %using solution #2
\end{itemize}

hombre pobre

información relacionada