我正在将 MS Word 文档转换为 LaTeX 文档。我有 100 多个参考文献,想知道将 MS Word 文档中的所有内联引文转换为 LaTeX 文档的最简单方法。
我已经通过 BibTeX 库生成了引文,如果需要,可以手动单独转换每个引文。有没有办法可以将我所有的 MS Word 内联引文转换为\cite{author,date}
LaTeX 格式,这样当我复制并粘贴到 LaTeX 中时,引文就会被自动识别?您还有其他建议吗?
答案1
Karsten Jahn 的这篇文章可能是我遇到的最好、最简单的解决方案:https://www.k-jahn.de/2012/02/22/exporting-a-word-library-to-latexbibtex/<- 链接失效
转换整个书目只需不到 5 分钟。它可以与最新版本的 MS Word 一起使用。唯一的区别是您应该将文件放在
C:\Users\[username]\AppData\Roaming\Microsoft\Bibliography\Style
并且您必须在第 90 行插入此元素,正如 Markus Hartmeier 在评论中指出的那样 - 否则它不会出现在列表中:
<xsl:template match="b:StyleNameLocalized">
<xsl:text>Bibtex Export</xsl:text>
</xsl:template>
答案2
答案3
我刚刚完成了这个。需要执行两个步骤:
将您的 EndNote 库转换为 BibTeX 格式,这可以在 EndNote 中相对轻松地完成:
- 编辑 BibTeX Export 尾注样式以更改输出模板。我宁愿使用 JabRef 来制作我的引用键以拾取多个 AuthorYear 例外,这样您就可以删除“@article{|Label,|”中的“Label”
- 使用文件->导出将库导出到 .txt 文件,其格式由您的自定义 BibTeX 导出样式提供。
- 将扩展名更改为 .bib 并在 JabRef 中打开(我在创建新库并尝试导入时遇到了一些编码问题)。如果您已更改 citekey 生成格式,请将其更改为默认的 AuthorYear 模板。
- 使用 JabRef 生成引用键。注意几个末尾带有“a”的引用键——这些是您可能需要在文本中编辑的多个 AuthorYear 例外。如果没有,那就太好了。
现在您只需让 Word 文档中的所有引用都匹配即可:
- 编辑 BibTeX 导出尾注样式,将引文模板更改为您想要的文本(即
\parencite{AuthorYear}
BibLaTeX 或\cite{AuthorYear}
natbib 和 BibTeX)。将模糊引文部分更改为“在年份后添加字母”(2000a、2000b)。 - 使用自定义 BibTeX 导出样式在 Word 文档中格式化参考书目。确保您的 AuthorYear 例外引用了正确的论文。
我重新格式化了整篇论文,然后才发现默认的 JabRef citekey 生成器与 AuthorYear 足够接近,可以与 EndNote Style 配合使用。祝你好运!
答案4
我为此创建了一个 python 包: https://pypi.org/project/ref2tex/
它是开源的,欢迎贡献 https://github.com/sahraoui17/ref2tex