使用模板:通过 Zotero Citations 将 markdown 转换为 PDF - 如何使用 citekey(或类似软件)来呈现引文?

使用模板:通过 Zotero Citations 将 markdown 转换为 PDF - 如何使用 citekey(或类似软件)来呈现引文?

我能找到的所有关于引用和 LaTeX 的帖子都是关于直接在 LaTeX 中引用的。我正在使用模板通过 LaTeX(和 Pandoc)将 Obsidian markdown 文件转换为 PDF。

有没有办法可以使用\cite{@citekey}Zotero 让 LaTeX 自动处理引用?

这样我就可以在 Obsidian 中编写文本,"quote bla bla"^[@Smith2022, 15]然后它会通过 LaTeX 和 Libary.bib 文件呈现为类似内容"quote bla bla"^[Smith 2022, 15](此处“^[]”是脚注)。

理想情况下,这还会在参考书目部分以芝加哥作者-日期格式创建完整注释。类似于 Microsoft Word 插件根据所用引文创建参考书目。

编辑:我的测试 .latex 文件:

\begin{filecontents}{foo.bib}
@article{foo, 
    author={dingle}, 
    tile={Foo is funny}, 
    year={2022}, 
}
@article{anotherkey,
  author = {Writer, A.},
  year = {2011},
  title = {Headline},
  publisher = {Publication},
}
\end{filecontents}



\documentclass{article}

% Load BibLaTeX and set the style to Author-Year
\usepackage[style=authoryear]{biblatex}

% Tell BibLaTeX to use the file `example.bib` for the bibliography database
\addbibresource{foo.bib}    

\begin{document}

    Cite a reference \cite[]{foo}

    Force a citation to be made via footnote \footcite{anotherkey}

    \printbibliography

\end{document}

foo.bib与我的 .latex 文件位于同一文件夹中,当前包括:

@article{foo, 
    author={foo}, 
    tile={Foo is funny}, 
    year={2022}, 
}
@article{anotherkey,
  author = {Writer, A.},
  year = {2011},
  title = {Headline},
  publisher = {Publication},
}

@ARTICLE{Gill,
   author    = "A. E. Gill",
   title     = "Some Simple Solutions for Heat-Induced Tropical Circulation",
   journal   = "Quart. J. R. Met. Soc.",
   volume    = 106,
   year      = 1980,
   pages     = "447-462",
}

答案1

我不明白你对此有什么问题,但我希望一个最小的例子可以解决任何问题。例如,你有这个foo.md文件:

foo @foo and [@foo]

默认情况下,pandoc 不知道您引用了任何内容,因此从 markdown 到 LaTeX 的转换只会产生纯文本:

foo @foo and {[}@foo{]} 

但是如果你告知 pandoc 你正在使用 bibtex 书目(Zotero 可以做到这一点)--bibliography foo.bib,那么foo.bib

@article{foo, 
    author={foo}, 
    tile={Foo is funny}, 
    year={2022}, 
}

那么结果是

foo foo (2022) and (foo 2022)

\hypertarget{references}{%
\section*{References}\label{references}}
\addcontentsline{toc}{section}{References}

\hypertarget{refs}{}
\begin{cslreferences}
\leavevmode\hypertarget{ref-foo}{}%
foo. 2022. ``Foo is funny.''
\end{cslreferences}

因此参考部分已经包含在内。现在,您只需使用选项-s(standalone) 再次转换它即可获得可编译文件,而不仅仅是此处显示的块,即:

pandoc -s  -f markdown -t latex foo.md  --bibliography foo.bib -o foo.tex

...或者直接获取 pdf:

pandoc -s  -f markdown -t pdf  foo.md  --bibliography foo.bib -o foo.pdf

--biblatex如果您想要由 LaTeX 而不是 pandoc 生成的参考文献,那么您可以添加生成该 LaTeX 文本的选项:

foo \textcite{foo} and \autocite{foo}

或者--natbib结果是:

foo \citet{foo} and \citep{foo}

当然,还要添加-s-bibliography foo.bib以制作完整的乳胶文件。

请注意,这里不包含参考文献,而是使用 bibtex 或 biber 生成参考文献的 LaTeX 代码(每种情况也不同),因此您无法使用 natbib 或 biblatex 选项直接从 pandoc 获取 PDF 版本。如果您不清楚如何使用 LaTeX 编译这些版本,看这里

例如,使用 natbib 的结果应该是:

foo foo [2022] 和 [foo, 2022]

参考

foo。Foo 很有趣。2022。

但比直接弄乱 pandoc 的选项更好的是,添加一个 YAML 标头并使用一个功能强大的解释器。例如,quarto render foo.qmd在提示系统中,foo.qmd文件为:

---
format:
  pdf:
    biblio-style: apa
    cite-method: biblatex
bibliography: foo.bib
---

foo @foo and  [@foo] 

结果是这样的foo.pdf

姆韦

您还可以通过单击从 VScode 和 Rstudio 渲染四开文件。

答案2

我设法搞清楚了!问题出在我的编辑器上。Gummi 和 TexStudio 似乎都默认使用 BibTeX 作为参考书目的后端。我无法弄清楚 Gummi 的问题,但对于 TeXstudio,我可以选择 Biber 来执行此操作,现在它可以正常工作了 :)

相关内容