我使用 LaTeX 撰写论文,并尝试为网页引用设计一种简洁优雅的参考书目格式。我已经搜索和尝试了几个小时,但没有一个能按我想要的方式工作,即使能,也显得太老套了。我简直不敢相信竟然没有简单优雅的方法来做到这一点(这似乎是 Web 2.0 世界中一个相当标准的要求??)。
基本上,我将回忆录类与 plainnat bib 样式一起使用(如果它能满足我的需要,我可以切换到其他样式):
MWE:
\documentclass[twoside,a4paper,10pt]{memoir}
\usepackage{natbib}
\bibliographystyle{plainnat}
\begin{document}
Ref 1: \citep{wiki:test}
\bibliography{library}
\end{document}
围兜:
@misc{ wiki:test,
author = "Wikipedia",
title = "Plagiarism --- {W}ikipedia{,} The Free Encyclopedia",
year = "2004",
url = "\url{http://en.wikipedia.org/w/index.php?title=Plagiarism&oldid=5139350}",
urldate = {2004-05-27}"
}
输出如下:
这看起来不太好。相反,我希望 URL 字段出现在自己的行上。还应该有一个字段,如“访问日期:..”或“访问时间:..”,并在 urldate bib 字段中给出日期,出现在自己的行上。我该如何以一种好的方式做到这一点?
似乎添加此字段的标准方法是添加note = "[Online; accessed 22-July-2004]"
到 bib 字段中,但这是一个丑陋的解决方案。bib 文件不应该关心如何格式化自身!没有更好的解决方案吗?例如,只从 bib 文件中读取另一个字段(例如上面的 urldate)并将其与 url 一起添加到两条单独的行中?像这样(不完全一样,但类似),无需在 bib 文件中对其进行编码:
答案1
嗯,您显示的代码中有几个错误,一些在文件中bib
,一些在 TeX 代码中。
请参阅以下 MWE(包filecontents
仅用于在一个可编译的 MWE 中包含tex
代码和bib
文件):
\RequirePackage{filecontents}
\begin{filecontents*}{\jobname.bib}
@misc{wiki:test,
author = {Wikipedia},
title = {Plagiarism --- {W}ikipedia{,} The Free Encyclopedia},
year = {2004},
url = {http://en.wikipedia.org/w/index.php?title=Plagiarism&oldid=5139350},
urldate = {2004-05-27},
}
\end{filecontents*}
\documentclass[twoside,a4paper,10pt]{memoir}
\usepackage{url} % <=====================================================
\usepackage{natbib}
\bibliographystyle{plainnat}
\begin{document}
Ref 1: \citep{wiki:test}
\bibliography{\jobname} % \jobname to use the bib file created by filecontents!
\end{document}
您会看到,我添加了包(以便在给定的 URL 中url
不获取任何错误消息。&
现在请查看该bib
文件(这里我使用可视化的方式显示了主要的变化%<=============
---这使得该代码不可编译,请使用 MWE 中的代码!):
@misc{wiki:test,
author = {Wikipedia},
title = {Plagiarism --- {W}ikipedia{,} The Free Encyclopedia},
year = {2004},
url = {http://en.wikipedia.org/w/index.php?title=Plagiarism&oldid=5139350}, %<================================================
urldate = {2004-05-27}, %<==============================================
}
我将所有改为"..."
,{...}
但您的urldate
字段有错误(没有启动"
),并且使用包url
您可以\url
在字段中省略命令url
。
有了这些更改和当前的 TeX 发行版(我使用 MiKTeX 2.9),MWE 可以无错误地进行编译。查看我的结果: