如何解析参考书目中的

如何解析参考书目中的

我使用 Mendeley 生成.bib文件,结果生成了 标题中带有<sub>和标签的文章。<sup>

@article{Testtest2016,
author = {Testtest},
title = {{Why O{\textless}sub{\textgreater}2{\textless}/sub{\textgreater} and O{\textless}sup{\textgreater}2-{\textless}/sup{\textgreater}?}},
year = {2016}
}

目前它们被编入参考书目中,而[2] Testtest. Why O<sub>2</sub> and O<sup>2-</sup>? 2016.我想要的是 O 2和 O 2-

$_{...}$我可以让 LaTeX 用和替换标签$^{...}$吗?如果不行,我会找到其他方法(例如bib.bib即时编辑),但我更希望 LaTeX 自动执行此操作。我不想在 Mendeley 中更改标题,因为标题来自 DOI 搜索。

如果这个问题已经解决了,我很抱歉,但我找不到任何答案。

答案1

你应该编辑这些条目并告诉 Mendeley 的维护者停止输出这样的垃圾。

这里有一个解决方法,假设您不需要\textless任何其他地方,并且标签只是<sup>...</sup><sub>...</sub>,没有嵌套。

\begin{filecontents*}{\jobname.bib}
@article{Testtest2016,
author = {Testtest},
title = {{Why O{\textless}sub{\textgreater}2{\textless}/sub{\textgreater} and O{\textless}sup{\textgreater}2-{\textless}/sup{\textgreater}?}},
year = {2016}
}
\end{filecontents*}

\documentclass{article}

\makeatletter
% get rid of the closing braces
\def\textless{\afterassignment\textless@\let\next= }
% get the tag type
\def\textless@#1#{\@nameuse{textless@#1}}
% code for <sub>
\def\textless@sub#1#2/sub#3{%
  \ensuremath{_{\let\textless\relax#2}}%
  \egroup % matches the first brace
}
% code for <sub>
\def\textless@sup#1#2/sup#3{%
  \ensuremath{^{\let\textless\relax#2}}%
  \egroup % matches the first brace
}
\makeatother

\begin{document}

\cite{Testtest2016}

\bibliographystyle{plain}
\bibliography{\jobname}

\end{document}

在此处输入图片描述

相关内容