【问题】
对于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类型的那部分内容了,所以如果可行,那应该是最高效的办法了。
然后也是网上找到了相关的解释:
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>
效果:
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,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等属性中的文字的颜色和添加下划线