使用 {biblatex} 引用时丢失的信息

使用 {biblatex} 引用时丢失的信息

我曾经\usepackage[style=alphabetic,maxnames=2,]{biblatex}将引文写成作者年份而不是数字,这样很管用。但这样引文中的所有额外信息都会消失:例如,如果我写成“定理 1.1”,就不会出现\cite[Theorem 1.1]{Kis06}。我只有一个 [Kis06],如下图所示:

在此处输入图片描述

而我想要的是[Kin06,定理1.1]

我手动设置参考文献而不使用.bib,例如:

\bibitem[Kis06]{Kis06}
        M. Kisin, Crystalline representations and $F$-crystals, in Algebraic Geometry and Number Theory, Drinfeld 50th Birthday volume, Progress in Mathematics \textbf{253}, Birkh\"auser, (2006), p.459-496. 

有关我的包裹的更多信息:

\documentclass[10 pt, singlespacing, headsepline]{book}
\usepackage[unicode]{hyperref}
\usepackage{bookmark}
\usepackage{lipsum}
\usepackage[utf8]{inputenc}
\usepackage{soul}
\usepackage[T1]{fontenc}
\usepackage{tikz, tikz-cd, enumerate, amsfonts, stmaryrd, amsmath, amsthm, amssymb, comment, todonotes, mathrsfs, mathtools}
\usepackage[shortlabels]{enumitem}
\usetikzlibrary{arrows}
\usetikzlibrary{positioning}
\usepackage[utf8]{inputenc}
\usepackage{bbm}
\usepackage{graphicx}
\usepackage[all]{xypic}
\usepackage[toc,page,title,titletoc,header]{appendix}
\usepackage{xcolor, color}
\usepackage[all,color]{xy}
\usepackage[left=1in, right=1in, top=1in, bottom=1in, includefoot, headheight=13.6pt]{geometry}
\usetikzlibrary{matrix,arrows,decorations.pathmorphing}
\usepackage{mdframed}
\usepackage{eucal}
\usetikzlibrary{positioning}
\usepackage{fancyhdr}
\usepackage{longtable}
\usepackage[french, english]{babel}
\usepackage{imakeidx}
\usepackage{hyperref}
\usepackage[style=alphabetic,maxnames=2,]{biblatex}
\usetikzlibrary{decorations.markings}

额外问题:是否可以修改字符“Kis06”(例如上图所示):它太大而且太粗了......

谢谢您的任何评论!


修改后的(新)问题:



我意识到,正如@Joseph Wright在评论中指出的那样,为了保持原样,\bibitem我应该使用\natbib。所以我修改了我的 usepackage 如下

\documentclass[10 pt, singlespacing, headsepline]{book}
\usepackage[numbers]{natbib} % I add here
%\usepackage[unicode]{hyperref}
\usepackage{bookmark}
\usepackage{lipsum}
\usepackage[utf8]{inputenc}
\usepackage{soul}
\usepackage[T1]{fontenc}
\usepackage{tikz, tikz-cd, enumerate, amsfonts, stmaryrd, amsmath, amsthm, amssymb, comment, todonotes, mathrsfs, mathtools}
\usepackage[shortlabels]{enumitem}
\usetikzlibrary{arrows}
\usetikzlibrary{positioning}
\usepackage[utf8]{inputenc}
\usepackage{bbm}
\usepackage{graphicx}
\usepackage[all]{xypic}
\usepackage[toc,page,title,titletoc,header]{appendix}
\usepackage{xcolor, color}
\usepackage[all,color]{xy}
\usepackage[left=1in, right=1in, top=1in, bottom=1in, includefoot, headheight=13.6pt]{geometry}
\usetikzlibrary{matrix,arrows,decorations.pathmorphing}
\usepackage{mdframed}
\usepackage{eucal}
\usetikzlibrary{positioning}
\usepackage{fancyhdr}
\usepackage{longtable}
\usepackage[french, english]{babel}
\usepackage{imakeidx}
\usepackage{hyperref}
%\usepackage[style=alphabetic,maxnames=2,]{biblatex} % I canceled this
\usetikzlibrary{decorations.markings}

当我编译时,错误显示为

“未找到文件‘natbib.sty’。\usepackage”

附言:我在笔记本电脑上使用 Texstudio,奇怪的是,当我复制相同的 usepackages(带有一些简短的最小上下文\cite[]{})到网站“overleaf”上进行在线测试时,它可以正常工作……但在我的 Texstudio 上它崩溃了……有什么建议吗?

答案1

作为约瑟夫·赖特 在评论中写道\bibitem,您不能将用s编写的手动书目与 一起使用biblatex。如果您thebibliography自己编写环境,则只能将其与基于标准 LaTeX 书目方法的书目和引文包一起使用。

约瑟夫建议使用natbib,事实上natbib它是最受欢迎的thebibliography基于引用/参考书目包之一。

删除\usepackage[style=alphabetic,maxnames=2,]{biblatex}并添加类似

\usepackage[numbers]{natbib}

在编辑中,建议您natbib在本地机器上尝试使用时出现错误。编辑中引用的错误只是说natbib找不到。因此,首先要检查的是是否natbib安装了。虽然通常建议安装完整的 TeX 发行版,但并不是每个人都这样做,在这种情况下,您可能需要在需要时安装其他软件包。是否以及如何做到这一点取决于您在系统上安装 TeX 的方式。

  • 使用 MikTeX,您可以使用即时安装功能或 MikTeX 控制台。
  • 直接从 TUG 安装 TeX live 后,您可以使用tlmgr
  • 通过 Linux 发行版的包管理器安装 TeX live 后,您必须识别相关包(Debian 中natbib似乎位于texlive-latex-base,因此它通常应该已经在那里了)。

以下简化的 MWE 应该可以编译,没有问题

\documentclass[british]{article}
\usepackage[T1]{fontenc}
\usepackage{babel}

\usepackage[numbers]{natbib}

\begin{document}
Lorem \citep{Kis06}

\begin{thebibliography}{Kis06}
  \bibitem[Kis06]{Kis06}
    M. Kisin,
    Crystalline representations and $F$-crystals,
    in Algebraic Geometry and Number Theory,
    Drinfeld 50th~Birthday volume,
    Progress in Mathematics \textbf{253},
    Birkh\"auser, (2006), p.459-496.
\end{thebibliography}
\end{document}

但是,在当前设置中,您实际上无法使用natbib的大部分高级功能 ( \citep/ \citet),因为您必须natbib通过 的可选参数将作者姓名和出版年份传递给\bibitem。此外,它natbib不正式支持“字母”引用样式,因此您不妨完全放弃它natbib,使用 LaTeX 的标准定义(或\usepackage{cite}

\documentclass[british]{article}
\usepackage[T1]{fontenc}
\usepackage{babel}

\begin{document}
Lorem \cite{Kis06}

\begin{thebibliography}{Kis06}
  \bibitem[Kis06]{Kis06}
    M. Kisin,
    Crystalline representations and $F$-crystals,
    in Algebraic Geometry and Number Theory,
    Drinfeld 50th~Birthday volume,
    Progress in Mathematics \textbf{253},
    Birkh\"auser, (2006), p.459-496.
\end{thebibliography}
\end{document}

相关内容