latex参考文献中修改指定作者的格式来突出显示

latex参考文献中修改指定作者的格式来突出显示

1.引言

在撰写学位论文过程中,特别是在附作者在学期间的研究或工作成果的时候,往往需要突出显示文献列表作者的信息方便他人看到(假设研究成果以文献表的形式呈现),所以需要修改参考文献中指定作者的格式来突出进行显示。

传统的方法是直接在bib文件中在作者域附加上一些格式信息来实现突出显示。比如:

@MISC{Article1,
AUTHOR = {Zhang\textsuperscript{*}, San and \textbf{Li}, \textbf{Si} and Last3, First3}
}

这个bib信息中,我们对第一个作者的姓后面添加了一个星号,并采用粗体显示了第二个作者。
然而这种方式首先破坏了bib文件的纯净性,并可能会影响作者信息的解析,而且这种方式不那么的优雅,复用度低,无论格式需求或者信息需求有更改,都需要修改bib文件。所以这并不是一种令人满意的方式。

为此我们介绍一种比较优雅的方式来实现(需要注意的是这种方式是基于biblatex的数据注解机制的)。

2. biblatex的数据注解机制

数据注解(data annotations)就是一种方便解决附加信息问题的方法。通过允许用户在文献数据源中添加某种语义信息(而不是排版标记),使得文献样式可以在标记时使用该信息。参考:biblatex.pdf,biblatex-zh-cn.pdf.

数据注解同样是在bib文件中做修改,但不修改关键的数据域,而是添加一个注解的域。比如:

@MISC{Article1,
AUTHOR = {Zhang, San and Li, Si and Last3, First3},
AUTHOR+an={1=corresponding;2=thesisauthor}
}

通过添加AUTHOR+an域,其形式是:{要被注解的域名+an}。对应内容(等号后面花括号内的)的形式则是:{=信息}。
对于存在多个项的域比如author域,用数字表示其中的第几项,比如{1=corresponding;2=thesisauthor}表示第一个作者注释corresponding信息,第二个作者注释thesisauthor信息,便于强调显示。注意内部的多个注释信息用–分号–分割。

如此,由于我们为author添加了注解信息,那么这些信息在处理过程中会被biblatex读取,基于这些信息我们可以做需要格式修改。

3. 根据注解信息做格式修改

biblatex的格式修改在无法通过选项修改的情况下,通常需要修改宏来实现,但很容易理解。比如我们要给通信作战加上星号,给学位论文作者加粗,那么可以做如下格式修改:

\renewcommand*{\mkbibnamegiven}[1]{%
\ifitemannotation{thesisauthor}
{\textbf{#1}}%
{#1}\ifitemannotation{corresponding}{\textsuperscript{*}}{}%
}


\renewcommand*{\mkbibnamefamily}[1]{%
\ifitemannotation{thesisauthor}
{\textbf{#1}}
{#1}}

这样就对注释为thesisauthor的作者的姓和名加粗,并在名后面加上信号。

也可以添加其它格式比如颜色,并只在文献表中显式,而不在标注中显示:

\renewcommand*{\mkbibnamegiven}[1]{%
\ifitemannotation{thesisauthor}
{\ifbibliography{\textcolor{red}{\textbf{#1}}}{#1}}%
{#1}\ifbibliography{\ifitemannotation{corresponding}{\textsuperscript{*}}{}}{}%
}


\renewcommand*{\mkbibnamefamily}[1]{%
\ifitemannotation{thesisauthor}
{\ifbibliography{\textcolor{red}{\textbf{#1}}}{#1}}
{#1}}

其中\ifbibliography做一个判断是否在文献表中。\textcolor是加上颜色。

4. 在文献末尾添加注释信息

在文献末尾添加注释信息,我们则不采用这种数据注解的方式,而是直接使用annotation域来保存注释信息,比如:

@MISC{Article1,
AUTHOR = {Zhang, San and Li, Si and Last3, First3}
}
AUTHOR+an={1=corresponding,2=thesisauthor},
annotation={(SCI检索)}

在使用gb7714-2015样式情况下,将选项gbannote设置为true即可输出该注释信息。

5. 代码实践

我们用一个完整的示例来测试:


\begin{filecontents*}{\jobname.bib}
@phdthesis{zhao2003,
  author  = {赵某某},
  title   = {学位论文题名},
  school  = {某大学},
  year    = {2003},
  type    = {[博士]},
  address = {某地},
  pages={21-24},
  AUTHOR+an = {1=thesisauthor},
  annotation={优秀论文}
}

@Inproceedings{Nemec1997-209-214,
  Title                    = {Force control of redundant robots},
  Author                   = {B Nemec and Zhao, Mou Mou},
  Booktitle                = {Processings of Symposium on Robot Control},
  Pages                    = {209-214},
  Country                  = {Nantes France},
  Year                     = {1997},
  AUTHOR+an = {1=corresponding;2=thesisauthor},
  annotation={EI检索}
}

@Article{Chiani1998-2998-3008,
  Title                    = {Error probability for block codes over channels with block interference},
  Author                   = {Zhao, Mou Mou and Chiani, M.},
  Journal                  = {IEEE Trans. Inf. Theory},
  Number                   = {7},
  Pages                    = {2998-3008},
  Volume                   = {44},
  Year                     = {1998},
  AUTHOR+an = {1=thesisauthor;2=corresponding},
  annotation={SCI检索}
}
\end{filecontents*}

\documentclass{ctexart}
\usepackage{xcolor}
\usepackage[style=gb7714-2015ay,gbannote=true]{biblatex}%,gbnamefmt=pinyin

\makeatletter
\renewcommand*{\mkbibnamegiven}[1]{%
\ifitemannotation{thesisauthor}
{\ifbibliography{\textcolor{red}{\textbf{#1}}}{#1}}%
{#1}\ifbibliography{\ifitemannotation{corresponding}{\textsuperscript{*}}{}}{}%
}


\renewcommand*{\mkbibnamefamily}[1]{%
\ifitemannotation{thesisauthor}
{\ifbibliography{\textcolor{red}{\textbf{#1}}}{#1}}
{#1}}
\makeatother

\addbibresource{\jobname.bib}

\begin{document}

\cite{zhao2003,Nemec1997-209-214,Chiani1998-2998-3008}

\printbibliography[title=在学期间研究成果]

\end{document} 

结果为:
在这里插入图片描述

6. 小结

文本介绍了利用biblatex的数据注解机制将latex生成参考文献中的制定作者突出显示,提供了一种优雅的实现机制。可以用于学位论文撰写过程中参考文献,特别是附录的研究成果列表的输出。

7. 参考:

  1. biblatex.pdf
  2. biblatex-zh-cn.PDF
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
### 回答1: LaTeX是一种常用于学术论文撰写的排版软件,借助于BibTeX,也可以方便地实现参考文献的管理。下面介绍一下基本的LaTeX参考文献格式。 首先,需要在LaTeX文档开头部分加入以下命令: \bibliographystyle{样式} 其样式可以根据需要选择,比如最常用的 “plain”、“apalike”、“ieeetr”,也可以自定义样式。然后在需要引用文献的地方,使用以下命令: \cite{文献标识符} 文献标识符是在BibTeX文件定义的,格式如下: @文献类型{标识符, 作者={作者1, 作者2, ...}, 标题={标题}, 出版社={出版社}, 年份={年份}, ISBN={ISBN号} } 再来看一下常见的文献类型和相应的LaTeX格式: 1. 书籍:@book 格式作者. 书名. 版本. 出版地: 出版社, 出版年. 例如: \bibitem{texbook} D. E. Knuth. The \TeX book. Addison-Wesley, 1984. 2. 期刊文章:@article 格式作者. 文章标题. 期刊名, 发表年, 卷号(期号): 页码. 例如: \bibitem{greenwade93} G. Greenwade. The comprehensive Tex Archive network (CTAN). TUGBoat, 14(3): 342--351, 1993. 3. 学位论文:@phdthesis 格式作者. 论文题目. 学位论文类型, 所在机构, 所在地, 年份. 例如: \bibitem{li2007} Z. Li. Expert-oriented in-depth study on flexible job-shop scheduling problems. 博士学位论文, Huazhong University of Science and Technology, Wuhan, China, 2007. 以上是LaTeX参考文献格式的基本介绍,了解这些基础知识能够让我们更加高效地管理和使用参考文献,提高论文的写作质量。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值