4

{Disclaimer: I am a noob at LaTeX and coding}

I want to use a symbol from the package "oz". It is the $\fcmp$ symbol.

When I have \usepackage{oz} in my document however, it changes almost every symbol. This is a problem because it defaults to italic letters in math mode and I am using italic letters for something else. It also changes many logical symbols in my document.

I don't want to use the whole package, just some special symbols.

If it is any help, these are the packages I am using.

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

I apologize for the lack of code and form here, this is my first time using this stack exchange.

3

2 Answers 2

6

Alas, the precise thing you’re looking for isn’t exactly possible. The TeX engine was designed at a time of rather limited computing resources and namespacing was not on the menu at that time.

Instead, what you’ll need to do is look at the oz source code to see how \fcmp was defined.

When you run LaTeX, you’ll see a line that indicates where the oz.sty file is being read in by LaTeX so you know where the file is and you can open that in your favorite text editor (most likely what you’re using to edit your LaTeX files, natch). Doing a search through oz.sty¹ will reveal the following definition:

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

which shows how the \fcmp command is defined.

Now, there’s a bit of luck in that this doesn’t use any internal LaTeX commands, so you could just paste this right into your preamble in place of \usepackage{oz}, but there’s a caveat here: The way the command is defined apparently makes some assumptions necessary for the objectz package of which oz is part² where a space after \fcmp is not optional thanks to the use of the plain TeX \def command and the space(s) after \fcmp in the definition. Better to write:

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

which will define \fcmp in a more LaTeX-native fashion.


  1. Some, but not all, LaTeX packages will provide documentation of the source code which will might give an explanation of the choices made in implementing the package. ObjectZ, while it distributes a .dtx file which generates documentation, has no internal documentation of the choices made.
  2. Or, it might just be an error on the package writer’s part.
1
  • 3
    There are no space tokens after \fcmp in \def \fcmp { Jan 2 at 0:12
9

I suggest not using the \fcmp from oz.sty (a set of kludges), but the semicolon from bbold or \fatsemi from stmaryrd.

Here's a comparison.

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

You decide whether you want the symbol to be \mathbin or have a different status.

enter image description here

How did I get \fatsemi? First I looked the manual for stmaryrd and saw that the glyph is called \fatsemi. Next the package code where there is

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

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

Thus I had all the ingredients to define the command without wasting a math symbol font for just one symbol.

Take your pick and use \fcmp (or whatever name you prefer) instead of the names I used just in order to do the comparison.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .