总体概述
我有我正在处理的文档本身的 BibTeX 条目,我将这个定义放在一个变量中,以便能够在任何我想用的地方使用它。目标是在文档上打印这个条目(以便让读者能够在他们自己的 BibTeX 作品中引用这个文档)。
问题
但是,由于 BibTeX 包含括号,当我调用该函数时,括号被解释为 LaTeX 语法,因此它们消失。
平均能量损失
\documentclass[a4paper,12pt]{article}
\usepackage{xstring}
\title{foo}
\author{baz}
\date{Bar}
\makeatletter
\newcommand\bibtexselfentry{
@book{thisDocumentItself,
title = {\@title},
author = {\@author},
publisher = {Éditeur},
year = {\@date}
}
}
\makeatother
\newcommand\bibtexselfentryVisible{%
\StrSubstitute{\bibtexselfentry}{\{}{\textbraceleft}[\temp]%
\StrSubstitute{\temp}{\}}{\textbraceright}%
\temp
}
\begin{document}
Cite this work with the following Bib\TeX{} definition:
\texttt{\bibtexselfentry}
\end{document}
输出渲染
如您所见,括号完全消失了。
我想象的解决方案
正如您在我的 MWE 中看到的,我添加了一个\bibtexselfentryVisible
命令来用可见括号替换语法括号,但它对最终行为几乎没有影响。
问题
\bibtexselfentry
当我需要时如何使括号可见?它不应该总是可见,因为有时它\bibtexselfentry
可以像真正的 BibTeX 命令一样运行。