patch ob-core to allow function as header-args and add function for latex src blocks for tikz pictures
This commit is contained in:
@@ -17,23 +17,70 @@
|
||||
|
||||
;;; Code:
|
||||
(require 'ox-latex)
|
||||
(require 'ob-latex)
|
||||
(require 'ob-gnuplot)
|
||||
|
||||
;;(setq org-babel-latex-htlatex "htlualatex")
|
||||
;;(setq org-babel-latex-htlatex "htlatex")
|
||||
;; (executable-find org-babel-latex-htlatex)
|
||||
|
||||
|
||||
;; PROPERTY src block header arguments
|
||||
;; PROPERTY src block header arguments https://orgmode.org/manual/Property-Syntax.html
|
||||
;; https://orgmode.org/manual/Using-Header-Arguments.html
|
||||
;; on src block C-c C-v I - org-babel-view-src-block-info this will eval as org backend
|
||||
;; LaTeX
|
||||
(add-to-list
|
||||
'org-global-properties
|
||||
'("header-args:latex" .
|
||||
":headers (if (org-export-derived-backend-p org-export-current-backend 'latex) nil '(\"\\usepackage{xcolor}\\definecolor{color0}{HTML}{ffffff}\\definecolor{color1}{HTML}{0071bc} \\usepackage{pgfplots} \\tikzset{every path/.style={color=white}} \\usetikzlibrary{arrows.meta,calc}\\makeatletter\\tikzset{clip/.code={\\let\\tikz@mode=\\pgfutil@empty\\let\\tikz@preactions=\\pgfutil@empty\\let\\tikz@postactions=\\pgfutil@empty\\let\\tikz@options=\\pgfutil@empty\\tikz@addmode{\\tikz@mode@cliptrue}},}\\makeatother\") )"))
|
||||
(add-to-list
|
||||
'org-global-properties
|
||||
'("header-args:latex+" .
|
||||
":packages '(\"\\usepackage{xcolor}\\definecolor{color0}{HTML}{ffffff}\\definecolor{color1}{HTML}{0071bc} \\usepackage{svg} \\usepackage{tikz} \\usepackage{pgfplots} \\pgfplotsset{compat=newest, axis line style={white}, every axis label/.append style ={white}, every tick label/.append style={white},color0/.style={color=white}}\")"))
|
||||
(setq org-babel-default-header-args:latex
|
||||
`((:results . "latex")
|
||||
(:exports . "results")
|
||||
(:prologue . (lambda ()
|
||||
(concat (by-backend
|
||||
(latex gnuplot-init-light)
|
||||
(article-latex gnuplot-init-light)
|
||||
(t gnuplot-init-dark)))))
|
||||
(:headers . (lambda ()
|
||||
(if (org-export-derived-backend-p org-export-current-backend 'latex)
|
||||
""
|
||||
"
|
||||
\\usepackage{xcolor}
|
||||
\\definecolor{color0}{HTML}{ffffff}
|
||||
\\definecolor{color1}{HTML}{0071bc}
|
||||
\\usepackage{pgfplots}
|
||||
\\usepgflibrary{shapes.geometric}
|
||||
\\usetikzlibrary{
|
||||
arrows.meta,
|
||||
arrows,
|
||||
calc,
|
||||
positioning,
|
||||
shapes.multipart,
|
||||
decorations.pathmorphing,
|
||||
backgrounds,
|
||||
pgfplotsclickable,
|
||||
shadows,
|
||||
shadows.blur,
|
||||
mindmap,
|
||||
}
|
||||
\\tikzset{every path/.style={color=white}}
|
||||
\\makeatletter
|
||||
\\tikzset{clip/.code={\\let\\tikz@mode=\\pgfutil@empty\\let\\tikz@preactions=\\pgfutil@empty\\let\\tikz@postactions=\\pgfutil@empty\\let\\tikz@options=\\pgfutil@empty\\tikz@addmode{\\tikz@mode@cliptrue}},}
|
||||
\\makeatother")))
|
||||
(:packages . "\\usepackage{xcolor}
|
||||
\\definecolor{color0}{HTML}{ffffff}
|
||||
\\definecolor{color1}{HTML}{0071bc}
|
||||
\\usepackage{svg}
|
||||
\\usepackage{tikz}
|
||||
\\usepackage{pgfplots}
|
||||
\\pgfplotsset{compat=newest, axis line style={white}, every axis label/.append style ={white}, every tick label/.append style={white},color0/.style={color=white}}"
|
||||
)))
|
||||
;; Gnuplot
|
||||
(add-to-list
|
||||
'org-global-properties
|
||||
'("header-args:gnuplot" .
|
||||
":prologue (by-backend (latex gnuplot-init-light) (t gnuplot-init-dark))"))
|
||||
(setq org-babel-default-header-args:gnuplot
|
||||
`((:results . "file")
|
||||
(:exports . "results")
|
||||
(:session)
|
||||
(:prologue . (lambda ()
|
||||
(concat (by-backend
|
||||
(latex gnuplot-init-light)
|
||||
(article-latex gnuplot-init-light)
|
||||
(t gnuplot-init-dark)))))))
|
||||
|
||||
;; MACRO https://orgmode.org/manual/Macro-Replacement.html
|
||||
(add-to-list
|
||||
|
||||
Reference in New Issue
Block a user