LaTeX 到 BibTeX

LaTeX 到 BibTeX

我有一份用 LaTeX 編寫的舊文檔,需要編輯/重寫。該文件有數百條引用,沒有使用 BibTex,而只是使用舊式thebibliography環境和\bibitem。現在我想重新使用舊的參考書目並添加新的參考書目,但使用 BibTex。有沒有辦法可以重複使用我的舊參考資料?我想到的是一個腳本或一些可以翻譯\bibitem的條目並將其轉換為 BibTex 格式的東西,但任何解決方案都是受歡迎的。順便說一句,在谷歌和堆疊交換上的(誠然膚淺的)搜尋沒有提供任何解決方案。

答案1

根據快速谷歌搜索,有幾個腳本可能工作:

tex2bibhttp://mirror.ctan.org/biblio/bibtex/utils/tex2bib

convertbiblio http://www.mi.infm.it/manini/scripts/convertbiblio.py

通常的警告當然適用於從互聯網運行腳本!正如其他人所指出的,您可能必須手動清理條目。從格式化條目中抓取書目資料並非易事,尤其是當您使用高度客製化的樣式時。

歸功於TeX 常見問題用於連結到 tex2bib。

答案2

我想出了一個簡單的解決方案來解決這個問題。

不幸的是,這個解決方案僅適用於那些在https://inspirehep.net/網站。

事情是這樣的:

首先,我編寫了一個包含所有參考文獻的文件(我稱之為 bib.txt)。下面是它所包含的內容的範例:

%\cite{White:2012zza}
\bibitem{White:2012zza} 
  R.~M.~White [BaBar Collaboration],
  %``Recent charm physics results from BaBar,''
  J.\ Phys.\ Conf.\ Ser.\  {\bf 347}, 012026 (2012).
  %%CITATION = 00462,347,012026;%%


 %\cite{Zupanc:2013byn}
  \bibitem{Zupanc:2013byn} 
    A.~Zupanc {\it et al.}  [Belle Collaboration],
    %``Measurements of branching fractions of leptonic and hadronic $D_{s}^{+}$ meson decays and extraction of the $D_{s}^{+}$ meson decay constant,''
  JHEP {\bf 1309}, 139 (2013)
 [arXiv:1307.6240 [hep-ex]].
%%CITATION = ARXIV:1307.6240;%%
 %13 citations counted in INSPIRE as of 04 Nov 2014kda

因此,我寫了一個腳本(附在答案末尾)數學讀取檔案並將其以特定格式輸出到檔案「bibform.tex」中,以便當您將其提交到此網站時(https://inspirehep.net/submit?doctype=bibtex&act=SBI)它為您提供參考樣式所需的格式。

SetDirectory[NotebookDirectory[]];
file = OpenRead["bib.txt"];
x = ReadList[file, String];
Close[file];

file = OpenWrite["bibform.tex"];
WriteString[file, "\\documentclass[a4paper,12pt]{article}"];
WriteString[file, "\\begin{document}"];
j = 0;

Do[
If[StringMatchQ[x[[i]], "*" <> "\cite{" <> "*"],
WriteString[file, 
"a~\\cite{" <> 
 StringSplit[StringSplit[x[[i]], "}"][[1]], "{"][[2]] <> "}" <> 
 "\n\n"];
j = j + 1;
  ];
, {i, 1, Length[x]}]

WriteString[file, "\\end{document}"];
Print["Found " <> ToString[j] <> "  References.\n"]
Print["File Writen:"]
Close[file]
Print["Upload the file to: \

https://inspirehep.net/submit?doctype=bibtex&act=SBI\n to get the \
output format."]

相關內容