From ac58ce2c17605045d7260200d150c29271320239 Mon Sep 17 00:00:00 2001 From: Blake Romero Date: Thu, 10 Jul 2025 23:54:09 +0100 Subject: Add org LaTeX settings and class --- emacs-config.org | 67 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 67 insertions(+) (limited to 'emacs-config.org') 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 -- cgit