在同一文档中以两种不同的方式引用

在同一文档中以两种不同的方式引用

我使用的是unsrt书目样式,将文本中的参考文献格式化为 [1]。大多数情况下这都没问题,但有时我想将其写为参考文献 1 或 [参考文献 1]。有没有简单的方法可以做到这一点,比如让它只在需要的情况下删除方括号?

答案1

经过进一步的研究,结果发现一个简单的答案\citen来自cite包,它只返回数字而没有任何格式。

\documentclass{book}
\usepackage{cite}

\begin{document}
\mainmatter

\cite{x} \citen{x} [Ref.~\citen{x}] Reference \citen{x}.

\backmatter
\bibliographystyle{unsrt}
\begin{thebibliography}{bib}
    \bibitem{x} xxxxxx
\end{thebibliography}

\end{document}

显示为:

引用例子

答案2

下面我定义了\citeA\citeB提供您需要的输出。它\@citeX来源于\citelatex.ltx,检查未定义的引用。

在此处输入图片描述

\documentclass{article}

\makeatletter
% Abbreviated grab from LaTeX kernel
\newcommand{\@citeX}[3]{{%
  \@ifundefined{b@#2}{\mbox{\reset@font\bfseries ?}%
    \G@refundefinedtrue
    \@latex@warning
      {Citation `#2' on page \thepage \space undefined}}%
  {#1\csname b@#2\endcsname#3}}}
\newcommand{\citeA}[1]{\@citeX{[Ref.~}{#1}{]}}
\newcommand{\citeB}[1]{\@citeX{Reference~}{#1}{}}
\makeatother

\begin{document}

See~\cite{abc}. See \citeA{abc}. See \citeB{abc}.

\begin{thebibliography}{x}
  \bibitem{abc} Abc
\end{thebibliography}

\end{document}

\citeX内部\citeA和的用法\citeB应该足够清楚,以便您可以修改它们以满足您的需要。\citeX{<prefix>}{<cite>}{<suffix>}创建形式的引用<prefix><cite><suffix>

答案3

使用natbib包您有两个可选参数允许在参考编号之前和之后包含文本:

\documentclass{article}
\usepackage[numbers]{natbib}
\begin{document}
Use \citep{IEEEexample:article_typical} 
or \citep[Ref. ][]{IEEEexample:article_typical}
\bibliographystyle{unsrt}
\bibliography{IEEEexample}
\end{document}

姆韦

相关内容