我需要将我的参考书目项目的引用格式更改为如下格式:
“参见参考文献 (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
祝你好运