asciidoc:有没有办法创建一个在libreoffice writer中可见的锚点?

时间:2016-07-20 17:08:20

标签: libreoffice pandoc docbook asciidoc asciidoctor

铊;博士;

在docbook中创建锚点的正确方法是什么?和是否有一种方法可以使锚在作家中可见?

背景

我正在尝试将以前在单open office个文档中的文档拆分为较小的asciidoc文档,这些文档都包含在主要的开放式办公文档中,并且也转换为{{1}中的一个或两个}& html。 我有这个主要工作。我使用pdf来创建html。 asciidoctor创建pdf以及asciidoctor和asciidoctor-pdf的组合来创建.odt文件。我也尝试了pandoc的python实现,但发现界面不太可用。

asciidoc和odt之间的往返显然是不可能的。这是一种融合,其中主文档是文字处理的,但是可以独立生成的内容片段(想想手册页 - 实际上是几个用例之一)。

asciidoc to html:

asciidoc

asciidoc to pdf:

asciidoctor -b html5 foo.adoc -o foo.html

asciidoc to odt

asciidoctor-pdf -b pdf foo.adoc -o foo.pdf

使用pandoc我必须使日期和标题无效,并根据需要设置标题级别作为额外复杂的插入部分。

我在开放式办公室内使用asciidoctor -b docbook foo.adoc -o foo.docbook pandoc --base-header-level=3 -V date:"" -V title:"" -f docbook foo.docbook -o foo.odt 将生成的.odt插入到主文档中。 请注意,主文档不是主文档,因为我找不到创建主文档的方法,也没有自动在h1边界上拆分文件。

我有两个主要问题要通过此设置解决。我想在asciidoc文档中添加标题作为交叉引用,并在字母索引中为它们创建条目(实际上第一个标题是足够的)。有没有办法做到这一点? asciidoc中的索引标记不会导致创建.odt文件中的条目。

我可以使用"插入参考/标题"来插入插入部分中的参考内容。并引用唯一命名的标头。但是,每当我使用"更新所有"这些交叉引用无效。它们显示为"错误:未找到参考源"。

[另请注意我还想要一种自动查找损坏的交叉引用的方法]

我目前正在使用libreoffice - 版本:4.3.7.2

如果一个人表现得比另一个人好,我对改变版本或口味(即apache)并不是不利。

我不确定答案是否在链的asciidoc或docbook部分。我会接受一个答案,它会自动在插入部分的开头(.adoc / docbook文件的顶部)插入一个索引条目。

我也愿意将我的工具链改为可行的东西。 例如,我尝试了asciidoc-odt后端并且与https://github.com/dagwieers/asciidoc-odf/issues/47犯规,但这并没有激发信心。 使用asciidoc-odt我避免了创建中间docbook文件的需要。但是,我仍然无法让锚点出现。

我可以创建一个宏来创建一个锚点但是目前我还没有想出如何从命令行运行宏。

1 个答案:

答案 0 :(得分:1)

要在DocBook中创建锚点,请在.adoc文件中创建一个内联锚点。例如,将此项提交给asciidoctor

[[X1]]Section1
---------------

产生了这个:

<title>
    <anchor xml:id="X1" xreflabel="[X1]"/>
    Section1
</title>

相反,将它放在单独的行上并没有在我的测试中创建anchor标记:

[[X1]]
Section 1

现在有一些坏消息。来自Pandoc User's Guide

  

HTML格式(包括HTML幻灯片和EPUB),LaTeX和ConTeXt目前支持内部链接。

我认为这意味着目前,Pandoc不会在Writer中创建内部链接。当我尝试它时,链接被忽略了。

注意:看起来我没有回答你的所有问题。如果你想进一步询问有关LibreOffice交叉引用和标题(问题末尾的大胆段落),也许你可以就该部分提出一个单独的问题。