关于导出 Word 的机制

本贴最后更新于 1118 天前,其中的信息可能已经水流花落

@88250 D 大,请教一下,思源导出 Word 的机制是这样的命令吗?

pandoc Z:\xxxx.sy -o output.docx

  • 思源笔记

    思源笔记是一款隐私优先的个人知识管理系统,支持完全离线使用,同时也支持端到端加密同步。

    融合块、大纲和双向链接,重构你的思维。

    23020 引用 • 92599 回帖
  • Q&A

    提问之前请先看《提问的智慧》,好的问题比好的答案更有价值。

    8449 引用 • 38491 回帖 • 155 关注

欢迎来到这里!

我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。

注册 关于
请输入回帖内容 ...
  • 思源用的是 Pandoc,但是不是直接转换,而是先将文档转换为 HTML,然后再通过 Pandoc 将 HTML 转换为 Docx。

    1 回复
  • Diamond 2

    Pandoc 转的时候能加参数吗?或者考虑后期支持添加参数的功能吗?我现在整体上实现了 思源笔记内容 +zotero(文献管理软件)+Word 的论文写作工作流,但是手动操作的话,稍微复杂,需要支持这种命令(中间有几个参数):

    pandoc Z:\xxxx.sy -s --lua-filter=zotero.lua -o output.docx

    如果可以打通的话,可能能吸引一批搞科研的

    目前设想是,在思源文档开头的一个区域,用特征符号隔离一个命令(三个减号)或者把命令存在文档标题的某个属性值,不知道是否考虑?如果考虑的话,我抽时间搞个简单的教程

    3 回复
  • 通过设置特定属性应该是个不错的方案,Issue #3535 · siyuan-note/siyuan

    在文档上设置属性 pandoc-docx,值为附加参数列表,比如 --reference-doc twocolumns.docx --lua-filter=zotero.lua

    你看这样如何,我们打算在下个内测版中引入,欢迎加入内测帮忙测试,谢谢。

    2 回复
  • Diamond

    可以可以 ,我 github,打酱油的 https://github.com/wazili

    1 回复
  • 已经邀请,预计明天会发布 v1.5.5-alpha1 内测版。

    2 回复
  • Diamond 1

    ok,期待,不过最近可能有点忙,尽量及时反馈

  • maojiajing

    思源 +zotero+word 工作流 期待教程

  • 同期待教程

  • maojiajing

    D 大,能否具体指导一下怎么操作呢

  • Diamond

    内测版我试了一下,没实现,总结如下

    前提准备:
    下载 https://www.lanzouw.com/iC7Bqx5vzgf
    下载并安装 Zotero | Your personal research assistant@HTTP
    然后安装插件 Release v5.6.11 · retorquere/zotero-better-bibtex@HTTP 到 zotero
    zotero 导入 zotero 导出的条目.rdf

    笔记内容是 20211202193901-w7yhtbe.sy

    思源笔记先导出 markdown,然后 zotero 处于打开状态,cmd 命令行执行 pandoc Z:\Downloads\Untitled\Untitled.md -s --lua-filter Z:\zotero.lua -o output.docx 可以成功转化(转换过程中需要和 zotero 通讯),

    但是在思源笔记 v1.5.5 alpha 版中,设置属性 pandoc-docx ,属性值 -s --lua-filter Z:\zotero.lua ,导出的 Word 和不加参数导出的一样,即属性值没有起到作用

    我的问题是:

    1. 为了达到能转换成功的目的,cmd 应该怎样正确填写到思源笔记的属性中?
    2. 或者说,思源笔记现在的导出流程(思源笔记 → HTML →Pandoc 转为 docx)不能使得 zotero.lua 参数产生作用,手动导出流程 B(思源笔记 → markdown →Pandoc 转为 docx)可以使得 zotero.lua 参数产生作用,难道中间必须使用 markdown 格式做跳板?如果是后者的话,那么目前 pandoc-docx 属性并不能使得思源笔记和参考文献管理软件 zotero 产生联动
    1 回复
  • 目前思源导出 Word 的流程:

    .sy -> Markdown -> HTML -> Pandoc Word

    导出 pandoc-docx 属性只在调用 HTML -> Pandoc Word 这一步会作为 pandoc 命令参数加入。

    1 回复
  • Diamond

    那我理解了, --lua-filter=zotero.lua 这个参数目前应该是无法作用于 SY 导出流程的

    我不知道别人转换的时候,pandoc-docx 这个参数是否起作用?

    SY 是否考虑更改或者添加一个导出流程(sy. → markdown → Pandoc 转为 Word)?

    原因是,我看网上积累的很多 Pandoc 转换经验、方案都是 markdown 直接转为 Word,我使用 Pandoc 也是模仿别人的经验,包括上面联合 zotero 要用到的 zotero.lua 文件也是我从别的帖子里下载的

    谢谢

    1 回复
  • 这个暂时不会添加,因为目前已经支持导出 Markdown 了,后半部分的流程还是通过其他外部工具或者手动操作一下吧。

    1 回复
  • Diamond

    好吧,那我只能手动将就着用吧

  • Diamond

    @88250 再次请教一下,

    1. 思源目前导出为 markdown、Word、pdf、html 的机制分别对应下面这四个过程吗?

      .sy -> Markdown
      .sy -> Markdown -> HTML -> Pandoc Word
      .sy -> Markdown -> HTML -> Pandoc PDF
      .sy -> Markdown -> HTML

    2. .sy -> markdown 这个过程是内核转换的吗?还是使用的其它工具?

    3. 我在 Pandoc 社区发帖咨询了一下 Pandoc 转换 HTML 为 Word 时,--lua-filter=zotero.lua 参数是否起作用,目前在等待回复。

    谢谢

    1 回复
    1 操作
    Diamond 在 2021-12-07 23:40:47 更新了该回帖
    1. 是的
    2. 内核转的
    1 回复
  • Diamond 1

    谢谢回复

    1. 我先观望一下 Pandoc 在 html->word 过程中 是否支持 --lua-filter=zotero.lua 参数;
    2. 我今晚看 Pandoc 资料后,还是建议思源考虑加一个支持 属性参数 的转换流程: .sy -> Markdown ->Pandoc 带参数转为word,这种流程可参考的 Pandoc 教程、资源比较多,比较成熟
  • Diamond

    @88250 D 大,我昨天试了一下 v1.5.5,现在支持 .lua 参数了,但是存在一个问题,你那应该也可以直接试一下

    1. 使用文档属性参数 pandoc-docx -f markdown,导出 Word 时,代码块、图片不能导出来,有序列表没有序号,其它未测试
    2. 不使用属性参数的话,导出的 Word,有代码块、图片、有序列表的序号

    不知是否是我设置的文档属性参数有问题?可否提供一个参数?

    谢谢

    1 回复
  • 格式参数已经写死了是 docx 的,所以再指定的话会有冲突;还是等这个吧 Issue #3592 · siyuan-note/siyuan

    1 回复
  • Diamond

    噢噢噢,我昨天见你把请求增加 Markdown -> Pandoc 带参转换 · Issue #3592 · siyuan-note/siyuan closed 了,还以为这个功能在 1.5.5 已经实现了,看来还没有哦

    1 回复
  • 这个 #3592 没有关闭过,v1.5.5 关闭的是 Issue #3535 · siyuan-note/siyuan

  • Diamond

    @88250 D 大,v1.7.6 导出 Word 是怎么导的?支持属性参数吗?

    1 回复
  • 不支持。

    1 回复
  • Diamond

    好吧,谢谢

请输入回帖内容 ...

推荐标签 标签

  • Firefox

    Mozilla Firefox 中文俗称“火狐”(正式缩写为 Fx 或 fx,非正式缩写为 FF),是一个开源的网页浏览器,使用 Gecko 排版引擎,支持多种操作系统,如 Windows、OSX 及 Linux 等。

    8 引用 • 30 回帖 • 410 关注
  • Log4j

    Log4j 是 Apache 开源的一款使用广泛的 Java 日志组件。

    20 引用 • 18 回帖 • 29 关注
  • 互联网

    互联网(Internet),又称网际网络,或音译因特网、英特网。互联网始于 1969 年美国的阿帕网,是网络与网络之间所串连成的庞大网络,这些网络以一组通用的协议相连,形成逻辑上的单一巨大国际网络。

    98 引用 • 344 回帖
  • HHKB

    HHKB 是富士通的 Happy Hacking 系列电容键盘。电容键盘即无接点静电电容式键盘(Capacitive Keyboard)。

    5 引用 • 74 回帖 • 478 关注
  • 强迫症

    强迫症(OCD)属于焦虑障碍的一种类型,是一组以强迫思维和强迫行为为主要临床表现的神经精神疾病,其特点为有意识的强迫和反强迫并存,一些毫无意义、甚至违背自己意愿的想法或冲动反反复复侵入患者的日常生活。

    15 引用 • 161 回帖 • 3 关注
  • 思源笔记

    思源笔记是一款隐私优先的个人知识管理系统,支持完全离线使用,同时也支持端到端加密同步。

    融合块、大纲和双向链接,重构你的思维。

    23020 引用 • 92599 回帖
  • 微软

    微软是一家美国跨国科技公司,也是世界 PC 软件开发的先导,由比尔·盖茨与保罗·艾伦创办于 1975 年,公司总部设立在华盛顿州的雷德蒙德(Redmond,邻近西雅图)。以研发、制造、授权和提供广泛的电脑软件服务业务为主。

    8 引用 • 44 回帖
  • Openfire

    Openfire 是开源的、基于可拓展通讯和表示协议 (XMPP)、采用 Java 编程语言开发的实时协作服务器。Openfire 的效率很高,单台服务器可支持上万并发用户。

    6 引用 • 7 回帖 • 101 关注
  • danl
    146 关注
  • 电影

    这是一个不能说的秘密。

    121 引用 • 604 回帖 • 1 关注
  • Java

    Java 是一种可以撰写跨平台应用软件的面向对象的程序设计语言,是由 Sun Microsystems 公司于 1995 年 5 月推出的。Java 技术具有卓越的通用性、高效性、平台移植性和安全性。

    3190 引用 • 8214 回帖 • 1 关注
  • Vim

    Vim 是类 UNIX 系统文本编辑器 Vi 的加强版本,加入了更多特性来帮助编辑源代码。Vim 的部分增强功能包括文件比较(vimdiff)、语法高亮、全面的帮助系统、本地脚本(Vimscript)和便于选择的可视化模式。

    29 引用 • 66 回帖 • 2 关注
  • Latke

    Latke 是一款以 JSON 为主的 Java Web 框架。

    71 引用 • 535 回帖 • 789 关注
  • Shell

    Shell 脚本与 Windows/Dos 下的批处理相似,也就是用各类命令预先放入到一个文件中,方便一次性执行的一个程序文件,主要是方便管理员进行设置或者管理用的。但是它比 Windows 下的批处理更强大,比用其他编程程序编辑的程序效率更高,因为它使用了 Linux/Unix 下的命令。

    123 引用 • 74 回帖 • 2 关注
  • 书籍

    宋真宗赵恒曾经说过:“书中自有黄金屋,书中自有颜如玉。”

    78 引用 • 391 回帖
  • OAuth

    OAuth 协议为用户资源的授权提供了一个安全的、开放而又简易的标准。与以往的授权方式不同之处是 oAuth 的授权不会使第三方触及到用户的帐号信息(如用户名与密码),即第三方无需使用用户的用户名与密码就可以申请获得该用户资源的授权,因此 oAuth 是安全的。oAuth 是 Open Authorization 的简写。

    36 引用 • 103 回帖 • 17 关注
  • Swagger

    Swagger 是一款非常流行的 API 开发工具,它遵循 OpenAPI Specification(这是一种通用的、和编程语言无关的 API 描述规范)。Swagger 贯穿整个 API 生命周期,如 API 的设计、编写文档、测试和部署。

    26 引用 • 35 回帖 • 5 关注
  • Kafka

    Kafka 是一种高吞吐量的分布式发布订阅消息系统,它可以处理消费者规模的网站中的所有动作流数据。 这种动作(网页浏览,搜索和其他用户的行动)是现代系统中许多功能的基础。 这些数据通常是由于吞吐量的要求而通过处理日志和日志聚合来解决。

    36 引用 • 35 回帖
  • TensorFlow

    TensorFlow 是一个采用数据流图(data flow graphs),用于数值计算的开源软件库。节点(Nodes)在图中表示数学操作,图中的线(edges)则表示在节点间相互联系的多维数据数组,即张量(tensor)。

    20 引用 • 19 回帖 • 1 关注
  • golang

    Go 语言是 Google 推出的一种全新的编程语言,可以在不损失应用程序性能的情况下降低代码的复杂性。谷歌首席软件工程师罗布派克(Rob Pike)说:我们之所以开发 Go,是因为过去 10 多年间软件开发的难度令人沮丧。Go 是谷歌 2009 发布的第二款编程语言。

    497 引用 • 1388 回帖 • 278 关注
  • 宕机

    宕机,多指一些网站、游戏、网络应用等服务器一种区别于正常运行的状态,也叫“Down 机”、“当机”或“死机”。宕机状态不仅仅是指服务器“挂掉了”、“死机了”状态,也包括服务器假死、停用、关闭等一些原因而导致出现的不能够正常运行的状态。

    13 引用 • 82 回帖 • 60 关注
  • Docker

    Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的操作系统上。容器完全使用沙箱机制,几乎没有性能开销,可以很容易地在机器和数据中心中运行。

    492 引用 • 926 回帖
  • Hibernate

    Hibernate 是一个开放源代码的对象关系映射框架,它对 JDBC 进行了非常轻量级的对象封装,使得 Java 程序员可以随心所欲的使用对象编程思维来操纵数据库。

    39 引用 • 103 回帖 • 715 关注
  • SMTP

    SMTP(Simple Mail Transfer Protocol)即简单邮件传输协议,它是一组用于由源地址到目的地址传送邮件的规则,由它来控制信件的中转方式。SMTP 协议属于 TCP/IP 协议簇,它帮助每台计算机在发送或中转信件时找到下一个目的地。

    4 引用 • 18 回帖 • 623 关注
  • Pipe

    Pipe 是一款小而美的开源博客平台。Pipe 有着非常活跃的社区,可将文章作为帖子推送到社区,来自社区的回帖将作为博客评论进行联动(具体细节请浏览 B3log 构思 - 分布式社区网络)。

    这是一种全新的网络社区体验,让热爱记录和分享的你不再感到孤单!

    132 引用 • 1114 回帖 • 125 关注
  • VirtualBox

    VirtualBox 是一款开源虚拟机软件,最早由德国 Innotek 公司开发,由 Sun Microsystems 公司出品的软件,使用 Qt 编写,在 Sun 被 Oracle 收购后正式更名成 Oracle VM VirtualBox。

    10 引用 • 2 回帖 • 1 关注
  • RabbitMQ

    RabbitMQ 是一个开源的 AMQP 实现,服务器端用 Erlang 语言编写,支持多种语言客户端,如:Python、Ruby、.NET、Java、C、PHP、ActionScript 等。用于在分布式系统中存储转发消息,在易用性、扩展性、高可用性等方面表现不俗。

    49 引用 • 60 回帖 • 361 关注