将 LaTeX 连接到 csv

将 LaTeX 连接到 csv

我需要插入参考文献并制作参考书目,但我没有正确的 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参考书目。可能值得一读。(上述示例并不依赖它,除非是偶然。)

相关内容