如何从双列参考书目中消除数字标签

如何从双列参考书目中消除数字标签

我找到了一个两列参考书目的代码片段这个答案

\usepackage{multicol}

\makeatletter
\renewenvironment{thebibliography}[1]
     {\begin{multicols}{2}[\section*{\refname}]%
      \@mkboth{\MakeUppercase\refname}{\MakeUppercase\refname}%
      \list{\@biblabel{\@arabic\c@enumiv}}%
           {\settowidth\labelwidth{\@biblabel{#1}}%
            \leftmargin\labelwidth
            \advance\leftmargin\labelsep
            \@openbib@code
            \usecounter{enumiv}%
            \let\p@enumiv\@empty
            \renewcommand\theenumiv{\@arabic\c@enumiv}}%
      \sloppy
      \clubpenalty4000
      \@clubpenalty \clubpenalty
      \widowpenalty4000%
      \sfcode`\.\@m}
     {\def\@noitemerr
       {\@latex@warning{Empty `thebibliography' environment}}%
      \endlist\end{multicols}}
\makeatother

这基本上满足了我的要求(即分为两列,因此占用的空间较少),只是每个项目前面都有 [1]、[2]、... 因为我使用的是参考书目,所以文本中moderncv没有引用,所以不需要标签。如果标签很难避免,我更喜欢项目符号之类的东西。

我想这可能会让事情变得更加复杂,但无论好坏,我目前正在使用plainyr-rev.bst也是。不过那不是很重要;书目只包含十几个项目,我可能只需更改标签并按这些项目排序即可。

答案1

答案是贡萨洛·梅迪纳我在问题中链接的内容提供了我需要的大部分功能,并根据建议进行了调整满足了我的要求。所以我最终得到了这个:

\makeatletter
\ifthenelse{\boolean{twocolbib}}{
\renewenvironment{thebibliography}[1]
     {\begin{multicols}{2}[\section*{\refname}]%
      \@mkboth{\MakeUppercase\refname}{\MakeUppercase\refname}%
      \list{}
           {\settowidth\labelwidth{\@biblabel{#1}}%
            \leftmargin\labelwidth
            \advance\leftmargin\labelsep
            \@openbib@code
            \usecounter{enumiv}%
            \let\p@enumiv\@empty
            \renewcommand\theenumiv{\@arabic\c@enumiv}}%
      \sloppy
      \clubpenalty4000
      \@clubpenalty \clubpenalty
      \widowpenalty4000%
      \sfcode`\.\@m}
     {\def\@noitemerr
       {\@latex@warning{Empty `thebibliography' environment}}%
      \endlist\end{multicols}}
}{}
\makeatother

但事实证明,我的简历的其他部分已经太长了,一页也放不下,所以两栏参考书目的优势就消失了,所以我添加了一个,\ifthenelse以防我再次需要它。

相关内容