I'm trying to replace the built-in \bmod operator (which, rather unhelpfully, just types the word "mod") with a proper modulo operator: %. I'm currently using \texttt{\%}. It's not ideal (an ideal modulo operator should really be almost square, but the font used by \texttt has a very narrow and tall percent sign), but it's a lot better than the default cursive-style percent sign in latex.

The replacement works well enough in normal environments, but if I place it inside the theorem environment, it becomes italicized, which is wrong.

Any suggestions would be appreciated, ideally I'd like to use something like \ensureNotItalic{\texttt{\%}}}, but I don't know how to implement something like \ensureNotItalic.

(I'd also like to improve on the font, if anyone has suggestions for that, but getting rid of the italicization is essential.)

Here's a MWE:

\documentclass{article}

\usepackage{amsfonts}

\usepackage{amssymb}

\usepackage{amsmath}

\usepackage{amsthm}

\newtheorem*{lem}{Lemma}

\let\bmod\undefined

\DeclareMathOperator{\bmod}{\texttt{\%}}

\begin{document}

The command \verb+\bmod+ (in math mode) should look like $\bmod$, but in the text of a theorem environment, it comes out italicized...

\begin{lem}

The extent of $\sigma_{axx}$, where $a$ and $x$ are integers, is $2x + a\bmod2$

\end{lem}

\end{document}

## LaTeX forum ⇒ Text Formatting ⇒ Removing italics/ensuring not italic/theorem environment

### Removing italics/ensuring not italic/theorem environment

Last edited by verbatim on Sun Dec 19, 2010 4:35 am, edited 1 time in total.

Link: | |

BBcode: | |

HTML: | |

Hide post links |

The argument to \DeclareMathOperator is normally put in an upright font (witness the effects of \sin or \cos, etc.), so in this case, it should work to put simply:

Or if you want to be more explicit:

\textup is the explicit command for "upright" (non-italic) text. (\textup is the counterpart to \textit ; \upshape is the counterpart to \itshape, etc.) Or combine the effects:

\DeclareMathOperator{\bmod}{\%}

Or if you want to be more explicit:

\DeclareMathOperator{\bmod}{\textup{\%}}

\textup is the explicit command for "upright" (non-italic) text. (\textup is the counterpart to \textit ; \upshape is the counterpart to \itshape, etc.) Or combine the effects:

\DeclareMathOperator{\bmod}{\textup{\texttt{\%}}}

Link: | |

BBcode: | |

HTML: | |

Hide post links |

That's exactly what I did, see the MWE.

Well, except that I switch to \texttt inside it in order to get a more appropriate looking operator. The default % sign doesn't look the least bit like a modulo operator.

edit: Posted at about the same time as the (edit to the) post above, sorry for any confusion.

Thanks, \textup does the trick. Now, if I could only find a way to use a font that actually has an appropriately shaped % sign to use as a modulo operator...

Well, except that I switch to \texttt inside it in order to get a more appropriate looking operator. The default % sign doesn't look the least bit like a modulo operator.

edit: Posted at about the same time as the (edit to the) post above, sorry for any confusion.

Thanks, \textup does the trick. Now, if I could only find a way to use a font that actually has an appropriately shaped % sign to use as a modulo operator...

Last edited by verbatim on Sun Dec 19, 2010 4:29 am, edited 3 times in total.

Link: | |

BBcode: | |

HTML: | |

Hide post links |

The \texttt is undoing the effects of having it inside \DeclareMathOperator, but if you want to combine the effects, you can use my last suggestion (--I edited the answer to add that suggestion, sorry).

Link: | |

BBcode: | |

HTML: | |

Hide post links |

### Who is online

Users browsing this forum: No registered users and 2 guests