From mboxrd@z Thu Jan 1 00:00:00 1970 From: Thomas S. Dye Subject: Re: small caps Date: Thu, 29 Oct 2015 06:55:18 -1000 Message-ID: References: <87si4toc4g.fsf@nicolasgoaziou.fr> Mime-Version: 1.0 Content-Type: text/plain Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:40776) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZrqUL-0006CP-0z for emacs-orgmode@gnu.org; Thu, 29 Oct 2015 12:55:45 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ZrqUG-0007nF-1A for emacs-orgmode@gnu.org; Thu, 29 Oct 2015 12:55:44 -0400 Received: from gproxy5-pub.mail.unifiedlayer.com ([67.222.38.55]:44862) by eggs.gnu.org with smtp (Exim 4.71) (envelope-from ) id 1ZrqUF-0007n4-OL for emacs-orgmode@gnu.org; Thu, 29 Oct 2015 12:55:39 -0400 In-reply-to: <87si4toc4g.fsf@nicolasgoaziou.fr> 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@gnu.org Sender: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org@gnu.org To: Nicolas Goaziou Cc: Org Mode Aloha Matt, Nicolas Goaziou writes: > Hello, > > Matt Price writes: > >> do we have a syntax for the "small caps" text attribute in Org? > > No, we don't. > I've been using this export filter, written by Eric Schulte. It works fine for my uses. **** Eric Schulte's filter for HTML small caps #+name: es-small-caps #+begin_src emacs-lisp ;;; "sc" links for the \sc{} latex command (defun org-export-html-small-caps (string backend channel) (when (org-export-derived-backend-p backend 'html) (let ((rx "{\\\\sc ") (fmt "%s")) (with-temp-buffer (insert string) (goto-char (point-min)) (while (re-search-forward rx nil t) (let* ((start (match-beginning 0)) (end (progn (goto-char start) (forward-sexp) (point))) (content (buffer-substring (+ start 5) (- end 1)))) (delete-region start end) (goto-char start) (insert (format fmt content)))) (buffer-string))))) (add-to-list 'org-export-filter-final-output-functions 'org-export-html-small-caps) (defun org-export-latex-sc (tree backend info) "Handle sc: links for latex export." (org-element-map tree 'link (lambda (object) (when (equal (org-element-property :type object) "sc") (org-element-insert-before (cond ((org-export-derived-backend-p backend 'latex) (list 'latex-fragment (list :value (format "{\\sc %s}" (org-element-property :path object)) :post-blank (org-element-property :post-blank object)))) ((org-export-derived-backend-p backend 'html) (list 'export-snippet (list :back-end "html" :value (format "%s" (org-element-property :path object)) :post-blank (org-element-property :post-blank object)))) (:otherwise (error "unsupported backend for `org-export-latex-sc'"))) object) (org-element-extract-element object)))) tree) (org-add-link-type "sc") (add-hook 'org-export-filter-parse-tree-functions 'org-export-latex-sc) #+end_src hth, Tom -- Thomas S. Dye http://www.tsdye.com