我找到了使用 modernCV 和 biblatex 的解决方案这里:
唯一的问题是:使用 biblatex 样式的“verbose-inote”时,破折号后面会有一些空格,当已经提到作者姓名时,这些空格会代替作者姓名。有没有办法正确显示没有空格的条目?谢谢。
\documentclass{moderncv}
\usepackage[style=verbose-inote,backend=biber]{biblatex}
\defbibenvironment{bibliography}
{\list
{\printtext[labelnumberwidth]{% label format from numeric.bbx
\printfield{labelprefix}%
\printfield{labelnumber}}}
{\setlength{\topsep}{0pt}% layout parameters from moderncvstyleclassic.sty
\setlength{\labelwidth}{\hintscolumnwidth}%
\setlength{\labelsep}{\separatorcolumnwidth}%
\leftmargin\labelwidth%
\advance\leftmargin\labelsep}%
\sloppy\clubpenalty4000\widowpenalty4000}
{\endlist}
{\item}
\moderncvstyle{classic}
\moderncvcolor{blue}
\firstname{John}
\familyname{Doe}
\addbibresource{biblatex-examples.bib}
\begin{document}
\makecvtitle
\nocite{companion,knuth:ct:a,knuth:ct:b}
\printbibliography[title={Publications}]
\end{document}
答案1
您需要重新定义\bibnamedash
,由于您的 \leftmargin 很大,默认定义会给出一个非常宽的框。
\documentclass{moderncv}
\usepackage[style=verbose-inote,backend=biber]{biblatex}
\defbibenvironment{bibliography}
{\list
{\printtext[labelnumberwidth]{% label format from numeric.bbx
\printfield{labelprefix}%
\printfield{labelnumber}}}
{\setlength{\topsep}{0pt}% layout parameters from moderncvstyleclassic.sty
\setlength{\labelwidth}{\hintscolumnwidth}%
\setlength{\labelsep}{\separatorcolumnwidth}%
\leftmargin\labelwidth%
\advance\leftmargin\labelsep}%
\sloppy\clubpenalty4000\widowpenalty4000}
{\endlist}
{\item}
\renewcommand*{\bibnamedash}{\mbox{\textemdash\space}}%
\moderncvstyle{classic}
\moderncvcolor{blue}
\firstname{John}
\familyname{Doe}
\addbibresource{biblatex-examples.bib}
\begin{document}
\makecvtitle
\nocite{companion,knuth:ct:a,knuth:ct:b}
\printbibliography[title={Publications}]
\end{document}