我需要编写包含大量 URL 的文档,但这些 URL 中的一些片段必须以粗体显示。我该如何实现这一点?对于我使用的 URL,\nolinkurl
但我无法\bf
在其中使用。
答案1
您可以使用 选择用于 URL 的字体\urlstyle
。但是,粗体字体不是现成支持的。您需要修补所需的样式定义,如下所示。您需要使用支持粗体+文本类型样式的字体(假设您希望 URL 采用普通罗马样式)。
您需要使用不同的宏标记 URL 的不同部分。您可以使用包\DefineUrlCommand
中的宏定义这些宏url
。请注意,由加载的包\url
定义,然后重新将此宏定义为超链接版本并提供替换。url
hyperref
\nolinkurl
更新:我根据现在的要求添加了下划线样式。这可以借助软件包完成ulem
。我还添加了其他花哨的 URL 样式。
更新 2: 简化代码。添加了颜色示例。
\documentclass{article}
\usepackage{hyperref}
%% works with `url` only as well:
%\usepackage{url}
% Use a font which gives you bold text-typer:
\usepackage[T1]{fontenc}
\usepackage{lmodern}
\DeclareUrlCommand{\tturl}{\urlstyle{tt}}
\DeclareUrlCommand{\bftturl}{\def\UrlFont{\bfseries}}
\DeclareUrlCommand{\bfurl}{\def\UrlFont{\bfseries\ttfamily}}
% Colors:
\usepackage{xcolor}
\DeclareUrlCommand{\redurl}{\def\UrlFont{\ttfamily\color{red}}}
% More fancy URL styles:
\usepackage[normalem]{ulem}
\makeatletter
\newcommand*\DeclareFancyUrlCommand[2]{%
\expandafter\DeclareFancy@UrlCommand
\expandafter{\csname fancyurl@\expandafter\@gobble\string#2\endcsname}{#1}{#2}%
}
\def\DeclareFancy@UrlCommand#1#2#3{%
\let#1\empty % must not be \relax
\useunder{#3}{#1}{}%
\DeclareUrlCommand{#2}{\def\UrlFont{\ttfamily#1}}%
}
\makeatother
\DeclareFancyUrlCommand{\ulurl}{\uline}
\DeclareFancyUrlCommand{\uulurl}{\uuline}
\DeclareFancyUrlCommand{\uwurl}{\uwave}
\DeclareFancyUrlCommand{\sourl}{\sout}
\DeclareFancyUrlCommand{\xourl}{\xout}
\DeclareFancyUrlCommand{\daurl}{\dashuline}
\DeclareFancyUrlCommand{\dourl}{\dotuline}
\begin{document}
\par\bfurl{http://www.example.com/allbold-onlybold}
\par\bftturl{http://www.example.com/allbold-intexttyper}
\par\tturl{http://www.example.com/}\bftturl{onlythisisbold}
\par\tturl{http://www.example.com/}\ulurl{special$_%part}\tturl{/normal/%$^_/again}
\par\tturl{http://www.example.com/}\uulurl{special$_%part}\tturl{/normal/%$^_/again}
\par\tturl{http://www.example.com/}\uwurl{special$_%part}\tturl{/normal/%$^_/again}
\par\tturl{http://www.example.com/}\sourl{special$_%part}\tturl{/normal/%$^_/again}
\par\tturl{http://www.example.com/}\xourl{special$_%part}\tturl{/normal/%$^_/again}
\par\tturl{http://www.example.com/}\daurl{special$_%part}\tturl{/normal/%$^_/again}
\par\tturl{http://www.example.com/}\dourl{special$_%part}\tturl{/normal/%$^_/again}
\par\tturl{http://www.example.com/}\redurl{special$_%part}\tturl{/normal/%$^_/again}
\end{document}