我的目标是通过 -package 为包含超链接的文本添加粗下划线hyperref
,这样,当打印文件时,就可以看到某些单词后面隐藏着一个链接。
添加新命令时,我发现的 -options\myhref
中包含的特殊德语字符 (ä、ö、ü、ß)不再起作用。在正常情况下,它们可以正常工作,因为它们包含在文档类中,我相信。latin1
inputenc
\href
scrbook
\documentclass%
% [12pt,abstracton,titlepage,parskip=false, no, no,twoside=true,open=right]
{scrbook}
\usepackage[autooneside=false, headsepline, plainheadsepline, automark]{scrlayer-scrpage}
%%%%% Layout
\usepackage{geometry}
\geometry{top=1in, bottom=1in, left=1in, right=1in}
\usepackage{setspace}
\linespread{1}
\usepackage{url}
\usepackage[breaklinks=true]{hyperref}
\usepackage{graphicx}
\usepackage{color,soul} \setul{0.4ex}{0.3ex} \setulcolor{blue} \sethlcolor{yellow}
\newcommand{\myhref}[2]{%
\href{#1}{\ul{#2}}}
% \let\oldhref\href
% \renewcommand{\href}{%
% \oldhref{#1}{\setulcolor{blue}\ul{#2}}}
\begin{document}
\myhref{www.google.com%}{Schär Schar. fließen. Önvestment Investment.}
\href{www.google.com%}{Schär Schar. fließen. Önvestment Investment.}
\end{document}
我是否错误地定义新命令?
正如评论指出的那样,解决方案是使用包soulutf8
而不是soul
为了让下划线接受字符。但是,我现在遇到了后续问题,即新命令myhref
不接受 URL 中的“%”,但旧命令href
可以接受。我调整了 MWE。
答案1
下面的代码解决了这两个问题:
\documentclass{scrbook}
\usepackage[T1]{fontenc}
\usepackage{hyperref,xcolor,soulutf8}
\NewDocumentCommand{\myhref}{ v m }{\href{#1}{\ul{#2}}}
\begin{document}
\myhref{www.google.com/%}{Schär Schar. fließen. Önvestment Investment.}
\end{document}