70
votes

When I export to PDF via org-mode (C-c C-e d), any words with underscores end up being partially converted to subscript. How can I prevent this from happening?

I found this article on the subject:

Disabling Underscore subscript in Emacs Tex Mode

However, I either wasn't able to figure out the correct elisp or it simply didn't work. Note, I don't want to change any global font options. I only want this fix to apply to tex/latex/org-mode.

I also found this post, though it didn't work either:

disable subscript superscript raise/lower?

7
org-toggle-pretty-entities for ppl where subscripts are annoying (or desired) directly inside an org doc (not related to OPs question about exporting though, just, this was a top google hit and figured I'd contribute).Josh.F

7 Answers

102
votes

You can disable super/subscripting within an org file by adding the following line:

#+OPTIONS: ^:nil

Check the org manual for more options.
The following command inserts a template containing all the options: C-c C-e #

34
votes

I was able to solve the issue by setting the following variable:

(setq org-export-with-sub-superscripts nil)
8
votes

I think this would be easier: http://orgmode.org/manual/Subscripts-and-superscripts.html Escape the underscore with a backslash:

enter image description here

enter image description here

Now, escape the _:

enter image description here

enter image description here

You can see this in action here: http://www.railsonmaui.com/blog/2013/04/27/octopress-setup-with-github-and-org-mode/

5
votes

Do you want to prevent subscripts in the onscreen display of the source file or in the text of the output PDF? If the latter, then you want

\usepackage{underscore}

It won't break the use of underscores in maths mode, either.

5
votes

Use \under (Documentation on The Org Manual: Special symbols)

For example:

text\under{}text
4
votes

For individual cases, insert a literal underscore this way:

text text one\textunderscore{}two text
0
votes

In my case any word that contains an underscore is likely to be a variable name or something similar. I just surround it with = or ~ so that it's treated as such. Then it will be exported accordingly.