Добавить строку в библиографическую запись

Добавить строку в библиографическую запись

Я хочу добавить следующую строку перед booktitleзаписью в некоторых @inproceedings. Я пишу строку в файле .bib как

@String {Conf. = {Proc. {IEEE} Int. Conf.} }

Тогда запись будет

@inproceedings{key,     
 title = {},
 author = {},
 booktitle= Conf. Signal Processing
}

Я хочу получить вывод в виде Proc. IEEE Int. Conf. Signal Processing.

решение1

Вы не можете сделать то, что (я думаю) вы надеетесь сделать. Вы должны конкатенировать @strings только с другими @strings. Но, конечно, вы можете использовать макросы, как и ожидалось. Сравните две записи:

\documentclass{article}
\usepackage{filecontents}
\begin{filecontents*}{\jobname.bib}
@string{ CONF = "Proc. {IEEE} Int. Conf." }
@string{ SIGPROC = " Signal Processing" }

@preamble{ "\providecommand*{\CONF}{Proc. {IEEE} Int. Conf.}" }

@inproceedings{key,
 title = {Title},
 author = {Author},
 booktitle= CONF # SIGPROC,
 year =   2000,
}

@inproceedings{key1,
 title = {Title},
 author = {Author},
 booktitle={\CONF{} Signal Processing},
 year =   2000,
}

\end{filecontents*}

\usepackage{natbib}

\begin{document}

\cite{key}
\cite{key1}
\bibliographystyle{plainnat}
\bibliography{\jobname}

\end{document}

Связанный контент