【问题标题】:Using external reference list in MediaWiki在 MediaWiki 中使用外部参考列表
【发布时间】:2014-03-27 08:40:47
【问题描述】:

我在自己的 wiki 中广泛使用了 Cite 扩展。我每页有很多参考资料,其中大部分也会在其他页面中使用。

我目前正在做的是在 wiki 页面末尾定义参考列表:

<references>
<ref name="ref1">Ref. 1</ref>
<ref name="ref2">Ref. 2</ref>
<references />

然后,每当我需要引用其中一个时,我都会按以下方式使用它们:

It has been previously shown by Group of Authors 1<ref name="ref1" /> that bla bla bla...

这很好用。但是,定义引用列表非常繁琐,当页面之间的某些引用相同时,需要为 wiki 中的每个页面定义列表是浪费时间。

如果我可以定义参考列表的“主副本”,这将非常有帮助,只需提供参考名称即可从每个 Wiki 页面访问该列表。这与 bibtex 的工作方式非常相似,您有一个 bibliography.bib 文件,您可以使用乳胶中的cite 包,并通过使用\cite{ref1} 并指定主文件的任何文档中包含参考带有\bibliography{bibliography}的位置。

事实上,我更愿意使用一种解决方案,在这种解决方案中,mediawiki 中的引用可以直接从外部 bibtex 文件访问,而不是使用 Cite 扩展。

有什么想法吗?

【问题讨论】:

    标签: mediawiki bibtex mediawiki-extensions


    【解决方案1】:

    即使将参考放在模板中也可以使用,这样您就可以拥有参考的“主列表”。

    如果您希望能够以 BibTex 格式查看所有参考文献,Semantic MediaWiki 提供了一个功能,使用 Semantic Result Formats 扩展名。这也可以让您对您的推荐信进行更高级的处理,尽管诚然开始使用 SMW 的门槛有点高。

    【讨论】:

    • 谢谢,模板的东西似乎工作。如何防止错误消息 Cite error: &lt;ref&gt; tag with name "mulkey_1993" defined in &lt;references&gt; is not used in prior text. 显示在未使用所有引用的页面中?如果你把这个放在你的答案中,我会接受它。我想我会传递 Semantic MediaWiki,正如你提到的那样,它看起来会涉及很多工作。
    • 我已经删除了摆弄Cite_body.php 的错误消息,但我仍然希望有一个不涉及修改源代码的更优雅的解决方案。
    • 据我所知,没有办法禁用错误消息。如果您使用模板将引用放在文本中,我想您可以使用变量扩展来跟踪使用了哪些引用,然后只将这些添加到页脚,但这会很不自然。
    • 好的,所以我会坚持我的肮脏解决方案,感谢您提出模板技巧。如果其他人感兴趣,请在 Cite_body.php 文件中查找 if ( $this-&gt;mInReferences ) { 的第二次出现,然后注释掉除 $this-&gt;mRefs[$group][$key]['text'] = $str; 之外的所有条件。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-01-09
    • 2020-03-14
    • 2017-12-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多