Często piszę notatki w trybie org i eksportuję je do lateksu. Ponieważ jednak niektóre dokumenty są złożone, muszę na górze umieścić wiele pakietów lateksowych:
#+LATEX_HEADER: \usepackage[margin=1.15in]{geometry}
#+LATEX_HEADER: \usepackage{parskip}
#+LATEX_HEADER_EXTRA: \usepackage{graphicx}
#+LATEX_HEADER_EXTRA: \usepackage{mdframed}
#+LATEX_HEADER_EXTRA: \usepackage{needspace}
#+LATEX_HEADER_EXTRA: \usepackage{hyperref}
#+LATEX_HEADER_EXTRA: \usepackage{titling}
#+LATEX_HEADER_EXTRA: \usepackage{enumitem}
#+LATEX_HEADER_EXTRA: \usepackage{etoolbox}
#+LATEX_HEADER_EXTRA: \usepackage{color}
#+LATEX_HEADER_EXTRA: \usepackage{underscore}...
Czy można przechowywać wszystkie polecenia nagłówka lateksowego (\ usepackage, definicje makr itp.) W osobnym pliku tex, dzięki czemu mogę mieć tylko jedną linię na górze pliku org? Zmniejszy to dużo bałaganu i ułatwi mi dodawanie pakietów.
Alternatywnym rozwiązaniem jest sprawdzenie / dostosowanie zmiennej
org-latex-packages-alist
- dodaj tam wszystko, czego potrzebujesz\usepackage{...}
.Ta zmienna jest zadeklarowana i używana przez
ox-latex
, więc konfiguracja organizacji musi mieć deklarację(require 'os-latex)
. W ten sposób żadne wiersze nie będą dodawane do dokumentów organizacji, z wyjątkiem tytułu.Jeśli chodzi o makra, zwykłym miejscem do przechowywania jest pakiet yasnippet, jeśli go używasz.
źródło
Alternatywnym rozwiązaniem jest użycie nieeksportowanego nagłówka do zawijania konfiguracji:
Zaletą tego rozwiązania w porównaniu z szufladami jest to, że można łatwo dołączyć zaawansowaną konfigurację, taką jak bloki LaTeX
które nie są odczytywane (domyślnie) w szufladach.
Zaletą tego rozwiązania w porównaniu z plikami konfiguracyjnymi (plik konfiguracyjny lub dołączony) jest to, że można łatwo zmienić konfigurację, ponieważ jest ona zawarta w bieżącym pliku.
Wreszcie, jeśli chcesz, aby ten nagłówek pozostawał domyślnie zamknięty podczas otwierania pliku org, możesz użyć następującej składni:
źródło
Zamiast używać
#+SETUPFILE:
zgodnie z przyjętą odpowiedzią, jeśli interesuje Cię wyjście LaTeX, możesz zamiast tego dodać następujące:W
header.tex
(lub jakkolwiek chcesz to nazwać) możesz następnie umieścić całą preambułę LaTeX-a bez potrzeby mnóstwa#+LATEX_HEADER:
argumentów. Aby być super meta, możesz również mieć tę#+LATEX_HEADER
opcję w swoim#+SETUPFILE
.źródło