我使用的是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
来源于\cite
latex.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}