最新消息:20210816 当前crifan.com域名已被污染,为防止失联,请关注(页面右下角的)公众号

【已解决】docbook的pdf中,统一设置xref,link,olink,ulink等属性中的文字的颜色和添加下划线

Docbook crifan 2170浏览 0评论

【问题】

对于docbook的pdf,生成的xref类的,即xref,link,olink,ulink等,其内容都不是我们所常见的,链接类型的设置,即不是蓝色字体,带下划线的那种。

而想要给这些内容,都设置为蓝色,且带下划线。

而刚才已经为ulink类型的,实现了此功能,设置字体颜色为蓝色,添加了下划线:

【已解决】给docbook生成的pdf中的带链接的文字,添加下划线和设置字体颜色为蓝色

但是发现,其他的xref类型,比如xref,olink,link等,其颜色还是没变,也还是没有下划线,所以,想要为xref,link,olink,也添加这个设置。

【解决过程】

1.本来是想要按照上面帖子中的方法,到xref_crl.xsl中,分别找到olink,xref,link等,一点点手动添加:

text-decoration="underline"和color="blue"

的,结果,添加过程中,发现其相关的配置中,都是包含了这句:

xsl:use-attribute-sets="xref.properties"

而此句话,由于之前折腾过:

【已解决】给docbook所输出的pdf中的revhistory历史版本的表格,添加边框

所以,举一反三的想到了,估计也是可以对

xref.properties

其做对应的配置,然后把这些配置直接放到自己的xsl配置文件docbook_fo_crl_yahei.xsl中去即可。

而不需要再使用那个额外的xref_crl.xsl了,而且也避免了手动去修改每个xref类型的那部分内容了,所以如果可行,那应该是最高效的办法了。

然后也是网上找到了相关的解释:

xref.properties

Part 2. FO Parameter Reference – Cross References

 

2. 然后就去在docbook_fo_crl_yahei.xsl中,注释掉xref_crl.xsl,然后照葫芦画瓢地添加相关的配置:

<!—================== xref underline settings =================-->

<!-- <xsl:import href="xref_crl.xsl"/> -->
<xsl:attribute-set name="xref.properties">
  <xsl:attribute name="color">blue</xsl:attribute>
  <xsl:attribute name="text-decoration">underline</xsl:attribute>
</xsl:attribute-set>

这样就可以省掉xref_crl.xsl,而且对xref类的配置也可以统一,也方便修改了。

最后生成的效果如下:

ulink类型的:

源码:

<para>本文章遵从:<ulink url="http://creativecommons.org/licenses/by-nc/2.5/cn/">署名-非商业性使用 2.5 中国大陆(CC BY-NC 2.5)</ulink></para>

效果:

ulink的效果

xref的相关源码:

    <row><entry>16</entry><entry>4</entry><entry>
        <!-- <link linkend="mpeg.bitrate_index_table">比特率索引表</link> -->
        详见:<xref linkend="mpeg.bitrate_index_table" />
        </entry><entry>1001</entry>
    </row>
        
    <row><entry>20</entry><entry>2</entry><entry>
        <!-- <link linkend="mpeg.samplerate_index_table">采样率索引表</link> -->
        详见:<xref linkend="mpeg.samplerate_index_table" />
        </entry><entry>11</entry>

对应效果:

xref的效果

【总结】

想要配置xref类型(xref,link,olink,ulink等)的属性,即设置相关字体为蓝色,并且添加下划线,可以通过在自己的xsl文件中添加对应的配置即可:

<xsl:attribute-set name="xref.properties">
  <xsl:attribute name="color">blue</xsl:attribute>
  <xsl:attribute name="text-decoration">underline</xsl:attribute>
</xsl:attribute-set>

转载请注明:在路上 » 【已解决】docbook的pdf中,统一设置xref,link,olink,ulink等属性中的文字的颜色和添加下划线

发表我的评论
取消评论

表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
82 queries in 0.166 seconds, using 22.10MB memory