org mode export 为 latex 时, level 全都升高了, 从 \section 开始

我发现了 org mode 在导出为 latex 的一个行为, 比如:

** heading1
**** heading2

我以为会导出为 \subsection{heading1}\paragraph{heading2}, 但却导出为了 \section{heading1}\subsubsection{heading2}, 所有标题都被映射为级别更高的标题, 使得最大级别的标题从 1 开始 (而不是从它本来的 level 开始), 有没有办法修改这个行为?

我试过 emacs -Q 也会有这个行为, org mode 版本是 9.6.3.

应该是因为 \subsection 必须包在 \section 下面吧. 如果你有一个 level 1 的包着它们, 导出的结果就会如你预期了.

改代码了:

(defun my/org-export-get-relative-level (headline info)
  "Return HEADLINE relative level within current parsed tree.
INFO is a plist holding contextual information."
  (+ (org-element-property :level headline)
     -1))
(advice-add 'org-export-get-relative-level :override #'my/org-export-get-relative-level)

我这里设成 -1 是根据我的格式, 因为我把文章标题作为一级标题, 这样二级标题才对应 section. 这段代码只建议在导出 region 使用, 导出全文会有问题. 导出全文我是用 这个方法 来管理的.