我的问题背景

我的问题背景

初步评论

这个问题一直困扰着我,所以我想找到一个解决方案。根据我的经验,biber我以为我只需要复制/重命名一些由创建的文件就可以bibtex让它工作(参见下面的示例),但似乎bibtex并不那么容易。
所以我的第二个想法似乎更实用:提取引用的参考文献列表,然后使用命令引用所有这些参考文献nocite(请参阅下面我的想法的详细信息):

我的问题背景

我经常使用“编译区域”命令来Emacs auctex-mode仅编译当前段落并快速查看我的编辑是否达到了预期的结果。

然而,引用没有得到正确处理,因为在该区域中只有引用的参考文献的一个子集,所以数字 citekey [95] 是不同的(并且这也会对换行和排版产生影响)。

因此,我想找到一种方法,让该地区使用与完整文档相同(长)的参考列表并进行相应的引用。

一些解决方案的想法(我的知识不足以使其自动工作)

  • \nocite{ref1, ref2, ... ref350}也许定期从主文档中提取所有引用的参考文献,然后以某种方式向区域文件添加命令是有意义的。
    也许我应该为主文件创建一个自定义书目文件,然后将其添加\nocite{*}到序言中。这只会在引用新参考文献时出现问题,然后我必须刷新自定义 .bib 文件...

    • 我如何提取主文档的引用参考文献?
    • 我可以修改区域文件auctex并附加一个\nocite{ref1, ref2, ..., refn)使用提取的参考列表的命令吗?
    • 或者:我可以为主文件创建一个自定义书目文件,该文件仅包含引用的参考文献,然后将其添加\nocite{*}到我的序言
      中吗?但是:如果我从正文中删除其中一个参考文献的所有引用会怎么样?我是否仍然可以在辅助文件中找出哪些文件仅通过命令引用,nocite哪些文件真正由命令\cite{)(或类似命令)引用?
  • 我可以复制一些原始文件,_region_....从而让该地区使用相同的书目顺序和编号吗?

  • 如果我将 .aux 文件从主文档复制到_region_.aux,我会得到正确的参考编号,但每次运行 latex 时都会覆盖此 aux 文件。此外,排版/放置某些表格和浮点数(如 longtables 等)可能需要运行 2 次 pdflatex,并且通过在每次运行 pdflatex 之前覆盖 .aux 文件,我认为我会丢失第二次运行 pdflatex 所需的信息。

  • 参考文献的顺序和编号似乎写在这样的行中:\abx@aux@number{25}{chiu}{0}{20}。从完整文档的辅助文件中抓取这些行并将它们附加到_region_.aux文件中是否有意义?我的大文档没有成功,因为每次我用编译时这些行似乎都会被覆盖pdflatex
    我试过这样:grep -i \abx@aux@number main.aux >> _region_.aux,但这没有效果——特别是,像地区.aux 如果我从中编译文档,则不会创建类似的行auctex,但同一来源仍会获得另一个数字引用键......

例子

主文件BibtexRegion_FullDocument.tex

\documentclass{scrbook}

\usepackage[natbib=true, style=numeric-comp, backend=bibtex8, defernumbers, useprefix,firstinits=true, maxnames=99, maxcitenames=3]{biblatex}  % für bessere Literaturverzeichnisse
\addbibresource{biblatex-examples.bib}



\begin{document}

\nocite{*}


This document has 2 paragraphs. This is the first one.

This is the second one and it cites \textcite{chiu}.

 \printbibliography


\end{document}
  • 这与 TeXLive 2014 兼容,因为它使用了biblatex示例书目。

结果:\cite{chiu}变成 [20] 在此处输入图片描述

Auctex 创建以下区域文件_region_.tex

如果我只标记第二段,并编译该区域,auctex则会创建以下 tex 文件

\message{ !name(BibtexRegion_FullDocument.tex)}

\documentclass{scrbook}

\usepackage[natbib=true, style=numeric-comp, backend=bibtex8, defernumbers, useprefix,firstinits=true, maxnames=99, maxcitenames=3]{biblatex}  % für bessere Literaturverzeichnisse
\addbibresource{biblatex-examples.bib}



\begin{document}

\message{ !name(BibtexRegion_FullDocument.tex) !offset(4) }
This is the second one and it cites \textcite{chiu}.
\message{ !name(BibtexRegion_FullDocument.tex) !offset(6) }

\end{document}

结果:\cite{chiu}变成1- 我怎样才能在这里获得 [20]?

在此处输入图片描述

目录中的文件

-rw-r--r--   1 mbg4  admin     306  6 Mär 11:05 BibtexRegion_FullDocument-blx.bib
-rw-r--r--   1 mbg4  admin    3933  6 Mär 11:05 BibtexRegion_FullDocument.aux
-rw-r--r--   1 mbg4  admin   84175  6 Mär 11:05 BibtexRegion_FullDocument.bbl
-rw-r--r--   1 mbg4  admin    1986  6 Mär 11:05 BibtexRegion_FullDocument.blg
-rw-r--r--   1 mbg4  admin   14524  6 Mär 11:05 BibtexRegion_FullDocument.log
-rw-r--r--   1 mbg4  admin      39  6 Mär 11:01 BibtexRegion_FullDocument.out
-rw-r--r--   1 mbg4  admin  114343  6 Mär 11:05 BibtexRegion_FullDocument.pdf
-rw-r--r--   1 mbg4  admin    2765  6 Mär 11:05 BibtexRegion_FullDocument.run.xml
-rw-r--r--   1 mbg4  admin   50679  6 Mär 11:05 BibtexRegion_FullDocument.synctex.gz
-rw-r--r--   1 mbg4  admin     433  6 Mär 11:04 BibtexRegion_FullDocument.tex
-rw-r--r--   1 mbg4  admin     306  6 Mär 11:06 _region_-blx.bib
-rw-r--r--   1 mbg4  admin     495  6 Mär 11:06 _region_.aux
-rw-r--r--   1 mbg4  admin    1394  6 Mär 11:05 _region_.bbl
-rw-r--r--   1 mbg4  admin    1770  6 Mär 11:05 _region_.blg
-rw-r--r--   1 mbg4  admin   13209  6 Mär 11:06 _region_.log
-rw-r--r--   1 mbg4  admin       0  6 Mär 11:03 _region_.out
-rw-r--r--   1 mbg4  admin   13426  6 Mär 11:06 _region_.pdf
-rw-r--r--   1 mbg4  admin    2612  6 Mär 11:06 _region_.run.xml
-rw-r--r--   1 mbg4  admin     942  6 Mär 11:06 _region_.synctex.gz
-rw-r--r--   1 mbg4  admin     508  6 Mär 11:05 _region_.tex

答案1

最后,我似乎忽略了一个相当简单的解决方案:

cp BibtexRegion_FullDocument.bbl _region_.bbl

经过全面编译后,完整文档似乎运行良好。

但是,在该区域上运行是不可能的(也没有意义)bibtex,因为这个 bbl 文件会被覆盖,信息会丢失。

相关内容