有什么方法可以在DocBook文档中定义宏(例如, latex 定义的tex宏)?

DocBook非常冗长,而宏会有所帮助。我没找到他们
在快速入门教程中。

如果是这样,有人可以提供一个简单的示例或链接吗?

谢谢

最佳答案

不知道这是否正是您想要的/它是否完全满足您的要求,但是我在考虑实体。您可以在(XML文档的顶部,因此是常规XML,而不是DocBook特定的)顶部定义它们。如此处的“doc.release.number”和“doc.release.date”所示。但是它们也可以通过单独的文件包含在内。如第3个ENTITY行中所示。在这里,SYSTEM的意思是来自另一个文件“entities.ent”。

<?xml version="1.0" encoding="UTF-8"?>

<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
    "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd" [

  <!ENTITY  doc.release.number                 "1.0.0.beta-1"       >
  <!ENTITY  doc.release.date                   "April 2010"         >

  <!ENTITY  %   entities  SYSTEM  "entities.ent" >

  %entities;

]>

<!--  This document is based on http://readyset.tigris.org/nonav/templates/userguide.html  -->
<article  lang="en">
  <articleinfo>
    <title>&project.impl.title; - User Manual</title>
    <subtitle></subtitle>
    <date>&project.impl.release.date;</date>
    <copyright>
      <year>doc.release.year</year>
      <holder>Team - &project.impl.title;</holder>
    </copyright>
    <releaseinfo>&doc.release.number;</releaseinfo>
  </articleinfo>

  <section>
    <title>Introduction</title>
    <para>
    The &project.impl.title; has been created to clean up (X)HTML and XML documents as part of


    </para>
  <section>
</article>

在文档中,您通过像&一样的开始;和结束&project.impl.title;引用实体

在文件“entities.ent”中,您以类似的方式指定ENTITY元素:
<?xml version="1.0" encoding="UTF-8"?>

<!ENTITY  project.impl.title            'Maven Tidy Plug-in'    >
<!ENTITY  project.impl.group-id         'net.sourceforge.docbook-utils.maven-plugin'    >
<!ENTITY  project.impl.artifact-id      'maven-tidy-plugin'     >
<!ENTITY  project.impl.release.number   '1.0.0.beta-1'          >
<!ENTITY  project.impl.release.date     'April 2010'            >
<!ENTITY  project.impl.release.year     '2010'                  >
<!ENTITY  project.impl.url              '../'                   >
<!ENTITY  project.spec.title            ''  >
<!ENTITY  project.spec.release.number   ''  >
<!ENTITY  project.spec.release.date     ''  >
<!ENTITY  doc.release.year              '2010'                  >

关于macros - DocBook宏?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/2600827/

10-11 03:01