dzhu
dzhu

Reputation: 813

Mark-up for bold and italic in emacs org-mode

In emacs org-mode, we can use mark-ups to set Emphasis and monospace.
e.g.

*bold*

/italic/

How can we make a word both bold and italic?
It seems neither */.../* nor /*...*/ works.

Upvotes: 14

Views: 18476

Answers (3)

Thuna
Thuna

Reputation: 21

The near-seamless way to get such markup highlighted in Emacs is by using zero-width spaces and joiners, specifically

/<joiner><space>*<text>*<space><joiner>/
*<joiner><space>/<text>/<space><joiner>*

where:

  • <joiner> is the ZERO WIDTH JOINER (U+200D) [or any non-whitespace(?)]
  • <space> is the ZERO WIDTH SPACE (U+200B) [or any whitespace]

I suspect wrapping <text> in <joiner><space>...<space><joiner> will make the inner markup more robust but it's usually not needed and gets in the way so this is good enough.

Upvotes: 2

tlegutko
tlegutko

Reputation: 708

Expanding on @Chris answer covering semantics being there, if you're interested in visible fontification effect inside your org notes, you have three approaches:

Highlight parts of your text

enter image description here

Nesting works nicely as long as you don't need to start / end two tags at once.

Use multiple tags with escape symbols

The closest you can get is

fontification emacs

The code is: *\ /\ _\ ~fontification can be nested~\_\/\*

So you need \​​ ​ (backslash and space) to escape following opening tags and \ (backslash) to escape following closing tags.

The need for space is annoying, and in it looks like this when exported to html: fontification html

So yes, you can have multiple mark-ups at once, but you have to choose between seeing the effect in emacs or having it nicely formated on export.

Modify how markup looks in emacs

Alternatively you could change how mark-up looks in emacs without modyfing exporting format, i.e. to make bold look red you'd need this:

(add-to-list 'org-emphasis-alist
         '("*" (:foreground "red")
           ))

as covered in this great question and answer.

Upvotes: 5

Chris
Chris

Reputation: 136967

In fact, both of these do work.

/*test*/

exports to HTML as

<i><b>test</b></i>

*/test/* works similarly. LaTeX / PDF export also works as you expect.

Org itself doesn't fontify both the bold and italic, but the semantics are fine.

Upvotes: 18

Related Questions