我正在使用 MikTeK 和 Winedt 9 for Windows 撰写论文。我使用 documentclass{report},然后我有一个带有序言的“主文件”,我使用选项 \input 加载论文的特定章节。我使用 JabRef 和 Biber 来处理参考文献。我遇到了一个奇怪的问题:
Biber 无法在我的 .bib 文件中查找特定条目。首先,这似乎与条目包含的行字符数过长有关。Biber 未“找到”参考文献,并以常规粗体形式呈现命令。通常,如果一本书有许多不同的编辑,就会发生这种情况,这样 JabRef 中的“编辑”行就会变得很长。
更奇怪的是,如果我编写一个新文件(例如常规 documentclass{article}),Biber 能够找到相同的条目。我在序言中加载完全相同的 .bib 文件,并使用完全相同的键在文档中引用它。
有任何想法吗?
这是一个可能过于冗长的 MWE:
\documentclass[12]{report}
\setcounter{tocdepth}{2}
\usepackage{layout}
\setlength{\voffset}{-0.75in}
\setlength{\headsep}{5pt}
\usepackage[utf8]{inputenc}
\usepackage[english]{babel}
\usepackage{csquotes}
\usepackage{authblk}
\usepackage [T1]{fontenc}
\usepackage[backend=biber, style=authoryear-comp]{biblatex}
\usepackage{xyling}
\usepackage[super]{nth}
\usepackage{xspace}
\usepackage{cgloss4e}
\usepackage{abstract}
\usepackage{array}
\usepackage{multirow}
\usepackage{hyperref}
\usepackage{xr}
\usepackage{gb4e}
\addbibresource{ref.bib}
\title{XXX}
\author{YYY}
\date{\today}
\begin{document}
blablabla \cite{LabelleHirschbuhler2005} NB!
\end{document}
这是 ref.bib 文件中有问题的条目。其 BibTeX 源代码如下:
@InBook{LabelleHirschbuhler2005,
chapter = {Changes in clausal organization and the position of clitics in Old French},
pages = {60-71},
title = {Grammaticalization and Parametric Change},
publisher = {Oxford University Press},
year = {2005},
author = {Marie Labelle and Paul Hirschbühler},
editor = {Monserrat, Batllori and Maria-Lluísa, Hernanz and Carme, Picallo and Francesc, Roca},
address = {Oxford},
}
答案1
这是gb4e
和之间不兼容的问题,xyling
更具体地说dvips
是 的驱动程序xy
。可以使用以下方法重现此问题
\documentclass{report}
\usepackage{gb4e}
\usepackage{xyling}
\begin{document}
Lorem
\end{document}
或者通过替换\usepackage{xyling}
(\usepackage[color,all,dvips]{xy}
内部xyling
加载xy
这些选项)。
gb4e
^
更改和的定义,_
因此您也可以在数学模式之外使用下标和上标。这会干扰使用-符号xy
的驱动程序。dvips
^^
您可以使用以下方式禁用此行为\noautomath
\documentclass{report}
\usepackage{gb4e}
\noautomath
\usepackage{xyling}
\begin{document}
Lorem
\end{document}
也可以看看无法使用 biblatex 和 gb4e 一起编译 XeLaTeX 文档和gb4e 破坏了 \caption 中的数学下标
如果您想使用_
而不切换到数学模式,您可以在使用^
后重新启用该功能\begin{document}
\automath
\documentclass{report}
\usepackage{gb4e}
\noautomath
\usepackage{xyling}
\begin{document}\automath
Lorem_a
\end{document}