emacs-orgmode
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [O] Feature request: modify italic regexp list to include non-breaki


From: Aankhen
Subject: Re: [O] Feature request: modify italic regexp list to include non-breaking space and other characters
Date: Thu, 21 Apr 2011 00:48:21 +0530

On Wed, Apr 20, 2011 at 20:34,  <address@hidden> wrote:
> Sample code:
>  Using /a/’s and /b/’s, write add /x/ + 2.
>           ^         ^                ^ ^
>       Right single quotation mark    Non-breaking space
>
> Expected HTML export:
>  Using <i>a</i>’s and <i>b</i>’s, write <i>x</i> + 2.
>
> Actual HTML export:
>  Using /a/’s and /b/’s, write add /x/ + 2.

Interestingly, the development version treats this differently, as it
considers all the text from the first slash to the last part of the
emphasis:

,----
| <p>Using <i>a/’s and /b/’s, write add /x</i> + 2.
| </p>
`----

(This behaviour occurs in the original Org buffer as well, in case
anyone’s wondering.  The exported HTML was just the easiest way to
show it.)

> If it's not clear, the sample code uses the unicode character "right single 
> character" instead of an apostrophe and "non-breaking space" instead of 
> regular white space.
>
> It makes sense to use these characters this way, however, orgmode neither 
> displays the italic expressions correctly nor exports them correctly.
>
> I believe older versions of orgmode worked in the expected way.
>
> How can I modify the regexp list? Bold characters are also affected.

These two variables are used to configure the regexp:

,----[ C-h v org-emphasis-alist RET ]
| org-emphasis-alist is a variable defined in `org.el'.
| Its value is (("*" bold "<b>" "</b>")
|  ("/" italic "<i>" "</i>")
|  ("_" underline "<span style=\"text-decoration:underline;\">" "</span>")
|  ("=" org-code "<code>" "</code>" verbatim)
|  ("~" org-verbatim "<code>" "</code>" verbatim)
|  ("+"
|   (:strike-through t)
|   "<del>" "</del>"))
|
|
| Documentation:
| Special syntax for emphasized text.
| Text starting and ending with a special character will be emphasized, for
| example *bold*, _underlined_ and /italic/.  This variable sets the marker
| characters, the face to be used by font-lock for highlighting in Org-mode
| Emacs buffers, and the HTML tags to be used for this.
| For LaTeX export, see the variable `org-export-latex-emphasis-alist'.
| For DocBook export, see the variable `org-export-docbook-emphasis-alist'.
| Use customize to modify this, or restart Emacs after changing it.
|
| You can customize this variable.
`----

,----[ C-h v org-emphasis-regexp-components RET ]
| org-emphasis-regexp-components is a variable defined in `org.el'.
| Its value is ("       ('\"{" "-       .,:!?;'\")}\\" "        
\n,\"'" "." 1)
|
|
| Documentation:
| Components used to build the regular expression for emphasis.
| This is a list with five entries.  Terminology:  In an emphasis string
| like " *strong word* ", we call the initial space PREMATCH, the final
| space POSTMATCH, the stars MARKERS, "s" and "d" are BORDER characters
| and "trong wor" is the body.  The different components in this variable
| specify what is allowed/forbidden in each part:
|
| pre          Chars allowed as prematch.  Beginning of line will be
allowed too.
| post         Chars allowed as postmatch.  End of line will be allowed too.
| border       The chars *forbidden* as border characters.
| body-regexp  A regexp like "." to match a body character.  Don't use
|              non-shy groups here, and don't allow newline here.
| newline      The maximum number of newlines allowed in an emphasis exp.
|
| Use customize to modify this, or restart Emacs after changing it.
|
| You can customize this variable.
|
| [back]
`----

I’d say that ‘pre’/‘post’ should really contain [[:space:]], but then
Org’s syntax table seems to treat the non-breaking space as
punctuation, so that wouldn’t help.  You could try adding the
character itself to both of those categories for a fix.  You’ll need
to restart Emacs afterwards (unless you used the Customize interface)
so that ‘org-emph-re’ is updated accordingly.

> Using 7.4.

This little problem aside, you might want to upgrade (if not to the
development version, at least to 7.5).

Aankhen



reply via email to

[Prev in Thread] Current Thread [Next in Thread]