Aloha Matt, Nicolas Goaziou <m...@nicolasgoaziou.fr> writes:
> Hello, > > Matt Price <mopto...@gmail.com> 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 "<span style=\"font-variant:small-caps;\">%s</span>")) (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 "<span class=\"sc\">%s</span>" (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