Cómo tener SÓLO un símbolo de un determinado paquete sin que afecte al resto del documento

Cómo tener SÓLO un símbolo de un determinado paquete sin que afecte al resto del documento

{Descargo de responsabilidad: soy un novato en LaTeX y la codificación}

Quiero usar un símbolo del paquete "oz". Es el $\fcmp$símbolo.

Sin embargo, cuando tengo \usepackage{oz} en mi documento, cambia casi todos los símbolos. Esto es un problema porque por defecto usa letras en cursiva en el modo matemático y yo estoy usando letras en cursiva para otra cosa. También cambia muchos símbolos lógicos en mi documento.

No quiero usar todo el paquete, sólo algunos símbolos especiales.

Si te sirve de ayuda, estos son los paquetes que estoy usando.

\documentclass{article}
\usepackage{oz}
\usepackage[utf8]{inputenc}
\usepackage{multirow}
\usepackage{array}
\usepackage[table]{xcolor}
\usepackage{amsmath}
\usepackage{newtxmath}
\usepackage{tikz}
\usepackage{mathtools}
\usepackage{xcolor}

Pido disculpas por la falta de código y formulario aquí, esta es la primera vez que uso este intercambio de pila.

Respuesta1

Por desgracia, lo que estás buscando exactamente no es exactamente posible. El motor TeX fue diseñado en una época de recursos informáticos bastante limitados y el espacio de nombres no estaba en el menú en ese momento.

En cambio, lo que deberá hacer es mirar el ozcódigo fuente para ver cómo \fcmpse definió.

Cuando ejecutas LaTeX, verás una línea que indica dónde oz.styLaTeX está leyendo el archivo para que sepas dónde está y puedas abrirlo en tu editor de texto favorito (muy probablemente el que estás usando para editar tu Archivos LaTeX, naturalmente). Hacer una búsqueda en oz.sty¹ revelará la siguiente definición:

\def \fcmp  {\mathbin{\raise 0.6ex\hbox{\oalign{\hfil$\scriptscriptstyle
     \mathrm{o}$\hfil\cr\hfil$\scriptscriptstyle\mathrm{9}$\hfil}}}}

que muestra cómo \fcmpse define el comando.

Ahora, hay un poco de suerte en que esto no utiliza ningún comando interno de LaTeX, por lo que puedes pegarlo directamente en tu preámbulo en lugar de \usepackage{oz}, pero hay una advertencia aquí: la forma en que se define el comando aparentemente hace que sean necesarias algunas suposiciones. para objectzcuyo paquete forma parte² donde hay ozun espacio después\fcmpnoopcional gracias al uso del \defcomando TeX simple y los espacios después \fcmpen la definición. Mejor escribir:

\NewDocumentCommand\fcmp{}{\mathbin{\raise 0.6ex\hbox{\oalign{\hfil$\scriptscriptstyle
     \mathrm{o}$\hfil\cr\hfil$\scriptscriptstyle\mathrm{9}$\hfil}}}}

que se definirá \fcmpde una manera más nativa de LaTeX.


  1. Algunos paquetes de LaTeX, pero no todos, proporcionarán documentación del código fuente que podría dar una explicación de las elecciones realizadas al implementar el paquete. ObjectZ, si bien distribuye un .dtxarchivo que genera documentación, no tiene documentación interna de las elecciones realizadas.
  2. O podría ser simplemente un error por parte del autor del paquete.

Respuesta2

yo sugieronousando \fcmpfrom oz.sty(un conjunto de pifias), pero el punto y coma from bboldo \fatsemifrom stmaryrd.

Aquí hay una comparación.

\documentclass{article}
\usepackage{amsmath}

\NewDocumentCommand\fcmp{}{%
  \mathbin{%
    \raise 0.6ex\hbox{%
      \oalign{%
        \hfil$\scriptscriptstyle\mathrm{o}$\hfil\cr
        \hfil$\scriptscriptstyle\mathrm{9}$\hfil
      }%
    }%
  }%
}

\NewDocumentCommand{\altfcmp}{}{\mathbin{\text{\usefont{U}{bbold}{m}{n};}}}

\NewDocumentCommand{\altfcmpbis}{}{\mathbin{\text{\usefont{U}{stmry}{m}{n}\symbol{"23}}}}

\begin{document}

$a\fcmp b$

$a\altfcmp b$

$a\altfcmpbis b$

\end{document}

Tú decides si quieres que el símbolo tenga \mathbino tenga un estado diferente.

ingrese la descripción de la imagen aquí

¿Cómo llegué \fatsemi? Primero busqué el manual stmaryrdy vi que el glifo se llama \fatsemi. A continuación el código del paquete donde hay

\DeclareSymbolFont{stmry}{U}{stmry}{m}{n}

\stmry@if\DeclareMathSymbol\fatsemi\mathbin{stmry}{"23}\fi

Por lo tanto, tenía todos los ingredientes para definir el comando sin desperdiciar una fuente de símbolo matemático para un solo símbolo.

Elija y use \fcmp(o el nombre que prefiera) en lugar de los nombres que usé solo para hacer la comparación.

información relacionada