summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBlake Romero <blake@blkrom.com>2025-07-10 23:54:09 +0100
committerBlake Romero <blake@blkrom.com>2025-07-10 23:54:09 +0100
commitac58ce2c17605045d7260200d150c29271320239 (patch)
treeb8d36624e0b13ed879d98a42a6e1acbe5a200f57
parentd9341e62d21050a8e710302d2507fe2ed75e5ca6 (diff)
Add org LaTeX settings and class
-rw-r--r--emacs-config.org67
1 files changed, 67 insertions, 0 deletions
diff --git a/emacs-config.org b/emacs-config.org
index 54287a9..7eb23a4 100644
--- a/emacs-config.org
+++ b/emacs-config.org
@@ -523,6 +523,73 @@ Enable supported org babel languages.
(cl-pushnew `(,lang . t) org-babel-load-languages))
#+end_src
+*** Org LaTeX
+Use SVG LaTeX previews.
+#+begin_src elisp
+ (setq-default
+ org-preview-latex-default-process 'dvisvgm
+ org-html-with-latex 'dvisvgm)
+#+end_src
+
+Set [[https://ctan.org/pkg/hyperref][hyperref]] LaTeX settings.
+#+begin_src elisp
+ (setq-default org-latex-hyperref-template
+ "\\hypersetup{
+ pdfauthor={%a},
+ pdftitle={%t},
+ pdfkeywords={%k},
+ pdfsubject={%d},
+ pdfcreator={%c},
+ pdflang={%L},
+ linktoc=all,
+ colorlinks=true,
+ urlcolor=blue,
+ citecolor=blue,
+ linkcolor=blue
+ }
+ ")
+#+end_src
+
+Add =doc= LaTeX class.
+#+begin_src elisp
+ (with-eval-after-load 'ox-latex
+ (add-to-list 'org-latex-classes
+ `("doc"
+ ,(string-join
+ '(
+ "\\documentclass[11pt]{article}"
+
+ ;; Geometry
+ "\\usepackage[a4paper,margin=1in]{geometry}"
+
+ ;; Paraskip
+ "\\usepackage{parskip}"
+ "\\setlength{\\parindent}{0em}"
+ "\\setlength{\\parskip}{1em}"
+
+ ;; Line height
+ "\\renewcommand{\\baselinestretch}{1.2}"
+
+ ;; Fancyhdr (header/footer)
+ "\\usepackage{fancyhdr}"
+ "\\pagestyle{fancy}"
+ "\\fancyhead[LH,LH]{\\scriptsize\\leftmark}"
+ "\\fancyhead[RH,RH]{\\scriptsize\\rightmark}"
+ "\\fancyfoot[CF]{\\thepage}"
+ "\\fancyfootoffset{\\pagewidth}"
+ "\\renewcommand{\\headrulewidth}{0.5pt}" ; top line thickness
+ "\\renewcommand{\\footrulewidth}{0.5pt}" ; bottom line thickness
+ "\\renewcommand{\\headruleskip}{10pt}" ; top line padding
+ "\\renewcommand{\\footruleskip}{10pt}" ; bottom line padding
+ )
+ "\n")
+ ("\\section{%s}" . "\\section*{%s}")
+ ("\\subsection{%s}" . "\\subsection*{%s}")
+ ("\\subsubsection{%s}" . "\\subsubsection*{%s}")
+ ("\\paragraph{%s}" . "\\paragraph*{%s}")
+ ("\\subparagraph{%s}" . "\\subparagraph*{%s}"))))
+#+end_src
+
** Error Checking
Enable flymake for programming modes.
#+begin_src elisp