MWEB如下,希望得到的效果是:将参考文献列表中的 url 的字符串文本变成“点此访问”,并且仍可以点击跳转。
% !TeX TXS-program:bibliography = biber
\documentclass{ctexart}
\begin{filecontents*}[overwrite]{ref.bib}
@Online{ctex2022,
% eprint = {点此访问:},
% eprinttype = {github},
title = {CTEX 宏集手册},
author = {CTEX.ORG},
date = {2022-07-14},
url = {https://github.com/CTeX-org/ctex-kit}
}
@Online{xecjk2022,
% eprint = {点此访问:},
% eprinttype = {CTAN},
title = {xeCJK 宏包},
author = {CTEX.ORG},
date = {2022-08-06},
url = {https://ctan.org/pkg/xecjk}
}
@Comment{jabref-meta: databaseType:biblatex;}
\end{filecontents*}
%% ↓参考文献管理↓ %%
\usepackage[style=numeric,backend=biber]{biblatex}
\addbibresource[location=local]{ref.bib}
%\DeclareFieldFormat{eprint:ctan}{eprint}
%\DeclareFieldFormat{eprint:github}{eprint}
\begin{document}
\title{\LaTeX 公园}
\author{佚\quad 名}
\date{\zhtoday}
\maketitle
\begin{abstract}
本手册准备介绍一些适合小说创作者的LaTeX宏包,例如\cite{ctex2022}。
\end{abstract}
\nocite{*}
\printbibliography[title=参考文献,heading=bibintoc]
\end{document}
1.如果对所有url都统一显示“点此访问”:
\usepackage[hidelinks]{hyperref}
\DeclareFieldFormat{url}{\href{#1}{[点此访问]}}2.如果对不同的条目有客户化需求,可以利用现有的暂时没用上的字段来存储需要显示的内容,比如titleaddon:
@Online{ctex2022,
% eprint = {点此访问:},
% eprinttype = {github},
title = {CTEX 宏集手册},
author = {CTEX.ORG},
date = {2022-07-14},
url = {https://github.com/CTeX-org/ctex-kit},
titleaddon = {abc}
}
@Online{xecjk2022,
% eprint = {点此访问:},
% eprinttype = {CTAN},
title = {xeCJK 宏包},
author = {CTEX.ORG},
date = {2022-08-06},
url = {https://ctan.org/pkg/xecjk},
titleaddon = {xyz}
}\DeclareFieldFormat{url}{%
\iffieldundef{titleaddon}
{\href{#1}{[点此访问]}} % 如果 titleaddon 为空,显示默认文字
{\href{#1}{[\strfield{titleaddon}]}} % 如果不为空,显示 titleaddon 的内容
}
\DeclareFieldFormat{titleaddon}{}