.bib 中有期刊标题,但 .bbl 中没有

.bib 中有期刊标题,但 .bbl 中没有

我的 .bib 文件中的期刊标题未传输到 .bbl 文件中。以下是 .bib 文件中的条目:

@article{bangor09determining,
  title = {Determining {{What Individual SUS Scores Mean}}: {{Adding}} an {{Adjective Rating Scale}}},
  volume = {4},
  issn = {1931-3357},
  shorttitle = {Determining {{What Individual SUS Scores Mean}}},
  abstract = {[removed for conciseness]},
  timestamp = {2016-06-18T00:12:06Z},
  number = {3},
  journaltitle = {J. Usability Studies},
  author = {Bangor, Aaron and Kortum, Philip and Miller, James},
  date = {2009-05},
  pages = {114--123},
  keywords = {surveys,SUS,system usability scale,usability,user satisfaction},
  file = {ACM Full Text PDF:/Users/file/path/removed/for/privacy.pdf}
}

.bbl 文件中的相应条目:

\bibitem{bangor09determining}
Bangor, A., Kortum, P., Miller, J.: Determining {{What Individual SUS Scores
  Mean}}: {{Adding}} an {{Adjective Rating Scale}}  4(3),  114--123

.bbl 条目中缺少期刊名称。如何将期刊名称放入 .bbl 文件中?如何将 .bib 文件转换为 .bbl 文件?有哪些设置可以确定哪些字段包含在 .bbl 中?

答案1

journaltitlebiblatex不是中的一个字段bibtex,但是\bibitems (以及 OP 中给出的格式)表明该参考书目是由bibtex而不是 由创建的biblatex

相应的字段bibtexjournal(也被识别),因此可以在中biblatex查找并将其替换为(或配置bib管理器来执行此类替换)。journaltitle.bibjournal

虽然biblatex能够处理 和journal,但journaltitle标准bibtex样式只能处理journal。但是,可以修改bibtex样式来处理journaltitle。以下是流程:

复制bibtex样式(扩展名.bst)并重命名。如果样式文件为,则将<style>.bst其重命名为my<style>.bst

打开my<style>.bst并搜索

ENTRY {
  ...
  journal 
  ...
}

jorunaltitle在后面的行中journal。因此你应该得到类似

ENTRY {
   ...
   journal
   journaltitle 
   ...
}

该指令告知bibtexjournaltitle解析的字段。

找到函数

FUNCTION {format.title} 
{
  <definition of the function>
}

将函数更改如下:

FUNCTION {format.title}
{ journaltitle empty$
    { <old  definition of the function> }
    { <instructions for title in the old defintion> }
  if$
}

例如,如果format.title函数是

FUNCTION {format.title}
{ title empty$
    { "" }
    { title "t" change.case$
    }
  if$
}

修改后的定义应如下所示:

FUNCTION {format.title}
{ journaltitle empty$
    { title empty$
        { "" }
        { title "t" change.case$
        }
      if$
    }
    { journaltitle "t" change.case$ }
  if$
}

定义会检查字段 是否有值journaltitle,并应用与 相同的格式指令title。如果没有值,则检查字段 是否有值title。如果有,则应用旧定义。

相关内容