我用 makebst 创建了一个自定义.bst
文件。我通过手动编辑 .bst 文件成功重新格式化了 thebibliography-environment 条目。这不是一项艰巨的任务。
但是,现在我想重新格式化\cite[]{}
实际文本中的条目的外观。
我正在使用csquotes
包并设法通过以下方式更改\textquote
条目的外观:
\renewcommand{\mkcitation}[1]{~\rm \small #1}
\textquote[{\cite[1]{Foobar01}}]{Blah Blah.}
但是当我使用普通引用时:
Blah blah.\cite[1]{Foobar01}
我在文件中找不到.bst
定义这些内容的格式的部分。此外,我在 csquotes 包中找不到可以更改所有引用格式的参数,因为它\cite
不是 csquote 命令。
我可以通过使用 anywhere 来解决这个问题\textquote
,但我觉得这在语义上是不正确的。毕竟,引用不是引文。
\cite
因此,如果有人能告诉我如何重新格式化条目的外观,即使在没有使用csquotes
或其他包的文档中,也只是自定义.bst
样式,我将不胜感激。
编辑:
我没有使用cite
任何natbib
包。
我的\cite
条目格式为 [Foo01] 或 [Foo01, 15-39],PDF 中有页码。我只想更改它们的格式,而不是内容。我希望所有内容都\cite
以特定的字体大小显示在最终的 PDF 中(例如,大小\tiny
和颜色为红色)。
我csquotes
可以将\renewcommand{\mkcitation}[1]{~\rm \small #1}
所有csquotes
引用改为小罗马字体。
\cite
以类似的方式格式化所有正常的方式是什么?
如果这还不够,我不确定我是否明白您需要什么样的附加信息。
答案1
更改文档部分格式的一种方法是保存原始宏,然后创建新定义。在这种情况下,您可以尝试
\let\OrgiCite\cite
\renewcommand*\cite[2][]{%
{%
\tiny
\color{red}%
\OrigCite[#1]{#2}%
}%
}
在这里,我获取了宏的两个参数\cite
,然后设置了文本格式,然后使用“real”\cite
进行实际引用。我要指出的是,如果您切换到类似cite
上标引用包。但是,你说你没有这样做,所以希望它能起作用。