如何使参考书目中的名称变为粗体?

如何使参考书目中的名称变为粗体?

我正尝试使用 .bib 来更新我的简历,而不是写下所有内容。这样就没问题了。但是,我还想在参考书目中的每个条目中突出显示我的名字。我正在使用 plainrevyr.bst,并且已经尝试过

基本上,根据这两篇文章,我将这些函数添加到了我的 .bst

FUNCTION {cv.author}
{ "Doe, John" }


FUNCTION {highlight}
{ duplicate$ empty$
      { pop$ "" }
      { "\textbf{\textsc{" swap$ * "}}" * }
   if$
}


FUNCTION {highlight.cv.author}
{ duplicate$ purify$ cv.author purify$ =
    { highlight }
    'skip$
  if$
}

我还根据需要在 format.names 函数中的 format.name$ 之后添加了 highlight.cv.author。从我发现的其他示例中我了解到,我的主要问题来自函数 cv.author。

因此,如果我使用:

FUNCTION {cv.author}
{ "Doe, John" } 

什么都没有发生(我也尝试过“John Doe”,因为这是书目中出现的名字)

如果我尝试:

FUNCTION {cv.author}
{ "Doe, John" nameptr  "{ff~}{vv~}{ll}{, jj}"  format.name$ }

我收到一条错误消息,指出 John Doe 是字符串文字,而不是整数。我同意此错误,因为 nameptr 被定义为整数。

这是 format.names:

INTEGERS { nameptr namesleft numnames }
FUNCTION {format.names}
{ 's :=
  #1 'nameptr :=
  s num.names$ 'numnames :=
  numnames 'namesleft :=
    { namesleft #0 > }
    { s nameptr "{ff~}{vv~}{ll}{, jj}" 
    format.name$ 
    highlight.cv.author 't :=
      nameptr #1 >
        { namesleft #1 >
            { ", " * t * }
            { numnames #2 >
                { "," * }
                'skip$
              if$
              t "others" =
                { " et~al." * }
                { " and " * t * }
              if$
            }
          if$
        }
        't
      if$
      nameptr #1 + 'nameptr :=
      namesleft #1 - 'namesleft :=
    }
  while$
}

如何使其工作?

谢谢 !


编辑

这是我的书目的命名方式:

\documentclass{cv2}

\usepackage[francais]{babel} 
\usepackage[T1]{fontenc}       %% Pour la césure des mots accentués
\usepackage[utf8]{inputenc}  %% les accents dans le fichier.tex
\usepackage{fullpage}
\usepackage[backref]{hyperref} 

\begin{document}

\bibliographystyle{plainrevyr}
\nocite{*}
\bibliography{MyPapers}

\end{document}

和 2 个 Bibentries:

@article{Doe2014,
    title = {{First title}},
    year = {2014},
    journal = {Phys. Chem. Chem. Phys.},
    author = {Name1, Forename1 and Doe, John and Name2, Forename2 and Name3, Forename3},
    number = {40},
    pages = {22903--22912},
    volume = {16},
    url = {http://dx.doi.org/10.1038/C4CP03276D http://xlink.rsc.org/?DOI=C4CP03276D},
    doi = {10.1038/C4CP03276D},
    issn = {1462-9076}
}

@article{Doe2012,
    title = {{MyTitle2}},
    year = {2012},
    journal = {Journal of Physical Chemistry C},
    author = {Doe, John and Name4, Forename4 and Name2, Forename2 and Name5, Forename5 and Name1, Forename1},
    number = {25},
    pages = {13716--13724},
    volume = {110},
    isbn = {1932-7447},
    doi = {10.1021/jp304525f},
    issn = {19327457}
}

这里有简历普莱恩雷维尔

答案1

必须以正确的格式指定名称。当我使用

FUNCTION {cv.author}
{ "John Doe" }

它实际上工作正常,但使用起来更可靠:用以下方法format.name$替换该函数cv.author

FUNCTION {cv.author}
{ "Doe, John" #1 "{ff~}{vv~}{ll}{, jj}"  format.name$ }

与您的尝试的区别在于 而#1不是。此参数定义如果第一个参数中出现nameptr多个名称(用 分隔),则使用哪个名称。仅包含一个名称,因此其他每个参数都会导致错误。您的特定错误是由于被调用时根本没有分配任何值而导致的。and"Doe, John"#1cv.authornameptr

相关内容