类 modernCV 带有德语书目 biblatex;相同作者被破折号替换

类 modernCV 带有德语书目 biblatex;相同作者被破折号替换

我找到了使用 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}

在此处输入图片描述

相关内容