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}
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.
NEW: TikZ book now 40% off at Amazon.com for a short time.

Removing italics/ensuring not italic/theorem environment
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:
Code: Select all
\DeclareMathOperator{\bmod}{\%}
Code: Select all
\DeclareMathOperator{\bmod}{\textup{\%}}
Code: Select all
\DeclareMathOperator{\bmod}{\textup{\texttt{\%}}}
Re: Removing italics/ensuring not italic/theorem environment
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.
Re: Removing italics/ensuring not italic/theorem environment
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).