4

Ubuntu 13.04 で DockBook 4.5 と Apache FOP 1.1 を使用しています。Docbook の翻訳は Ubuntu によって提供され、FOP は Apache から直接ダウンロードされました。

最初の質問: 画像のタイトルまたはキャプションが画像と一致するようにする方法を教えてください。例えば:

 Figure X: YYYYYY
 +---------------+
 |               |
 |     Image     |
 |               |
 +---------------+

imagedataは次のように調整できることを知っています:

<figure id="figure-xxx">
<title>YYYYY</title>

  <mediaobject>
    <imageobject>
      <imagedata align="center" fileref="xxx.png" scale="75"/>
    </imageobject>
    <caption>XXX/caption>
  </mediaobject>
</figure>

ただし、align="center"次のようなものが生成されます。

 Figure X: YYYYYY
           +---------------+
           |               |
           |     Image     |
           |               |
           +---------------+

さらに悪化align="right"させます:

 Figure X: YYYYYY
                     +---------------+
                     |               |
                     |     Image     |
                     |               |
                     +---------------+

alignタグを 、figuretitlemediaobjectimageobjectまたはに追加しようとするとcaption、次のようなエラーが表示されます。

element figure: validity error : No declaration for attribute align of element figure

と:

element mediaobject: validity error : No declaration for attribute align of element mediaobject

もしかしたら、また何か悪いことをしているのかもしれません。画像の周りにテキストを流し込み ( Block Image Right and Flow Text Around It? )、キャプションを画像に合わせようとした後 (この質問)、DocBook が実際に画像を操作できるかどうか疑問に思いました。

2 番目の質問: DocBook が実際に画像をサポートしているかどうか知っている人はいますか?

編集: 2 番目の質問への回答については、DocBook ではなく Apache FOP に問題があります。

4

1 に答える 1

4

「Docbook の翻訳」とはdocbook-xslを意味すると思います (正確なバージョンはここではあまり重要ではないと思いますが、多くの場合重要になる可能性があります)。

formal.title.properties属性セットをカスタマイズすることで、タイトルの配置の問題を回避できます。これをカスタマイズ レイヤーに追加します。

<xsl:attribute-set name="formal.title.properties">
 <xsl:attribute name="text-align">
  <xsl:variable name ="align">
    <xsl:value-of select=".//imagedata/@align"/>
  </xsl:variable>
  <xsl:choose>
    <xsl:when test="self::figure and $align !=''">
     <xsl:value-of select="$align"/>
    </xsl:when>
   <xsl:otherwise>left</xsl:otherwise>
  </xsl:choose>
 </xsl:attribute>
</xsl:attribute-set>  

意味:要素にalign値 がある場合は、imagedataその値を図のタイトルに使用し、そうでない場合は「左」を使用します。

http://www.sagehill.net/docbookxsl/TitleFontSizes.html#FormalTitlePropertiesも参照してください。

于 2013-11-05T08:27:24.397 に答える