Como ter APENAS um símbolo de um determinado pacote sem afetar o restante do documento

Como ter APENAS um símbolo de um determinado pacote sem afetar o restante do documento

{Isenção de responsabilidade: sou um novato em LaTeX e codificação}

Quero usar um símbolo do pacote "oz". É o $\fcmp$símbolo.

Porém, quando tenho \usepackage{oz} em meu documento, ele muda quase todos os símbolos. Isso é um problema porque o padrão é letras em itálico no modo matemático e estou usando letras em itálico para outra coisa. Também altera muitos símbolos lógicos no meu documento.

Não quero usar o pacote inteiro, apenas alguns símbolos especiais.

Se ajudar, esses são os pacotes que estou 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}

Peço desculpas pela falta de código e formulário aqui, é a primeira vez que uso essa troca de pilha.

Responder1

Infelizmente, exatamente o que você está procurando não é exatamente possível. O mecanismo TeX foi projetado em uma época de recursos computacionais bastante limitados e o namespace não estava no menu naquela época.

Em vez disso, o que você precisa fazer é olhar o ozcódigo-fonte para ver como \fcmpfoi definido.

Ao executar o LaTeX, você verá uma linha que indica onde o oz.styarquivo está sendo lido pelo LaTeX para que você saiba onde o arquivo está e possa abri-lo em seu editor de texto favorito (provavelmente o que você está usando para editar seu Arquivos LaTeX, claro). Fazer uma pesquisa por oz.sty¹ revelará a seguinte definição:

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

que mostra como o \fcmpcomando é definido.

Agora, há um pouco de sorte porque isso não usa nenhum comando interno do LaTeX, então você pode simplesmente colar isso diretamente no seu preâmbulo no lugar de \usepackage{oz}, mas há uma ressalva aqui: a forma como o comando é definido aparentemente faz algumas suposições necessárias para o objectzpacote do qual ozfaz parte² onde um espaço depois \fcmpénãoopcional graças ao uso do \defcomando TeX simples e do(s) espaço(s) após \fcmpna definição. Melhor escrever:

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

que irá definir \fcmpde uma forma mais nativa do LaTeX.


  1. Alguns pacotes LaTeX, mas não todos, fornecerão documentação do código-fonte que poderá fornecer uma explicação das escolhas feitas na implementação do pacote. ObjectZ, embora distribua um .dtxarquivo que gera documentação, não possui documentação interna das escolhas feitas.
  2. Ou pode ser apenas um erro por parte do criador do pacote.

Responder2

Eu sugironãousando \fcmpfrom oz.sty(um conjunto de erros), mas o ponto e vírgula from bboldou \fatsemifrom stmaryrd.

Aqui está uma comparação.

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

Você decide se deseja que o símbolo tenha \mathbinou tenha um status diferente.

insira a descrição da imagem aqui

Como consegui \fatsemi? Primeiro procurei no manual stmaryrde vi que o glifo se chama \fatsemi. A seguir o código do pacote onde existe

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

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

Assim eu tinha todos os ingredientes para definir o comando sem desperdiçar uma fonte de símbolos matemáticos para apenas um símbolo.

Faça a sua escolha e use \fcmp(ou o nome que preferir) em vez dos nomes que usei apenas para fazer a comparação.

informação relacionada