Ivan Andrus <darthand...@gmail.com> writes: > Oops, forgot to reply to the list. > > On Mar 18, 2013, at 9:59 PM, Aaron Ecay <aarone...@gmail.com> wrote: > >> Hi Suvayu, >> >> I’ve had on my list of rainy day ideas for a while writing a function >> for org-export-filter-plain-text-functions that would implement >> something like this. It should be as simple as doing a text replace, >> either on “. [^ ]” sequences in general or only spaces after a given >> list of abbreviations. The advantage of the second approach is that it >> could catch the case where “e.g.” is at the end of a line in the org >> document. (You’d also have to remove the newline: translate “e.g.\nfoo” >> into “e.g.\ foo”). Another advantage to pre-specifying is that you might >> want a non-breaking space in “Fig.~1” but a breakable space in “e.g.\ foo”; >> so you could keep two lists. > > FWIW, You shouldn't have to worry about newlines. If Emacs is setup > properly they should never appear except at sentence boundaries. Which > is to say, autofill and fill-paragraph know not to break lines in the > middle of a sentence after punctuation. If the user adds a newline > manually you can assume they meant it to be a new sentence. IIRC the > variable at play is `sentence-end-double-space'.
I use something like this: #+BEGIN_SRC emacs-lisp (defun rasmus/latex-filter-double-space (text backend info) "Tries to export \"S1. S2\" as \"S1.~S2\", while letting \"S1. S2\" be exported without tilde" (when (memq backend '(beamer latex)) (replace-regexp-in-string "\\(\\. \\)\\{1\\}\\([^ ]\\)" ".~\\2" text))) (add-to-list 'org-export-filter-final-output-functions 'rasmus/latex-filter-double-space) #+END_SRC The list approach sounds better, I guess. . . Indeed it does not catch end of line stuff. Here's a test case #+BEGIN_SRC org #+NAME:ref #+BEGIN_SRC emacs-lisp (replace-regexp "\\(\\. \\)\\{1\\}\\([^ ]\\)" ".~\\2") #+END_SRC * Test fig. 1 isn't here. Here is double space. Fig. 2 does not work fig. [[ref]] is also works #+END_SRC which translate to #+BEGIN_SRC latex \section[Test]{Test} \label{sec-1} fig.~1 isn't here. Here is double space. Fig. 2 does not work fig.~\ref{ref} is also works #+END_SRC –Rasmus -- Hvor meget poesi tror De kommer ud af et glas isvand?