Símbolo de moneda: franco francés II

Símbolo de moneda: franco francés II

Esta es una pregunta de seguimiento paraSímbolo de moneda: franco francés.

Considere el siguiente ejemplo:

\documentclass{article}

\usepackage{fontspec}
\usepackage{siunitx}

\DeclareRobustCommand*{\myfranc}{%
  \begingroup
    \fontspec{FreeSerif.otf}%
    ^^^^20a3%
  \endgroup
}
\DeclareSIUnit{\franc}{\myfranc}

\setmainfont[
  BoldFont = lmroman10-bold.otf,
  ItalicFont = lmroman10-italic.otf,
  BoldItalicFont = lmroman10-bolditalic.otf,
  SlantedFont = lmromanslant10-regular.otf,
  BoldSlantedFont = lmromanslant10-bold.otf,
  SmallCapsFont = lmromancaps10-regular.otf
]{lmroman10-regular.otf}


\begin{document}

\SI{1000}{\franc}

\end{document}

Esto (que es la última sugerencia de Heiko Oberdiek en surespuesta) ha funcionado anteriormente pero ya no funciona; Ahora sólo se imprime la cantidad, y no la unidad (símbolo del franco francés). ¿Cómo puedo solucionar esto?

Además, ¿cómo elimino la siguiente advertencia de fuente?

Comando \normalsizeno válido en modo matemático en la línea de entrada 26.

Respuesta1

El comando \fontspecnunca debe usarse en un documento; define una familia de fuentes y úsala.

\documentclass{article}

\usepackage{fontspec}
\usepackage{siunitx}

\DeclareRobustCommand*{\myfranc}{%
  \mbox{\freeserif^^^^20a3}%
}
\DeclareSIUnit{\franc}{\myfranc}

\setmainfont[
  BoldFont = lmroman10-bold.otf,
  ItalicFont = lmroman10-italic.otf,
  BoldItalicFont = lmroman10-bolditalic.otf,
  SlantedFont = lmromanslant10-regular.otf,
  BoldSlantedFont = lmromanslant10-bold.otf,
  SmallCapsFont = lmromancaps10-regular.otf
]{lmroman10-regular.otf}
\newfontfamily{\freeserif}{FreeSerif.otf}

\begin{document}

\SI{1000}{\franc}

\end{document}

ingrese la descripción de la imagen aquí

También puedes ingresar directamente, si lo deseas:

\documentclass{article}

\usepackage{fontspec}
\usepackage{siunitx}
\usepackage{newunicodechar}

\setmainfont[
  BoldFont = lmroman10-bold.otf,
  ItalicFont = lmroman10-italic.otf,
  BoldItalicFont = lmroman10-bolditalic.otf,
  SlantedFont = lmromanslant10-regular.otf,
  BoldSlantedFont = lmromanslant10-bold.otf,
  SmallCapsFont = lmromancaps10-regular.otf
]{lmroman10-regular.otf}
\newfontfamily{\freeserif}{FreeSerif.otf}

\newunicodechar{₣}{\text{\freeserif ₣}}
\newcommand{\FF}{₣}
\DeclareSIUnit{\franc}{\FF}

\begin{document}

\SI{1000}{\franc} is 1000\,₣ or \SI{1000}{₣}

\end{document}

ingrese la descripción de la imagen aquí

Respuesta2

Parece que el problema ocurrió porque la versión 2.6 desiunitxcambia la configuración estándar para la opción de modo de texta math.

\documentclass{article}

\usepackage{fontspec}
\usepackage{siunitx}

\DeclareRobustCommand*{\myfranc}{% thanks to egreg and Manuel
  \begingroup
   \freeserif^^^^20a3%
  \endgroup
}
\DeclareSIUnit[mode = text]{\franc}{\myfranc}

\newfontfamily{\freeserif}{FreeSerif.otf}

\begin{document}

\SI{1000}{\franc}

\end{document}

producción

información relacionada