如何在 usepackage{scicite} 中使用上标引用(并使用 et al.)

如何在 usepackage{scicite} 中使用上标引用(并使用 et al.)

我尝试过自己修复这个问题,但是我对 LaTex 的经验还不是很丰富,所以我无法解决这个问题。

我使用documentclass{Article} and userpackage{scicite} So 进行引用,图书馆则使用 scicity.sty,这里是链接http://www.sciencemag.org/sites/default/files/scicite.sty 为了制作 .bib,我使用 Mendelay(如果相关)

我猜想在 scicite 中有一个代码,我可以使用它来 supercite,我需要将其复制到我的 .latex 中?我尝试复制几个部分,但我并不真正理解指南,而且什么都没用。我在这个网站上找到的关于上标的答案也没有用,因为我没有设法交换我尝试了这两个(以及许多其他答案):

\DeclareRobustCommand{\cite}{%
  \@ifnextchar[{\@tempswatrue\@citex}{\@tempswafalse\@citex[]}}

\def\@citepc#1{%
   \ifx\@tempb#1\@empty #1\let\@tempc\oc@movep \fi
   \ifx\delimiter#1\else \expandafter\@citepc\fi}

但我得到的错误代码是,其中某些内容未定义或错误定义,或者我的引用仍然不正确。它显示如下:

  • 该蛋白质在有丝分裂中表达(3)。

但我希望它是上标数字 1 或 [1] ,就像通常在科学论文中所做的那样。

我试图\usepackage{scicite}

\usepackage[]{biblatex}

\DeclareCiteCommand{\supercite}[\mkbibsuperscript]
  {\iffieldundef{prenote}
    {}
    {\BibliographyWarning{Ignoring prenote argument}}%
    \iffieldundef{postnote}
    {}
    {\BibliographyWarning{Ignoring postnote argument}}%
    \bibopenbracket}%
  {\usebibmacro{citeindex}%
    \usebibmacro{cite}}
  {\supercitedelim}
  {\bibclosebracket}

但是任何尝试(我也尝试了其他代码)用 biblatex 替换 scicite 都会导致以下错误代码:未创建 .bll

另外,我有一个由 mendelay 使用 et. al 生成的库(它显示正确),但是当我将其导入 latex 时,当作者超过 3 位时,它不会使用 et al。我正在使用

\bibliography{scibib}
\bibliographystyle{abbrv}

最少的代码(我希望我做得对):

\documentclass[12pt]{article}
\usepackage{scicite}
\usepackage{arial}

\pretolerance=10000
\tolerance=2000 
\emergencystretch=10pt
\makeatletter
\let\latexl@section\l@section
\def\l@section#1#2{
\begingroup\let\numberline\@gobble\latexl@section{#1}{#2}\endgroup}
\makeatother
\setcounter{secnumdepth}{0}

\topmargin 0.0cm
\oddsidemargin 0.2cm
\textwidth 17cm 
\textheight 23cm
\footskip 1.0cm

\newenvironment{sciabstract}{%
\begin{quote} \bf}
{\end{quote}}
\title{ }
\author{•}


\begin{document} 
\baselineskip18pt
\maketitle \newpage
\tableofcontents

\bibliography{scibib}
\bibliographystyle{abbrv}
\end{document}

相关内容