LaTeX forum ⇒ Text FormattingRemoving italics/ensuring not italic/theorem environment

Information and discussion about LaTeX's general text formatting features (e.g. bold, italic, enumerations, ...)
verbatim
Posts: 4
Joined: Sun May 30, 2010 3:28 pm

Removing italics/ensuring not italic/theorem environment

Postby verbatim » Sun Dec 19, 2010 3:12 am

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 19, 2010 4:35 am, edited 1 time in total.

Link:
BBcode:
HTML:
Hide post links
Show post links

User avatar
frabjous
Posts: 2064
Joined: Fri Mar 06, 2009 12:20 am
Location: Amherst, MA

Postby frabjous » Sun Dec 19, 2010 4:13 am

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:

  1. \DeclareMathOperator{\bmod}{\%}


Or if you want to be more explicit:

  1. \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:

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

Link:
BBcode:
HTML:
Hide post links
Show post links

verbatim
Posts: 4
Joined: Sun May 30, 2010 3:28 pm

Postby verbatim » Sun Dec 19, 2010 4:20 am

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 19, 2010 4:29 am, edited 3 times in total.

Link:
BBcode:
HTML:
Hide post links
Show post links

User avatar
frabjous
Posts: 2064
Joined: Fri Mar 06, 2009 12:20 am
Location: Amherst, MA

Postby frabjous » Sun Dec 19, 2010 4:22 am

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
Show post links


Return to “Text Formatting”

Who is online

Users browsing this forum: No registered users and 2 guests