Browse Source

Added the org auto latex exporter

Sam Flint 10 years ago
parent
commit
1d851dc5a8
1 changed files with 74 additions and 0 deletions
  1. 74 0
      org-exportlatex.org

+ 74 - 0
org-exportlatex.org

@@ -0,0 +1,74 @@
+#+Title: Org Export as LaTeX
+#+Author: Sam Flint
+#+PROPERTY: noweb tangle
+
+* Copyright Statement
+#+Name: CopyrightStatement
+#+CAPTION: use-name-as-caption
+#+BEGIN_SRC text
+  Copyright FlintFam Systems Management, 2013.
+  
+  This program is free software: you can redistribute it and/or modify
+  it under the terms of the GNU General Public License as published by
+  the Free Software Foundation, either version 3 of the License, or
+  (at your option) any later version.
+  
+  This program is distributed in the hope that it will be useful,
+  but WITHOUT ANY WARRANTY; without even the implied warranty of
+  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+  GNU General Public License for more details.
+  
+  You should have received a copy of the GNU General Public License
+  along with this program.  If not, see <http://www.gnu.org/licenses/>.
+#+END_SRC
+* Setup Vars
+#+Name: VarSetup
+#+CAPTION: use-name-as-caption
+#+BEGIN_SRC sh
+  DIR=`pwd`
+  FILES=""
+  
+  for i in $@; do
+      FILES="$FILES \"$i\""
+  done
+  
+  ORGBASEDIR=''
+  ORGLDIR="${ORGBASEDIR}/lisp/"
+  ORGCONTRIB="${ORGBASEDIR}/contrib/"
+#+END_SRC
+* Process
+#+Name: Process
+#+CAPTION: use-name-as-caption
+#+BEGIN_SRC sh
+  emacs -Q --batch \
+      --eval "(progn
+       (add-to-list 'load-path (expand-file-name \"$ORGLDIR\"))
+       (add-to-list 'load-path (expand-file-name \"$ORGCONTRIB\" t))
+       (require 'org)(require 'org-exp)(require 'ob)(require 'ob-tangle)
+       (load-file \"org-usename-caption.el\")
+       (mapc (lambda (file)
+              (find-file (expand-file-name file \"$DIR\"))
+              (org-export-as-latex-batch)
+              (kill-buffer)) '($FILES)))" 2>&1 |grep tangled
+#+END_SRC
+* A little elisp
+#+Name: OrgExportNameCaption
+#+CAPTION: use-name-as-caption
+#+BEGIN_SRC elisp :tangle "org-usename-caption.el"
+  (defun org-export-use-name-as-caption 
+    (text &optional back-end info)
+    "Use the block name as the caption."
+    (replace-regexp-in-string 
+     "label{\\([^}]*\\)}\\(use-name-as-caption\\)"
+     "label{\\1}\\1"
+     text))
+  
+  (add-to-list 'org-export-filter-src-block-functions
+               'org-export-use-name-as-caption)
+#+END_SRC
+* Code
+#+Name: FinalCode
+#+CAPTION: use-name-as-caption
+#+BEGIN_SRC sh :tangle "org-exportlatex.sh" :shebang "#!/usr/bin/zsh"
+
+#+END_SRC