org导出如何完全不含title的latex文档

我想把org文件中的某个entry作为一个独立的latex文档来编辑和导出,现在已经实现了。默认的pdf文件的title就是entry名字,这已经满足了我的大多数需求。

最近需要去掉这个title,变成一个纯的无title的pdf文档,应该怎么实现呢?

1 个赞

应该还有其它的方法,可以试试设置 EXPORT_TITLE

* 卷子
  :PROPERTIES:
  :EXPORT_TITLE:
  :END:

参考函数 org-export--get-subtree-options

1 个赞

完美解决了,太谢谢了!这个春节好快乐啊!

用mac和org-mode排版试卷,你的同事怎么办呀 :rofl::rofl::rofl:

哈哈,我帮我朋友排版的,只要弄出来可以打印的稿子就可以了。

Emacs的这种业务方式在别的软件上真的闻所未闻啊。org-mode 的这个输出能力真是太强大了,不过要是再进一步就好了:现在导出的文档的纸张大小和页边距是全部org文件共享同一个定义,就是org文档顶上的

#+LATEX_HEADER: \usepackage[landscape, left=2.5cm, right=2.5cm, top=2.8cm, bottom=5.0cm]{geometry}

这个相当于是个全局变量。

现在我想把每个需要的Entry(或者说headline)弄成独立的latex文档,如果能给每个Entry一个私有的局部控制纸张和页边距机制就好了。

我觉得orgmode应该有这个功能把?哈哈,要是真有,以后100个latex文档都在一个org文件里面,计划,工作,学习,生活都在一个org文档里面,这才是真的一个org文档纪录自己的一生啊,哈哈哈!

2 个赞

Orgnize your plain life in plain text

全部放一个文件不太好,我觉得用#+INCLUDE挺好

1 个赞

是的,分开存储有助于模块化的管理。

我现在有点想探寻org的性能极限,现在我这个单独的org文件才2M,我先弄大点看看什么时候会跑不动了。目前把那个68个列的数据直接在文件中用tab的方式处理,能感到明显卡顿了。我想可能还是要到linux里面,才能用到Emacs的真正满功率开挂的性能吧。(这个mac本电脑是2013 later的满配版,i7四核、16G、500ssd,我对它在Emacs上的表现其实还是不满意的。)

请问楼主这个怎么实现的啊? 还有自己也在出试卷,能不能给份你图片的文档,让我参考下,如果对内容不敏感的话。谢谢😜。

给想导出的heading设置EXPORT_LATEX_HEADER properties ((org-set-property)):

* Some heading
:PROPERTIES:
:EXPORT_LATEX_HEADER: \usepackage{mathptmx} % rm & math
:EXPORT_LATEX_HEADER: \usepackage[scaled=0.90]{helvet} % ss
:END:

不过可能不大推荐这么干。。容易弄的文件过大性能降低。。 参考 https://lists.gnu.org/archive/html/emacs-orgmode/2016-03/msg00041.html

org-export-dispatch运行之后有个Export scope选项 我这是按C-s

或者先narrow之后再export应该也可以

我这种“让多个pdf模版”在同一个org文件中的不同headline里面作为局部变量使用是不能实现的。

虽然变量列表“org-latex-classes”可以申明多个docmentclass,但是每个org文件只能使用一个docmentclass。

因为每一个物理org文件中,只能有一个“#+LATEX_CLASS”,也就是latex文档中的“\documentclass[UTF8]{ctexart}”,这个文档类型目前只能已全局变量的方式使用,作用域是整个org文件。

我的理想方式是这样花哨的东西,哈哈:

foo.org中

#+LATEX_CLASS:ctexart

  • 文章

    #+LATEX_CLASS:book

** 章

  #+LATEX_CLASS:report

 *** 节

--------------

如果我在“节”这里导出pdf,得到report格式的;

如果我在“章”这里导出pdf,得到book格式的;

如果我在“文章”这里导出pdf,得到ctexart格式的. 其实我纠结的就是每个headline作为一棵子树自己能够自成一体的程度,然后又向上和父节点能够融为一体的程度。现在在docmentclass()这个参数上没有这种功能。

目前我是把这三种#+LATEX_CLASS 分别放在三个不通的org文件中解决。

谢谢你的提示,我看你给的连接,里面发问的人和我的需求一模一样。

就是把多行LATEX_HEADER作为该subtree的局部变量定义在propertes里面。

但是我和发问者遇到的问题是,:EXPORT_LATEX_HEADER:这个参数只能使用一次,后面的同名参数将会覆盖前面的,所以如果写入了若干行:EXPORT_LATEX_HEADER:,那么只有最后一个:EXPORT_LATEX_HEADER:会出现正确在导出的latex文件中,前面的相当于没写过。

那么有一个语法就是

:EXPORT_LATEX_HEADER: latex指令A

:EXPORT_LATEX_HEADER+: latex指令B

这样会把两行独立的latex指令合成一行,导出到latex文件中,变成

“latex指令A latex指令B”

这样会导致了latax文件在编译时出现语句错误。

回答者建议在 latex指令A 后面加一个换行符。

但是我现在没有试出来有效的换行符是什么?我输入 \n 之类的,还是在latex文件中照抄为“\n”,没有生效。

哎,就差这点了,我就要能实现每个subtree用局部变量的方式去独立设置各自的页面格式了。

这里还有一个类似的讨论,我和的需求一样,就是需要频繁的改变pdf文档的页面设置。都没有成功,哈哈。

他用

:EXPORT_LATEX_HEADER: \input{stylefile}

再紧跟一个subtree,定义包含多行latex_header的strylefile

我只了解到,这个:EXPORT_LATEX_HEADER: \input{stylefile} 只要一出现,就会排斥org文件的#+LATER_HEADER 的所有参数,但是不排斥如下定义的org-latex-classes中的设置。

 (add-to-list 'org-latex-classes
         '("my-doc" "\\documentclass[UTF8]{article}"
       ;; 论文类型latex。2019-10-12 星期六 22:23:23
       ;; 中文目录
           ("\\section{%s}" . "\\第section*{%s}章")
           ("\\subsection{%s}" . "\\subsection*{%s}")
           ("\\subsubsection{%s}" . "\\subsubsection*{%s}")
           ("\\paragraph{%s}" . "\\paragraph*{%s}")
           ("\\subparagraph{%s}" . "\\subparagraph*{%s}")
       ))