有沒有在DocBook文檔中定義宏的方法(如tex macros或latex定義)?DocBook宏?
DocBook非常冗長,而且宏將有很大的幫助。我在快速入門教程中找不到它們 。
如果是這樣,任何人都可以提供一個簡單的例子或鏈接?
感謝
有沒有在DocBook文檔中定義宏的方法(如tex macros或latex定義)?DocBook宏?
DocBook非常冗長,而且宏將有很大的幫助。我在快速入門教程中找不到它們 。
如果是這樣,任何人都可以提供一個簡單的例子或鏈接?
感謝
不確定,如果這正是您想要的/如果它滿足您的要求,但我在考慮實體。您可以在頂部定義它們(您的XML文檔,所以一般的XML,沒有DocBook特定的)。正如這裏看到的'doc.release.number'和'doc.release.date'。但它們也可以通過單獨的文件包含在內。如第3個「ENTITY」行所示。這裏的系統意味着,從另一個文件'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」你以類似的方式指定實體元素:
<?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' >
你有沒有考慮從其他格式生成的DocBook(如reStructuredText?)
我覺得這是很不錯的文檔。另外,你可以很快寫一個宏預處理器(或者看看m4)。如果您使用的是DocBook的XML版本,則可以使用簡單的XSLT。只需製作一些標籤並對其進行轉換即可。自動添加樣板文件。準備好對XSLT感到非常生氣。因爲沒有全部可能。讓你的思維變形。
@Daren:你的意思是docbook dtd不包含像tex這樣的東西: \ def \ h {大家好}然後使用它\ h? 這將是一個很大的錯誤。 編寫宏預處理器?最好的方法是使用具有定義的C預處理器。 我來看看那個經過重組的文字 謝謝 – cibercitizen1 2010-04-08 14:59:18
不完全符合您的要求,但可能對您的某些情況有所幫助:您可以在包裝樣式表中定義模板,並在其中定義fo
命令。一些例子:
代碼:
<xsl:template match="symbolchar">
<fo:inline font-family="Symbol">
<xsl:choose>
<xsl:when test=".='ge'">≥</xsl:when>
<xsl:when test=".='le'">≤</xsl:when>
<xsl:when test=".='sqrt'">√</xsl:when>
<xsl:otherwise>?!?</xsl:otherwise>
</xsl:choose>
</fo:inline>
</xsl:template>
用法:
<symbolchar>le</symbolchar>
代碼:
<xsl:template match="processing-instruction('linebreak')">
<fo:block/>
</xsl:template>
用法:
<?linebreak?>
不錯! Docbook v5.0相當於什麼? – jdkoftinoff 2011-05-20 23:37:34