79

我有一个从 Mac 的 Papers 自动生成的巨大 .bib 文件,并且 .bib 中的所有大写字母已经是我想要的方式,但它没有像 RNA 这样的单词的 {} 括号。

有没有办法强制 BibTeX 保持大写而不是将某些单词更改为小写?

4

5 回答 5

47

我同意 Killian 的观点,正确的做法是使用 {} 来保存大小写,但我不建议总是这样做,因为在某些情况下这种行为是错误的,并且不可自动化,但 Bibtex 的正确做法是请执行下列操作:

  1. 将书名和文章标题放入标题大小写(即,将所有重要的单词 [ 1] 大写,但尚未保护它们);
  2. 保护所有专有名称的大写字母,例如From {B}rouwer to {H}ilbert;
  3. 保护所有技术首字母缩写词的大写字母,例如The definition of {S}tandard {ML}; 和
  4. 保护字幕的首字,例如 {W}ittgenstein's Poker: {T}he story of a ten-minute argument.

不要保护小写字母:这可以防止 Bibtex 将字符串转换为全大写,这是一些晦涩的书目风格所要求的。

If you have been using a spell-checker, then the contents of its database will, with luck, contain nearly all of the material you need to know to capitalise properly: spell-checker's store information on which words are all-caps, and which are capitalised as proper names. If you can programmatically match words against this, then you can generate your Bibtex database automatically, with more than a little work, but it's maybe a two-hour project.

Tiresomely, Bibtex can't be used to get all bibliographies right, since different citation styles actually have different lists of non-significant words. However, in practice hardly anyone ever cares about the differences, so one can come up with a standard list of non-capitalised words.

[ 1] - 重要词:“a”、所有两个字母的实际词、“the”、“and”、“some”、所有单词介词和所有单词代词都是可接受的非重要词列表我认为,对于几乎所有的出版商来说。

于 2010-05-24T14:24:27.690 回答
20

如果您更喜欢编辑 bibtex 样式 ( .bst) 而不是参考书目 ( .bib),您可以在其中搜索出现的change.case$。这是将不是人名的字段大写或标题化的函数。

通常,对于标题字段,您应该找到类似title "t" change.case$. 由于您希望标题未修改,请将其替换为title.

于 2010-05-14T18:33:45.653 回答
8

在这种情况下,您只需在每个完整标题周围添加 {},它具有相同的效果并且应该很容易自动完成。

于 2010-05-10T06:04:12.667 回答
2

我遇到了与标题相同的问题,例如:

title = {blah blah AB blah AB blah}

结果是:

"blah blah ab blah ab blah"

根据查尔斯斯图尔特的建议,我将标题更改为:

title = {blah blah {A}{B} blah {A}{B} blah}

现在我的标题是正确的: blah blah AB blah AB blah

希望这可以帮助。

于 2010-06-19T06:19:46.033 回答
1

使用 {花括号} 的一种替代方法是:-

  1. 在你第一次运行 pdflatex 然后在你的 BiBteX 数据库 file.bbl 上运行 bibtex 之后,检查你的根文件夹中的 .bbl 文件,其中 .bbl 是你的 BiBteX 数据库。

  2. 在您选择的编辑器中打开此 *.bbl 文件。

  3. 该文件如下所示:  

    \begin{thebibliography}{10}
    
    \expandafter\ifx\csname url\endcsname
    
    \relax
    \def\url#1{\texttt{#1}}
    
    \fi
    \expandafter\ifx\csname urlprefix\endcsname
    
    \relax\def\urlprefix{URL }
    
     \fi
    
    \bibitem{label}.....
    
  4. 编辑此 *.bbl 文件以满足您的要求,现在在您的 .tex 文件上运行 pdflatex 命令。这应该会给你想要的结果。

  5. 通过这种方法,您可以以任何方式编辑参考书目。您甚至可以添加带有重音字符的名称。

于 2012-09-01T16:26:42.830 回答