0

鉴于 Web 输出的目录区域相当狭窄,我想假设 Web 的导航标题较小,但继续在 PDF 输出中呈现较长的主题标题。

以下标记似乎根本不起作用(有或没有audience属性):

<task id="guid-76a10a16-9952-44fa-ad32-9b9cf2c3eee6">
    <title>Primary Topic Title</title>
    <titlealts audience="web">
        <navtitle>Short Title</navtitle>
    </titlealts>
</task>

添加locktitle="yes"地图似乎也没有任何区别:

<topicref type="task" href="primary-topic-title.dita" locktitle="yes"/>

以下适用于网络,但不幸的是在 PDF 目录中也显示了短标题:

<topicref type="task" href="primary-topic-title.dita" locktitle="yes">
    <topicmeta>
        <navtitle>Short Title</navtitle>
    </topicmeta>
</topicref>

我尝试使用以下内容分别针对 Web 和 PDF,但这会导致在转换过程中发生错误,说明我试图引用处理上下文之外的主题。这适用于 Web,但在检查 PDF 输出时,会使用“file:/”协议而不是 PDF 文件中的交叉引用来链接到“.dita”文件。

<topicref audience="pdf" type="task" href="primary-topic-title.dita"/>

<topicref audience="web" type="task" href="primary-topic-title.dita" locktitle="yes">
    <topicmeta>
        <navtitle>Short Title</navtitle>
    </topicmeta>
</topicref>

注意:我使用的是 XML Mind 的Ditac处理器

4

2 回答 2

2

尽管我对 DITAC 工具并不特别熟悉,但我将描述可在 DITA Open Toolkit 和其他工具中使用的方法,这些工具为 DITA 规范提供全面支持。

你原来的方法是正确的:

<task id="guid-76a10a16-9952-44fa-ad32-9b9cf2c3eee6">
    <title>Primary Topic Title</title>
    <titlealts audience="web">
        <navtitle>Short Title</navtitle>
    </titlealts>
</task>

您的处理必须对 PDF 和 Web 输出使用不同的数字文件。PDF 数字文件必须包括:

<prop action="exclude" att="audience" val="web" />

Web ditaval 文件必须包括:

<prop action="include" att="audience" val="web" />
于 2013-03-07T12:46:32.850 回答
1

不幸的是,DITA 只有print根据输出类型过滤的属性,它不能直接用于navtitle元素。你可以使用

<topicref print="printonly" href="primary-topic-title.dita"/>
<topicref print="no" href="primary-topic-title.dita" locktitle="yes">
  <topicmeta>
    <navtitle>Short Title</navtitle>
  </topicmeta>
</topicref>

但这会重复主题引用。props添加基于此的自定义分析属性和过滤器可能更容易。这样,您只能调节navtitle.

于 2013-01-29T18:51:21.103 回答