Fuera del mundo *TeX

Fuera del mundo *TeX

sobre el tema de reclamos duplicados: probé¿Dile a Latex que ignore TODOS los errores Unicode?- "solución" dio como resultado que LaTeX mostrara "?" en lugar de ​"⌀".

Gracias a las personas que brindaron respuestas de alta calidad y muy útiles.


Agregué ⌀ al texto y ahora pdflatex falla

Error de entrada del paquete: carácter Unicode \u8:⌀ no configurado para usarse con LaTeX.

Sé que puedo usar \DeclareUnicodeCharacter o similar para introducir un manejo especial de este carácter, pero no es aceptable hacerlo cada vez que aparece un nuevo carácter UTF-8 en la entrada.

Necesita funcionar en pdflatex (u otro compilador de látex que genere pdf), ya que uso latex únicamente como generador de pdf (LaTeX se genera a partir de la entrada, pdflatex genera salida en pdf).

MWE:

\begin{document}
\end{document}

MWE con mis declaraciones de documentos presentes.

\documentclass{article}
\usepackage[a4paper, total={6.5in, 10.5in}]{geometry}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{cprotect}
\usepackage{fvextra}
\usepackage{textcomp}

% make TOC work correctly
\makeatletter
\def\l@section{\@dottedtocline{1}{1em}{2em}}
\makeatother
\usepackage{index}
\makeindex

\DeclareUnicodeCharacter{00A0}{~}

\DefineVerbatimEnvironment{escape}
  {Verbatim}
  {fontfamily=\rmdefault,breaklines,breaksymbolleft={}}
\CustomVerbatimCommand\escapeinline{Verb}{fontfamily=\rmdefault,breaklines,breaksymbolleft={}}

\begin{document}
\end{document}

Respuesta1

Puedes pensarlo de esta manera: para que LaTeX (o cualquier sistema) dibuje “⌀” (o cualquier carácter) en la página/pantalla, la “forma” (apariencia visual) de ese carácter debe estar disponible.en algún lugar.

Fuera del mundo *TeX

En la mayoría de las aplicaciones "modernas", editores de texto, navegadores, etc., esto se implementa mediante unrespaldo de fuentemecanismo:

  1. la aplicación (por ejemplo, su navegador) primero intenta encontrar un glifo para ese carácter en la fuente actual. (Mientras escribo estas letras en el sitio web tex.stackexchange.com, se muestran en la fuente "Lucida Grande", especificada por el CSS de este sitio).
  2. Si la fuente actual no admite el carácter, la aplicación intenta encontraralgunofuente instalada en el sistema que contiene un glifo para ese carácter y luego toma el glifo de esa fuente. (En este caso, con las fuentes instaladas en mi computadora, mi navegador muestra el carácter “⌀” de la fuente “Cambria”, ya que el carácter no está presente en la fuente “Lucida Grande”.) ingrese la descripción de la imagen aquí

  3. Si no existe dicha fuente, es posible que vea un cuadro cuadrado, un signo de interrogación, un espacio en blanco o alguna representación similar de que falta el carácter (posiblemente de una fuente alternativa de “Último recurso”). Por ejemplo, en los siguientes textos que muestran los dígitos del 0 al 9, para los dígitos impares utilizo los primeros dígitos delBloque Unicode “Brahmi”(para el cual tengo una fuente instalada) y luego desde elBloque Unicode “Masaram Gondi”(agregado a Unicode en la versión 10.0.0, lanzada hace solo unos días en junio de 2017), para el cual yo (y probablemente tú también) no tenemos una fuente instalada:

    0

Respuesta2

Recibe un error que le indica que no existe una definición predeterminada para , que no está presente en ninguna de las fuentes estándar.

La Lista Completa nos dice que \diameteres proporcionada por

  • mathabx
  • MnSymbol
  • wasysym

y sería muy discutible agregar uno de estos paquetes solo para que algún símbolo esté disponible.

Recibe un mensaje de error que le indica los detalles precisos; haga una elección, por ejemplo, wasysymy cambie su código a

\documentclass{article}
\usepackage[a4paper, total={6.5in, 10.5in}]{geometry}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{cprotect}
\usepackage{fvextra}
\usepackage{textcomp}

\usepackage{wasysym} % for \diameter

% make TOC work correctly
\makeatletter
\def\l@section{\@dottedtocline{1}{1em}{2em}}
\makeatother
\usepackage{index}
\makeindex

%\DeclareUnicodeCharacter{00A0}{~} % not needed in recent versions of LaTeX
\DeclareUnicodeCharacter{2300}{\diameter}

\DefineVerbatimEnvironment{escape}
  {Verbatim}
  {fontfamily=\rmdefault,breaklines,breaksymbolleft={}}
\CustomVerbatimCommand\escapeinline{Verb}{fontfamily=\rmdefault,breaklines,breaksymbolleft={}}

\begin{document}
\end{document}

No necesitas inputenccon LuaTeX perohacerNecesita una fuente que admita el glifo.

Tenga en cuenta que otro software puede realizar sustituciones automáticas de fuentes cuando un glifo no está disponible en la fuente actual. LuaLaTeX y XeLaTeX no lo hacen, porque apuntan a una buena tipografía y una sustitución automática puede generar conflicto. La misma idea que antes: el núcleo no puede proporcionar una definición para cada carácter Unicode, porque esto requiere elegir entre fuentes alternativas.


Sin embargo, es posible que el usuario haya escrito U+2300 para obtener el \varnothingsímbolo, lo cual es bastante probable si el documento trata sobre matemáticas y no sobre un tema tecnológico. En este caso, el paquete a cargar es amssymb:

\usepackage{amssymb}

\DeclareUnicodeCharacter{2300}{\varnothing}

información relacionada