如果日记条目中的字符串单词之间有空格,如何自动将日记的全名解释为缩写?

如果日记条目中的字符串单词之间有空格,如何自动将日记的全名解释为缩写?

我试过这个, https://tex.stackexchange.com/a/111725/44227,它只适用于没有空格处例如,日记条目中的单词之间


梅威瑟:

Case 1: without blank space in Journal entry

\begin{filecontents*}{test.bib}
 @article{ugrinovskii13,
 doi = {10.1109/tac.2013.2256675},
 author={Valery Ugrinovskii},
 volume = {58},
 number = {10},
 pages = {2659-2664},
 title = {Conditions for Detectability in Distributed Consensus-Based Observer   Networks},
 journal =TAC
     }
 \end{filecontents*}

\begin{filecontents*}{abbr.bib}
@STRING{TAC   = "IEEE trans. Automat. Contr."}
\end{filecontents*}

\documentclass{article}
\usepackage{cite}
\usepackage{url}

\begin{document}
\cite{ugrinovskii13}

\bibliographystyle{IEEEtran}
\bibliography{abbr,test}
\end{document}

输出

在此处输入图片描述

Case 2: with blank space in Journal entry

\begin{filecontents*}{test.bib}
 @article{ugrinovskii13,
 doi = {10.1109/tac.2013.2256675},
 author={Valery Ugrinovskii},
 volume = {58},
 number = {10},
 pages = {2659-2664},
 title = {Conditions for Detectability in Distributed Consensus-Based Observer   Networks},
 journal = IEEE Transactions on Automatic Control
}
 \end{filecontents*}

\begin{filecontents*}{abbr.bib}
@STRING{IEEE Transactions on Automatic Control  = "IEEE trans. Automat. Contr."}
\end{filecontents*}

\documentclass{article}
\usepackage{cite}
\usepackage{url}

\begin{document}
\cite{ugrinovskii13}

\bibliographystyle{IEEEtran}
\bibliography{abbr,test}
\end{document}

输出

在此处输入图片描述

两案的区别在于journal@STRING

我的问题是,如何Case 2在不使用Case 1解决方案的情况下解决问题,也就是说,我想保留日记帐分录Case 2

答案1

当你使用案例 2 进行 BibTeX 时,你会得到

Database file #1: abbr.bib
I was expecting an "="---line 1 of file abbr.bib
 : @string{ieee 
 :              Transactions on Automatic Control  = "IEEE trans. Automat. Contr."}
I'm skipping whatever remains of this command

这是什么意思?字符串缩写不能包含空格。

死路一条。你不能字符串缩写中包含空格,因为 BibTeX 语言不允许这样做。


为什么错误信息会显示ieee?因为 BibTeX 将字符串缩写规范化为小写;TAC tac TaC在第一个示例中您是否输入并不重要:它们都指的是同一个字符串。


你能做什么呢?使用两个字符串文件:

文件abbrv.bib

@STRING{ IEEETAC = "IEEE Trans. Automat. Contr."}

文件full.bib

@STRING{ IEEETAC = "IEEE Transactions on Automatic Control"}

然后你可以将你的物品以以下形式

@article{ugrinovskii13,
  doi = {10.1109/tac.2013.2256675},
  author={Valery Ugrinovskii},
  volume = {58},
  number = {10},
  pages = {2659-2664},
  title = {Conditions for Detectability in Distributed Consensus-Based Observer   Networks},
  journal = IEEETAC
}

并加载

\bibliography{abbr,test}

当你需要缩写名称或

\bibliography{full,test}

当你想要全名时。

相关内容