![将 LaTeX 连接到 csv](https://linux22.com/image/349802/%E5%B0%86%20LaTeX%20%E8%BF%9E%E6%8E%A5%E5%88%B0%20csv.png)
我需要插入参考文献并制作参考书目,但我没有正确的 BibLaTeX 样式,也没有时间制作新的样式。所以我手动完成。我将参考文献存储在 .csv 文件中。我想自动插入参考文献。csv 的格式是“键带破折号字母和数字;引用带空格”。是否可以让 LaTeX 搜索包含参考文献的文件并自动填充参考文献?这样 \command{key} 就会给出相应的参考文献?我读到 LaTeX 可以连接到 MySQL,但由于我是唯一的用户,而且参考文献并不多,因此为此使用整个 RDBMS 似乎有点过分。理想情况下,我想继续使用 csv 文件作为“数据库”。
我现在使用的系统的一个例子是:
`C-B-NAME-2005;\bronAuteur{F.}{Name}, ``title'', in \bronAuteur{F.}{Name}, \bronAuteur{F.}{Name} en \bronAuteur{F.}{Name} (eds.), \textit{Title\slash Rest of title}, name, Publisher, 2005, 45-85'
`C-B-NAME-1975;\bronAuteur{F.}{Name} en \bronAuteur{F.}{Name}, \textit{Title}, V, Place, Publisher, 1975, 1167 p.'
When compiling `\command{C-B-NAME-2005}, 50`should give `\bronAuteur{F.}{Name}, ``title'', in \bronAuteur{F.}{Name}, \bronAuteur{F.}{Name} en \bronAuteur{F.}{Name} (eds.), \textit{Title\slash Rest of title}, name, Publisher, 2005, 45-85, 50`
(\bronAuteur
除了将文本改为大写并将“F. NAME”(脚注)翻转为“NAME, F.”(参考书目)之外什么也不做)
答案1
在我看来,如果您的 bibstyle 非常简单,您可以编写一系列引用命令来访问.csv
并产生正确的输出,biblatex
那么样式也会非常简单(或者实际上更简单!)。
但是,为了帮助您开始这条.csv
路线,这里有一个非常简单的示例,您应该能够对其进行修改。当然,我预计任何超出真正小的书目都会对编译时间产生(越来越)深远的影响。
\RequirePackage{filecontents}
\begin{filecontents}{\jobname-bib.csv}
smith2000, "John Smith", The Title, The Journal, 67.4, 2000, 123--456
jones2000, "Sam Jones", Some Title, Some Journal, 12.1, 2000, 1--40
\end{filecontents}
\documentclass{article}
\usepackage{datatool}
\DTLloaddb[noheader,
keys={key,name,title,journal,volume,date,pages}]{bibfile}{\jobname-bib.csv}
\newcommand{\mycite}[1]{%
\DTLfetch{bibfile}{key}{#1}{name},\space
``\DTLfetch{bibfile}{key}{#1}{title},''\space
\emph{\DTLfetch{bibfile}{key}{#1}{journal}}\space
\DTLfetch{bibfile}{key}{#1}{volume}\space
(\DTLfetch{bibfile}{key}{#1}{date}):\space
\DTLfetch{bibfile}{key}{#1}{pages}%
}
\begin{document}
\parindent 0pt
\mycite{smith2000}
\mycite{jones2000}
\end{document}
还请注意,datatool
文档中有一节介绍如何使用datatool
参考书目。可能值得一读。(上述示例并不依赖它,除非是偶然。)