Я часто пишу заметки в режиме org и экспортирую их в латекс. Однако, поскольку некоторые документы являются сложными, мне нужно включить много латексных пакетов вверху, например:
#+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}...
Можно ли сохранить все команды заголовка latex (\ usepackage, определения макросов и т. Д.) В отдельном текстовом файле, чтобы я мог просто включить одну строку в начало файла org? Это уменьшит беспорядок и облегчит мне добавление пакетов.
Альтернативное решение - проверить / настроить переменную
org-latex-packages-alist
- добавьте туда все необходимое\usepackage{...}
.Эта переменная объявлена и используется в
ox-latex
, поэтому ваша конфигурация org должна иметь объявление(require 'os-latex)
. Таким образом, нет строк для добавления в документы организации, кроме заголовка.Что касается макросов, обычным местом для хранения является пакет yasnippet, если вы его используете.
источник
Альтернативное решение - использовать неэкспортированный заголовок для переноса конфигурации:
Преимущество этого решения перед выдвижными ящиками состоит в том, что вы можете легко включать сложные конфигурации, такие как блоки LaTeX
которые не читаются (по умолчанию) в ящиках.
Преимущество этого решения по сравнению с файлами конфигурации (setupfile или include) состоит в том, что вы можете легко изменить конфигурацию, поскольку она включена в текущий файл.
Наконец, если вы хотите, чтобы этот заголовок оставался закрытым по умолчанию при открытии файла org, вы можете использовать следующий синтаксис:
источник
Вместо того чтобы использовать
#+SETUPFILE:
в соответствии с принятым ответом, если вы просто заинтересованы в выводе LaTeX, вы можете добавить следующее:В
header.tex
(или как вы хотите это называть) вы можете поместить всю свою преамбулу LaTeX без необходимости в целой куче#+LATEX_HEADER:
аргументов. Чтобы быть супер мета, вы также можете иметь эту#+LATEX_HEADER
опцию в своем#+SETUPFILE
.источник