Weiss
1
也就是说将 org 中的
默认导出为
查了下 manual,似乎有两种方法可行
一种是新建一个 org-latex-default-class
, 将里面的
("\\section{%s}" . "\\section*{%s}")
("\\subsection{%s}" . "\\subsection*{%s}")
("\\subsubsection{%s}" . "\\subsubsection*{%s}")
("\\paragraph{%s}" . "\\paragraph*{%s}")
("\\subparagraph{%s}" . "\\subparagraph*{%s}")
修改为自定义的样式,这些样式里全部使用 enumerate 。
还有一种是先将 org-export-headline-levels
设置为 1 或 0, 这样比这个数字大的 header 就全部按照 back-end 进行修改了,文档在这:
Documentation:
The last level which is still exported as a headline.
Inferior levels will usually produce itemize or enumerate lists when exported, but back-end behavior may differ.
但并没有查到这个 back-end 在哪里,如何修改,请各位高人指点
1 个赞
bcair
2
应该是指将要导出格式对应的 backend,可以查看变量 org-export-backends
。你想导出 latex 文件,就只考虑 ox-latex.el 文件定义的 latex backend 会不会将等级大于 org-export-headline-levels 的 org 标题导成 latex 文件中的列表
Weiss
3
感谢,参考了 这个 搞定了。顺便提一下,不要随便网上找个 ox-latex.el 就开始改,我一开始就在 github 上随便搜了个 这个 ,年代久远,试了半天都不行,后来才发现原来参考的 ox-latex 就是有问题的 。
新写的 backend 大概结构是这样的:
(require 'ox)
(require 'ox-publish)
(require 'ox-latex)
(org-export-define-derived-backend 'enumerate-latex 'latex
:translate-alist '((headline . org-latex-headline-enumerate))
:menu-entry
'(?e "Export to ENUMERATE-LATEX"
(
(?l "As LaTeX " org-latex-export-to-latex-enumerate)
(?p "As PDF " org-latex-export-to-pdf-enumerate)
))
)
(defun org-latex-headline-enumerate (headline contents info)
;; 你要修改的函数
)
;;; End-user functions
;;;###autoload
(defun org-latex-export-to-latex-enumerate
(&optional async subtreep visible-only body-only ext-plist)
"Enumerate"
(interactive)
(let ((outfile (org-export-output-file-name ".tex" subtreep)))
(org-export-to-file 'enumerate-latex outfile
async subtreep visible-only body-only ext-plist)))
;;;###autoload
(defun org-latex-export-to-pdf-enumerate
(&optional async subtreep visible-only body-only ext-plist)
"Enumerate"
(interactive)
(let ((outfile (org-export-output-file-name ".tex" subtreep)))
(org-export-to-file 'enumerate-latex outfile
async subtreep visible-only body-only ext-plist
(lambda (file) (org-latex-compile file)))))
(provide 'ox-enumerate-latex)
;;; ox-enumerate-latex.el ends here
1 个赞