在 multibib 中实现 \bibhang

在 multibib 中实现 \bibhang

我已经使用moderncv作为一个模板好几年了,但现在我正在尝试解决一个长期困扰我的问题:能够\bibhang在出版物列表中使用。该moderncv模板似乎倾向于使用multibib,这很好,但据我所知,multibib它不支持任何与 相关的功能\bibhang。正如通常所做的那样,我强烈倾向于在参考书目中缩进后续的引文行。

我试图使用natbib,但它不允许多个参考书目,而且我想将我的期刊出版物与海报演示等分开。

有人知道如何在使用时缩进后续行吗multibib

以下是示例代码:

\newcommand{\resitem}[1]{\item #1 \vspace{-0pt}} % 0 does not modify vspace

\documentclass[11pt,a4paper]{moderncv}

% moderncv themes
\moderncvtheme[blue]{classic}                 % optional argument are 'blue' (default), 'orange', 'red', 'green', 'grey'
%\moderncvtheme[green]{classic}                % idem

% character encoding
\usepackage[utf8]{inputenc}                   % replace by the encoding you are using

% adjust the page margins
\usepackage[scale=0.8]{geometry}
%\setlength{\hintscolumnwidth}{3cm}                     % if you want to change the width    of the column with the dates
%\AtBeginDocument{\setlength{\maketitlenamewidth}{6cm}}  % only for the classic theme, if you want to change the width o
%\AtBeginDocument{\recomputelengths}                     % required when changes are made to page layout lengths


% personal data
\firstname{\textsc{Me}}
\familyname{\textsc{Myself}}
\title{Really Awesome}               % optional, remove the line if not wanted
\address{500 Way}{UT 84108}    % optional, remove the line if not wanted
\phone{801.555.5555}                      % optional, remove the line if not wanted
\mobile{801.222.2222}                    % optional, remove the line if not wanted
\fax{Upon Request}                          % optional, remove the line if not wanted
\email{[email protected]}                      % optional, remove the line if not wanted

% bibliography with mutiple entries
%\usepackage{natbib}
%\setlength{\bibhang}{3em}
\usepackage{multibib}
\newcites{journal,oral,poster,submitted,indraft}{{Journal Publications},{Oral Presentations},   {Poster Presentations},{Sub

\begin{document}
\maketitle

\section{Education}
\cventry{2012 -- Present}{Student}{University}{UT}{}
    {\textit{GPA: NA}}
\section{Skills and Qualifications}
\subsection{Programming Languages:}
\cvitem{}{  \begin{itemize}
        \setlength{\itemindent}{1em} \vspace{-12pt}
        \resitem{Java/JNI}
    \end{itemize}
    }   
\section{Publications}
% Specify the bibtex style that you want for each paper type
\bibliographystyle{unsrt}
\bibliographystylejournal{unsrt}
\bibliographystyleposter{unsrt}
\bibliographystyleoral{unsrt}

\nocitejournal{myarticle:2012fk}
\bibliographyjournal{my_publications}

\vspace{25pt}
\nociteoral{mypresentation:2011fk}
\bibliographyoral{my_publications}

\vspace{25pt}
\nociteposter{myposter:2011uz}
\bibliographyposter{my_publications}
\end{document}

答案1

加载natbibplusmultibib似乎会破坏moderncvs 的thebibliography环境,即忽略长度\hintscolumnwidth\separatorcolumnwidth。我建议不要natbib。相反,我定义新的长度\bibhang并使用该长度来修改thebibliography

\documentclass{moderncv}

\moderncvtheme{classic}

\firstname{Me}
\familyname{Myself}

\newlength{\bibhang}
\setlength{\bibhang}{2em}

\usepackage{etoolbox}
\patchcmd{\thebibliography}{%
  \advance\leftmargin\labelsep
}{%
  \advance\leftmargin\labelsep
  \advance\leftmargin\bibhang
  \itemindent-\bibhang
}{}{}

\usepackage{multibib}
\newcites{journal,oral}{{Journal Publications},{Oral Presentations}}

\newcommand*{\sometext}{%
    A subtitle that is long enough to cause a line break in the bibliography}

\usepackage{filecontents}

\begin{filecontents}{journal.bib}
@misc{A01,
  author = {Author, A.},
  year = {2001},
  title = {Alpha: \sometext},
}
\end{filecontents}

\begin{filecontents}{oral.bib}
@misc{B02,
  author = {Buthor, B.},
  year = {2002},
  title = {Bravo: \sometext},
}
\end{filecontents}

\begin{document}

\section{Publications}

\nocitejournal{A01}
\bibliographystylejournal{unsrt}
\bibliographyjournal{\jobname}

\nociteoral{B02}
\bibliographystyleoral{unsrt}
\bibliographyoral{\jobname}

\end{document}

在此处输入图片描述

相关内容