From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Sebastien Vauban" Subject: Re: New LaTeX exporter, link to \ref Date: Sun, 16 Sep 2012 22:42:19 +0200 Message-ID: <80lig9og2c.fsf@somewhere.org> References: <87sjaih0um.fsf@gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Return-path: List-Id: "General discussions about Org-mode." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org-mXXj517/zsQ@public.gmane.org Sender: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org-mXXj517/zsQ@public.gmane.org To: emacs-orgmode-mXXj517/zsQ@public.gmane.org Hi Thomas, Thomas S. Dye wrote: >> I use the following instead (_ character stands for the non-breaking >> space): >> >> #+begin_src emacs-lisp >> (defun ngz-latex-filter-nobreaks (text backend info) >> "Ensure \"_\" are properly handled in Beamer/LaTeX export." >> (when (memq backend '(e-beamer e-latex)) >> (replace-regexp-in-string "_" "~" text))) >> (add-to-list 'org-export-filter-plain-text-functions >> 'ngz-latex-filter-nobreaks) >> #+end_src > > Thanks very much for the filter, which makes for an aesthetically > pleasing org buffer. I changed the underscore to a non-breaking > space character in the call to replace-regexp-in-string and now get > tildes in my LaTeX export. I use this: #+begin_src emacs-lisp ;; replace space by nobreak-space where it fits well (defun my/replace-space-before-colon () "Replace space by nobreak-space in front of a colon." (interactive) (cond ((eq (char-before) ?\ ) ;; normal space (backward-delete-char 1) (cond ((equal mode-name "PDFLaTeX") (insert "~:")) ((equal mode-name "Org") (if (and (fboundp 'org-in-src-block-p) (org-in-src-block-p)) (insert " :") (insert "=C2=A0:"))) ;; FIXME Don't put a nobreak space when specifying Org ;; Babel properties (such as :exports both) (t (insert "=C2=A0:")))) ;; non-breaking space ;; remove nobreak-space if two colons are put one after the ;; other (for terms and definitions in Org) ((and (eq (char-before) ?\:) (eq (char-before (- (point) 1)) ?\=C2=A0)) (backward-delete-char 2) (insert " ::")) ;; normal space (t (insert ":")) )) ;; French typography (defun my/nobreak-keys () "If any, replace space in front of colons, question marks, exclamation marks, etc. to avoid line break problems." (interactive) (local-set-key ":" 'my/replace-space-before-colon)) (add-hook 'text-mode-hook 'my/nobreak-keys) (add-hook 'message-mode-hook 'my/nobreak-keys) #+end_src in order to have real nbsp as well in my Org buffer. They aren't translated neither to HTML nor to LaTeX (they're simply copied across), allowing for consistent view in all the buffers (source + outputs). Best regards, Seb --=20 Sebastien Vauban