我正在一个文档上运行 latex2rtf,发现我的许多 BiBTex 生成的引用都带有序列=2plus 43minus
,如下所示:
=2plus 43minus 4 {American Bar Association}, \ldblquote Metadata ethics opinions around the {U.S.}\rdblquote 2013. [Online]. Available: http://www.americanbar.org/groups/departments\\s\\do5({\fs16 o})ffices/legal\\s\\do5({\fs16 t})echnology\\s\\do5({\fs16 r})esources/resources/charts\\s\\do5({\fs16 f})yis/metadatachart.html =0pt\par
嗯,这很奇怪。所以我做了一个Google 搜索 =2加 43减并在各种网站上发现了这种文物---甚至已发布的 PDF:
- http://www.roosh.org/mm/wiapp/node13.html
- http://people.scs.carleton.ca/~toda/doc/albany/albany.html
- http://www.carrsq.qut.edu.au/documents/publication_079.pdf
知道这是什么原因造成的吗?
我正在使用\documentclass{article}
和\bibliographystyle{IEEEtran}
。明显的简短示例不会产生问题。
答案1
地方
\newcommand{\BIBentryALTinterwordspacing}{}
\newcommand{\BIBentrySTDinterwordspacing}{}
之前\bibliography{<your bibliography>}
删除不需要的输出。
以下是一个较长的讨论和解决方案背后的动机。考虑一下以下示例:
\documentclass[conference]{IEEEtran}
\usepackage[noadjust]{cite}
\title{This document}
\author{This author}
\begin{document}
\maketitle
\begin{abstract}
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Duis non sapien velit.
\end{abstract}
I have cited this document \cite{Khoe:1994:CML:2288694.2294265}
\bibliographystyle{ieeetran}
\bibliography{references}
\end{document}
和references.bib
:
@article{Khoe:1994:CML:2288694.2294265,
author = {Khoe, G. -D.},
title = {Coherent multicarrier lightwave technology for flexible capacity networks},
journal = {Comm. Mag.},
issue_date = {March 1994},
volume = {32},
number = {3},
month = mar,
year = {1994},
issn = {0163-6804},
pages = {22--33},
numpages = {12},
url = {http://dx.doi.org/10.1109/35.267438},
doi = {10.1109/35.267438},
acmid = {2294265},
publisher = {IEEE Press},
address = {Piscataway, NJ, USA},
}
这是.bbl
经过 BibTeX 处理之后的结果:
% Generated by IEEEtran.bst, version: 1.13 (2008/09/30)
\begin{thebibliography}{1}
\providecommand{\url}[1]{#1}
\csname url@samestyle\endcsname
\providecommand{\newblock}{\relax}
\providecommand{\bibinfo}[2]{#2}
\providecommand{\BIBentrySTDinterwordspacing}{\spaceskip=0pt\relax}
\providecommand{\BIBentryALTinterwordstretchfactor}{4}
\providecommand{\BIBentryALTinterwordspacing}{\spaceskip=\fontdimen2\font plus
\BIBentryALTinterwordstretchfactor\fontdimen3\font minus
\fontdimen4\font\relax}
\providecommand{\BIBforeignlanguage}[2]{{%
\expandafter\ifx\csname l@#1\endcsname\relax
\typeout{** WARNING: IEEEtran.bst: No hyphenation pattern has been}%
\typeout{** loaded for the language `#1'. Using the pattern for}%
\typeout{** the default language instead.}%
\else
\language=\csname l@#1\endcsname
\fi
#2}}
\providecommand{\BIBdecl}{\relax}
\BIBdecl
\bibitem{Khoe:1994:CML:2288694.2294265}
\BIBentryALTinterwordspacing
G.~D. Khoe, ``Coherent multicarrier lightwave technology for flexible capacity
networks,'' \emph{Comm. Mag.}, vol.~32, no.~3, pp. 22--33, Mar. 1994.
[Online]. Available: \url{http://dx.doi.org/10.1109/35.267438}
\BIBentrySTDinterwordspacing
\end{thebibliography}
预期输出:
通过 LaTeX2RTF运行结果如下file.tex
:
file.tex:1 Document format <IEEEtran> unknown, using article format
file.tex:1 Package/option 'conference' unknown
file.tex:12 (file.aux)
file.bbl:4 Unknown command '\csname'
file.bbl:4 Unknown command '\endcsname'
file.bbl:25 Unknown command '\spaceskip'
file.bbl:25 Unknown command '\fontdimen'
file.bbl:25 Unknown command '\font'
file.bbl:26 Unknown command '\fontdimen'
file.bbl:26 Unknown command '\font'
file.bbl:27 Unknown command '\fontdimen'
file.bbl:27 Unknown command '\font'
file.bbl:31 Unknown command '\spaceskip'
输出不正确,其中包括奇怪的引用:
考虑到有些命令无法通过 LaTeX2RTF 解释(最明显的是\spaceskip
、\fontdimen
和\font
,它们都出现在\BIBentryALTinterwordspacing
和 中\BIBentrySTDinterwordspacing
),插入定义
\newcommand{\BIBentryALTinterwordspacing}{}
\newcommand{\BIBentrySTDinterwordspacing}{}
在调用之前跳过内部的\bibliography{references}
类似操作,产生输出:\providecommands
.bbl
.rtf
为了彻底纠正.rtf
,您可能必须手动删除其他内容(就像 的情况一样)\csname url@samestyle\endcsname
。
确实,LaTeX2RTF 主页状态:
转换过程存在一些缺点。事实上,不要指望任何 LaTeX 文件都能按您希望的方式转换,不要指望它在转换时没有错误或警告,当它根本无法转换时也不要特别惊讶。众所周知,LaTeX2RTF 有很多错误和许多缺失的功能。矛盾的是,这个数字似乎每天都在增长。然而,我们可以明确地说,在某些特殊情况下,LaTeX2RTF 可以令人满意地将 LaTeX 文件转换为 RTF — 这是一种免责声明,好吗?好的!