关于导出 Word 的机制

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

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

欢迎来到这里!

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

注册 关于
请输入回帖内容 ...
  • 88250
    订阅者

    思源用的是 Pandoc,但是不是直接转换,而是先将文档转换为 HTML,然后再通过 Pandoc 将 HTML 转换为 Docx。

    1 回复
  • Diamond 2
    订阅者 作者

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

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

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

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

    3 回复
  • 88250
    订阅者

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

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

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

    2 回复
  • Diamond
    订阅者 作者

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

    1 回复
  • 88250
    订阅者

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

    2 回复
  • Diamond 1
    订阅者 作者

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

  • maojiajing
    订阅者

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

  • Achuan-2
    订阅者

    同期待教程

  • maojiajing
    订阅者

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

  • Diamond
    订阅者 作者

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

    前提准备:
    下载 https://www.lanzouw.com/iC7Bqx5vzgf
    下载并安装 Zotero | Your personal research [email protected]
    然后安装插件 Release v5.6.11 · retorquere/[email protected] 到 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 回复
  • 88250
    订阅者

    目前思源导出 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 回复
  • 88250
    订阅者

    这个暂时不会添加,因为目前已经支持导出 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 更新了该回帖
  • 88250
    订阅者
    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 回复
  • 88250
    订阅者

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

    1 回复
  • Diamond
    订阅者 作者

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

    1 回复
  • 88250
    订阅者

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

请输入回帖内容 ...