![tex4ht:配置 href 在新标签页中打开](https://linux22.com/image/311704/tex4ht%EF%BC%9A%E9%85%8D%E7%BD%AE%20href%20%E5%9C%A8%E6%96%B0%E6%A0%87%E7%AD%BE%E9%A1%B5%E4%B8%AD%E6%89%93%E5%BC%80.png)
我正在使用 tex4ht (htlatex),并尝试将链接放入它生成的页面中。我试图找到一种方法,以便当我在页面中放置链接时,生成的链接将目标设置为。这样做的原因是,这样我就可以在新选项卡中打开这些链接。这是我在文件_blank
中的代码.tex
\href{www.somesite.com}{The text}
以下是它生成的内容
<a href="www.somesite.com">The text</a>
以下是我想要为除交叉链接之外的所有链接生成的内容
<a href="www.somesite.com" target="_blank">The text</a>
我知道有很多方法可以使用\Configure
,但我无法让它们完全改变代码生成。
答案1
您可以\href
在自定义配置文件中重新定义命令以包含该属性。创建文件hello.cfg
:
\Preamble{xhtml}
\begin{document}
\makeatletter
\renewcommand{\href}[2]{\bgroup\let~\H@tilde%
\Link[#1 target="_blank"]{}{}%
{#2}\egroup\EndLink}%
\makeatother
\EndPreamble
此定义是从tex4ht
源修改的宏。\let~\H@tilde
需要以 的形式支持 URL something.com/~username/whatewer.html
。
\Link
命令的语法为:
\Link[external_url attributes]{internal link}{declare internal link} url text\EndLink
你不需要internal link
,而且declare internal link
就你的情况而言,它对于文档中的交叉引用很有用。
使用以下方式编译您的文档
htlatex filename hello
结果:
<!--l. 5--><p class="noindent" ><a
href="http://www.somesite.com" target="_blank" >The text</a>
</p>