需要将引用格式从 [1] 更改为 (a)

需要将引用格式从 [1] 更改为 (a)

我需要将我的参考书目项目的引用格式更改为如下格式:

“参见参考文献 (a)”而不是“参见参考文献 (1)”

\renewcommand\@cite[1]{Reference~(#1)}我在我的样式文件中使用了类似这样的代码:

然后,在我的实际文档中,我将得到:“ See \cite{somebibitem}”,其结果是“参见参考文献(1)”。

但是,我如何才能让我的参考书目列表使用字母而不是数字(我认为这也会改变引用以使用字母)?

答案1

我所熟悉的文档article类和大多数其他文档类都使用计数器对环境enumiv中的项目进行编号thebibliography。为了“格式化”此计数器以用于书目标签,LaTeX 默认\@arabic\c@enumiv在环境定义中的两个实例中使用该指令thebibliography

因此,要将标签的编号样式从arabic(1, 2, 3, ...) 更改为(a, b, c, ...),您可以在文档的序言中alph重新定义环境。 的两个实例都必须更改为。 此外,还需要重新定义另外两个宏,(因为在其默认定义中,它被硬编码为使用阿拉伯数字)和(将书目标签周围的分隔符从方括号更改为参考书目部分中的圆括号)。thebibliography\@arabic\@alph\@bibitem\biblabel

\makeatletter
\renewcommand\@bibitem[1]{\item\if@filesw \immediate\write\@auxout
   {\string\bibcite{#1}{\theenumiv}}\fi\ignorespaces}
     %% to replace "\the\value{\@listctr}" with "\theenumiv"
\renewcommand\@biblabel[1]{(#1)}
     %% to replace "[#1]" with "(#1)"

\renewenvironment{thebibliography}[1]
     {\section*{\refname}%  %% use \bibname instead of \refname if using the 
                            %% report or book document classes
      \@mkboth{\MakeUppercase\refname}{\MakeUppercase\refname}%
      \list{\@biblabel{\@alph\c@enumiv}}% %% instead of "\@arabic\c@enumiv"
           {\settowidth\labelwidth{\@biblabel{#1}}%
            \leftmargin\labelwidth
            \advance\leftmargin\labelsep
            \@openbib@code
            \usecounter{enumiv}%
            \let\p@enumiv\@empty
            \renewcommand\theenumiv{\@alph\c@enumiv}}% 
                                    %% instead of "\@arabic\c@enumiv"
      \sloppy
      \clubpenalty4000
      \@clubpenalty \clubpenalty
      \widowpenalty4000%
      \sfcode`\.\@m}
    {\def\@noitemerr
       {\@latex@warning{Empty `thebibliography' environment}}%
      \endlist}
\makeatother

最后,将引文的分隔符改为“数字”(现在是字母!)文本将文档的方括号改为圆括号,我建议您使用该cite包并发出以下命令(当然,仍然在序言中):

\usepackage{cite}
\renewcommand{\citeleft}{(}
\renewcommand{\citeright}{)}

快乐地使用 LaTeX!

答案2

这是一个使用的解决方案比布拉特克斯。请注意,第 27 个引用将被标记为“aa”,第 702 个引用(可能的最大数字)将被标记为“zz”。

编辑:我添加了一些代码,将参考书目和最常用的引用命令的括号改为圆括号。完整的解决方案将涉及额外的重新定义。

\documentclass{article}

\usepackage{biblatex}

\DeclareFieldFormat{labelnumber}{\mknumalph{#1}}
\DeclareFieldFormat{labelnumberwidth}{\mkbibparens{#1}}

\DeclareCiteCommand{\cite}[\mkbibparens]
  {\usebibmacro{prenote}}
  {\usebibmacro{citeindex}%
   \usebibmacro{cite}}
  {\multicitedelim}
  {\usebibmacro{postnote}}

\DeclareCiteCommand{\parencite}[\mkbibparens]
  {\usebibmacro{prenote}}
  {\usebibmacro{citeindex}%
   \usebibmacro{cite}}
  {\multicitedelim}
  {\usebibmacro{postnote}}

\usepackage{filecontents}

\begin{filecontents}{\jobname.bib}
@misc{A01,
  author = {Author, A.},
  year = {2001},
  title = {Alpha},
}
@misc{B02,
  author = {Buthor, B.},
  year = {2002},
  title = {Bravo},
}
@misc{C03,
  author = {Cuthor, C.},
  year = {2003},
  title = {Charlie},
}
\end{filecontents}

\addbibresource{\jobname.bib}

\begin{document}

Some text \autocite{A01,B02,C03}.

\printbibliography

\end{document}

在此处输入图片描述

答案3

我认为使用 (a) 格式的参考文献没有意义(您只能引用 26 个参考文献,因为字母数字是 26),但您可以使用 alpha 样式:

\bibliographystyle{alpha}

将此命令添加到文档结束之前:

\bibliographystyle{plain}
\bibliography{bibliographie} // your biblio file
\end{document}

所有款式均可在此找到:https://fr.overleaf.com/learn/latex/Bibtex_bibliography_styles

祝你好运

相关内容