7

Когда я использую org-export-as-latex или org-export-as-html orgmode превращает мой буфер в файл .tex или .html . Но я не хочу, чтобы весь этот ненужный мусор добавлялся в файл: я хочу обрабатывать documentclass и все остальное самостоятельно и просто \input файл, созданный в режиме org. (Или аналогичные вещи для HTML с PHP).

Так что, если мой файл org просто имеет:

* Section
- Stuff
- Things

Я хочу, чтобы команда режима org выводила просто

\section{Section}
\begin{itemize}
\item Stuff
\item Things
\end{itemize}

Без какого-либо дополнительного мусора \tableofcontents который ORG добавляет к нему. Я знаю, что мог бы определить свой собственный вид #+LaTeX_CLASS который мог бы добавить пакеты, которые я хочу, и так далее, но я не хочу делать вещи таким образом (и это не приведет к удалению \maketitle или поддельного \vspace* что ORG настаивает на вставке.

Есть ли команда для этого "безголового" анализа и преобразования? Я посмотрел, но это не очевидно из документации. Предположительно какая-то команда ORG низкого уровня выполняет синтаксический анализ и преобразование, которое я хочу, но я не смог найти то, как она называлась, просматривая документы и страницы C-h ...

Это не вопрос HTML или LaTeX, а режим emacs ORG. Так что не пускайте это на какой-то другой сайт ...

1 ответ1

7

Для вывода LaTeX, вот несколько вариантов для получения более чистого вывода:

Функция org-export-as-latex самом деле принимает несколько параметров, одним из которых является флаг BODY-ONLY.

Прототипом для этой функции является (org-export-as-latex ARG &optional HIDDEN EXT-PLIST TO-BUFFER BODY-ONLY PUB-DIR) для OrgMode 7.5.

Вы можете попробовать вывод, явно оценив вызов LISP:

M-: (org-export-as-latex nil nil nil nil t) RET

где символ t обозначает опцию только для тела. Это создаст новый буфер с выводом LaTeX. (RET означает нажатие клавиши возврата)

Сокращение для вышеупомянутого должно вызвать org-export-region-as-latex . Это интерактивная функция, которую вы можете вызвать с помощью M-x . Единственный аргумент - флаг только для тела.

Например, вы можете выбрать весь буфер (через C-x h), а затем вызвать эту функцию с аргументом префикса (чтобы присвоить не только нулевое значение только body):

C-u M-x org-export-region-to-latex RET

Теперь у вас будет выбран новый буфер с выводом LaTeX и без заголовка / нижнего колонтитула / заголовков / оглавления.

Эта идея работает также с org-export-region-as-html .

Существует также пакет org-export-generic который позволяет полностью определить экспортер: http://orgmode.org/worg/org-contrib/org-export-generic.html.

PS Я использую последнюю версию разработки OrgMode 7.5

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .