如何向 moderncv 添加参考书目

如何向 moderncv 添加参考书目

我知道如何.bib在文章中包含参考书目(使用\cite等)。现在我想在文档中包含参考书目moderncv,这有所不同,因为您不是引用,而只是想要一份出版物列表。它应采用以下形式:

参考书目

论文

[2]我的第二篇论文

[1] 我的第一篇论文

文件

[1] 我的第一篇论文

我有一份功能moderncv .tex文档

\documentclass[11pt,a4paper]{moderncv}
\usepackage{cite}
...
\begin{document}
...
\subsection{Papers}
\cite{paperX}
...
\bibliographystyle{plain}
\bibliography{monbib}
\end{document}

和一个.bib文件。但是当我编译它时,引用编号(例如 [1])显示在我引用某些内容的地方,并且最后给出了总书目。这对应于我的代码。我应该进行哪些更改才能获得如上所述的所需形式?

更新 - 我已关注更新的 MWE

\documentclass[11pt,a4paper]{moderncv}
\usepackage{cite}
\familyname{Doe}
\firstname{John}
\begin{document}
\subsection{Thesis}
    \nocite{*}
    \bibliographystyle{unsrtdin}

    \makeatletter
    \def\@biblabel#1\hfill{[#1]}
    \makeatother
    \bibliography{tempbib}
\subsection{Papers}

    \makeatletter
    \def\@biblabel#1\hfill{[#1]}
    \makeatother
    \bibliography{tempbib}

\end{document}

.bib归档

@MastersThesis{key,
    author     =     {Doe, John},
    title     =     {My nice thesis},
    school     =     {Department of chocolate},
    address     =     {Switserland},
    year     =     {2013},
    note = {promotor: Francesca}
    }

结果如下: 在此处输入图片描述

我还有一些问题:

  1. 我怎样才能摆脱这些Publications头衔?
  2. 我怎样才能只使用文件中的部分条目.bib?或者,可以为每个子部分创建不同的文件,但似乎无法.bib使用 来包含多个文件\bibliography{name}
  3. 数字[1], ...似乎适用于\bibliographystyle{unsrtdin}。但如果我想使用其他样式,例如 ,该怎么办plain?在后一种情况下,数字会消失。
  4. 我怎样才能将项目倒序排列?如果我的.bib文件由条目组成

A

C

简历应该包含

[3] 卡

[2] 乙

[1] 一个

答案1

好吧,我在评论中写了“例如”。这意味着此页面上有几个bibliographies与标签相关的问题。moderncv

最后,将其中一些结合起来可以得到以下解决方案。这就是我所做的。你问:

  1. 我怎样才能摆脱出版物标题?
  2. 我怎样才能只使用文件中的部分条目.bib?或者,可以为每个子部分创建不同的文件,但似乎无法.bib使用 来包含多个文件\bibliography{name}
  3. 号码1, ... 似乎可以与 一起使用\bibliographystyle{unsrtdin}。但如果我想使用其他样式(例如普通样式)该怎么办?在后一种情况下,数字会消失。
  4. 我怎样才能将项目倒序排列?如果我的.bib文件由条目组成

以上列表的答案:

  1. 这取决于您创建参考书目所使用的方法。我使用了biblatex。然后您可以使用命令\printbibliography[type=thesis,title={Theses}]。选项title提供所需的标题。
  2. bib为您的简历创建一个自己的文件。这样做有几个好处:它使文件保持较小,您可以更好地查找其中的错误,并且您只有简历真正需要的条目。否则,检查是否添加了所有条目会更容易。
  3. 最后这取决于使用的样式和使用的包biblatex。决定你想要什么以及你的布局。我真的认为没有理由更改标签,如果你不想使用标签(请参阅我评论中的链接答案)。
  4. 逆序是否意味着最新的论文或论文放在最前面,最新的文档放在最后?这意味着您必须做两件事:按年份降序对条目进行排序以获得所需的顺序,并使用一种方法将编号改为逆序(最后命令citesinthissection)。

现在请检查以下 MWE:

\RequirePackage{filecontents}
\begin{filecontents*}{\jobname.bib}
@thesis{key2,
  author  = {Doe, John},
  title   = {My nice thesis 2},
  school  = {Department of cheese},
  address = {Switzerland},
  year    = {2015},
}
@thesis{key1,
  author  = {Doe, John},
  title   = {My nice thesis},
  school  = {Department of chocolate},
  address = {Switserland},
  year    = {2013},
  note    = {promotor: Francesca},
}
@article{paper3,
  author    = {Doe, John}, 
  title     = {My third paper title}, 
  journal   = {Journal Name},
  year      = {2016}, 
  publisher = {Publisher},
  address   = {City},
  number    = {6}, 
  pages     = {32--46}, 
  issn      = {1234-5678},
}
@article{paper2,
  author    = {Doe, John}, 
  title     = {My second paper title}, 
  journal   = {Journal Name},
  year      = {2015}, 
  publisher = {Publisher},
  address   = {City},
  number    = {5}, 
  pages     = {32--46}, 
  issn      = {1234-5678},
}
@article{paper1,
  author    = {Doe, John}, 
  title     = {My first paper title}, 
  journal   = {Journal Name},
  year      = {2014}, 
  publisher = {Publisher},
  address   = {City},
  number    = {4}, 
  pages     = {32--46}, 
  issn      = {1234-5678},
}
\end{filecontents*}


\documentclass[11pt,sans]{moderncv}

\usepackage[%
  backend=biber,
  defernumbers=true,
  sorting=ydnt,         % Sort by year (descending), name, title
% sorting=none,         % Do not sort at all. All entries are processed in citation order.
]{biblatex}
\addbibresource{\jobname.bib} % to use bib file created with filecontents

\makeatletter
\newcommand{\citesinthissection}[1]{\xdef\@totalcites{#1}}
% http://tex.stackexchange.com/q/66829/5764
\newcounter{numbibentries}
\renewbibmacro*{finentry}{\stepcounter{numbibentries}\finentry}
% http://tex.stackexchange.com/q/123805/5764
\defbibenvironment{bibliography}
  {\list
     {\printtext[labelnumberwidth]{% label format from numeric.bbx
        \printfield{labelprefix}%
        \number\numexpr\@totalcites-\abx@field@labelnumber+1\relax}}
     {\setlength{\topsep}{0pt}% layout parameters from moderncvstyleclassic.sty
      \setlength{\labelwidth}{\hintscolumnwidth}%
      \setlength{\labelsep}{\separatorcolumnwidth}%
      \leftmargin\labelwidth%
      \advance\leftmargin\labelsep}%
      \sloppy\clubpenalty4000\widowpenalty4000}
  {\endlist}
  {\item}
\makeatother

\usepackage[utf8]{inputenc}
\usepackage[scale=0.75]{geometry}

\moderncvstyle{classic}
\moderncvcolor{blue}

% personal data
\name{John}{Doe}
\title{Resumé title}
\address{street and number}{postcode city}{country}
\phone[mobile]{+1~(234)~567~890}
\phone[fixed]{+2~(345)~678~901}
\phone[fax]{+3~(456)~789~012}
\email{[email protected]}
\homepage{www.johndoe.com}
\social[linkedin]{john.doe}
\social[twitter]{jdoe}
\social[github]{jdoe}
\extrainfo{additional information}
\photo[64pt][0.4pt]{example-image-a}
\quote{Some quote}


\begin{document}

\makecvtitle

\nocite{key1,key2}
\citesinthissection{2}% There are 2 cites in this section
\printbibliography[type=thesis,title={Theses}]

\citesinthissection{5}% There are 3 cites in this section + 2 above
\nocite{paper1,paper2,paper3}
\printbibliography[type=article,title={Papers}]

\end{document}

结果:

mwe 的结果

最后再说一句:

因为我们使用,所以\nocite{}在计算每个部分(“论文”和“论文”)的条目时遇到了一些问题。似乎nocite只看到了所有“未引用”的 bib 条目。

\nocite{key1,key2}
\citesinthissection{2}% There are 2 cites in this section
\printbibliography[type=thesis,title={Theses}]

这就是我们编写上述代码以按照我们想要的方式对两篇论文进行编号的原因。

下列\nocite命令添加增加“nocited”条目总数。在我的示例中,总数为 5。因此我们需要写入:

\citesinthissection{5}% There are 3 cites in this section + 2 above
\nocite{paper1,paper2,paper3}
\printbibliography[type=article,title={Papers}]

我们总共有 5 条被引用的条目,但在“论文”部分我们只会打印 3 条。为了获得正确的数字,我们必须知道\citesinthissection被引用的条目的总数。

相关内容