tex4ht:配置 href 在新标签页中打开

tex4ht:配置 href 在新标签页中打开

我正在使用 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>

相关内容