自定义 .bst 样式并重新格式化 \cite 条目

自定义 .bst 样式并重新格式化 \cite 条目

我用 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上标引用包。但是,你说你没有这样做,所以希望它能起作用。

相关内容