win10环境中,怎样才能从org或markdown导出pdf格式文件?

使用bing搜索,通常是推荐安装ctex或texlive,可是这两个软件都太大了,而typro安装后并不太大,却能轻易地导出pdf文件,它是怎样实现的?困惑很久了,请大家指教

obsidian自带这个功能

在linux环境下可以导出pdf,在windows下没搞定

obsidian不错,但是我希望能在windows的emacs中实现这个功能,不想再换一个工具

(可能偏题,这俩和命令行没什么关系)

我一般先 org → html ,再用浏览器保存得到 Pdf

markdown 可以试下 marktext ,可以导出 pdf

不安装latex的话,可以org => doc => pdf,调用windows的打印功能可以把doc转成pdf。

抛开内置的 chromium 不谈,确实不大 :rofl:

单纯说实现, 就是浏览器输出 HTML 成 PDF

tex 最小化安装也就60MB,做得大是因为照顾不会用CTAN搜包的用户

如果你喜欢用 latex 输出 PDF, 但是你又不想安装整个 texlive, 可以用 tectonic. 该 tex compiler 会自动按需要下载宏包.

设置

(setq org-latex-pdf-process '("tectonic %f"))

然后 org 文件加上, 引用 ctex

#+LATEX_HEADER: \usepackage{ctex}

之后正常用 org 通过 latex 导出即可


例子文档

#+TITLE: Hello world

#+LATEX_HEADER: \usepackage{ctex}

你好 早晨 こんにちは

tectonic 导出生成

3 个赞

我觉得 tex 的依赖管理做得像一陀 ??? 也是原因之一. 编程语言有 Cargo.tomlpackage.jsongo.mod 但是 tex 又没有. 比如在网上下载一个模板, 除了 tectonic 这种编译器通分析 AST 获取所有依赖的包名字自动安装, 否则编译的时候各种缺包, 最后不如 texlive 全装上, 图省事…

问题解决了。特别好用,很开心

我导出的pdf文件,目录上带有一个红色的框,很难看,怎么才能去掉呢?

你打印有没有这个框?

可能是pdf显示器把超链接显示成了红框,很正常

(setq org-latex-hyperref-template "\\hypersetup{\n pdfauthor={%a},\n pdftitle={%t},\n pdfkeywords={%k},\n pdfsubject={%d},\n colorlinks=true,\n linkcolor=black\n}\n")
1 个赞

爱了,爱了。问题解决了。

试了下tectonic确实非常方便了。但有两个问题,没太研究明白,估计要研究latex语法了。

1)代码块没有特殊的标识(如边框或者缩进)

2)如果有比较长的文本,导出的PDF不进行字段折行

不知道哪位可帮忙提供下思路。

如果你指的是一行文本太长而没有自动换行的话,我测试的结果是自动换行的,即使它在Emacs中显示为长长的一行,也是自动换行的

org导出pdf文件能否把子树的数学序号

如:“1.” “1.1 ” “1.1.1” “1.1.1.1 ”

自动改为中文序号

如:“一、” “(一)” “1.” “(1)”

类似这样子的格式?

你这部分用==或者~~之类的包裹了吧?verbatim之类的是默认不折行的。

我测试了下,发现:

  1. 中文能够正常的折行;
  2. 英文单词也能正常的折行;
  3. 长英文字符串(不带空格的那种比如qwertyuiopasdfghjkrtyutyuidfghjkdfghjkqwertyuiopasdfghjkrtyutyuidfghjkdfghjkqwertyuiopasdfghjkrtyutyuidfghjkdfghjkqwertyuiopasdfghjkrtyutyuidfghjkdfghjkqwertyuiopasdfghjkrtyutyuidfghjkdfghjkqwertyuiopasdfghjkrtyutyuidfghjkdfghjkqwertyuiopasdfghjkrtyutyuidfghjkdfghjkqwertyuiopasdfghjkrtyutyuidfghjkdfghjkqwertyuiopasdfghjkrtyutyuidfghjkdfghjkqwertyuiopasdfghjkrtyutyuidfghjkdfghjk就无法进行折行
  4. 3的case不论加不加==~~