网址片段以粗体显示

网址片段以粗体显示

我需要编写包含大量 URL 的文档,但这些 URL 中的一些片段必须以粗体显示。我该如何实现这一点?对于我使用的 URL,\nolinkurl但我无法\bf在其中使用。

答案1

您可以使用 选择用于 URL 的字体\urlstyle。但是,粗体字体不是现成支持的。您需要修补所需的样式定义,如下所示。您需要使用支持粗体+文本类型样式的字体(假设您希望 URL 采用普通罗马样式)。

您需要使用不同的宏标记 URL 的不同部分。您可以使用包\DefineUrlCommand中的宏定义这些宏url。请注意,由加载的包\url定义,然后重新将此宏定义为超链接版本并提供替换。urlhyperref\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}

结果:

结果

相关内容