Who is online

In total there are 9 users online :: 0 registered, 0 hidden and 9 guests (based on users active over the past 5 minutes)
Most users ever online was 1327 on Tue Nov 05, 2013 7:11 pm

Users browsing this forum: No registered users and 9 guests

Removing italics/ensuring not italic/theorem environment

Add tags Information and discussion about LaTeX's general text formatting features (e.g. bold, italic, enumerations, ...)

Removing italics/ensuring not italic/theorem environment

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}
Last edited by verbatim on Sun Dec 19th, 2010, edited 1 time in total.
verbatim

Posts: 4
Joined: Sun May 30th, 2010

Re: 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:

Code: Select all  •  Open in writeLaTeX
\DeclareMathOperator{\bmod}{\%}

Or if you want to be more explicit:

Code: Select all  •  Open in writeLaTeX
\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:

Code: Select all  •  Open in writeLaTeX
\DeclareMathOperator{\bmod}{\textup{\texttt{\%}}}

frabjous

Posts: 2065
Joined: Fri Mar 6th, 2009
Location: Amherst, MA

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...
Last edited by verbatim on Sun Dec 19th, 2010, edited 3 times in total.
verbatim

Posts: 4
Joined: Sun May 30th, 2010

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).

frabjous

Posts: 2065
Joined: Fri Mar 6th, 2009
Location: Amherst, MA