我需要所有引用都在teal
和中boldface
。我可以做类似的事情
\textbf{\textcolor{teal}{\cite{something}}}
,但有什么更好的方法吗?
编辑:为简单起见,只需考虑这个 MWE:
\documentclass{beamer}
\begin{document}
\begin{frame}
This is \textbf{\textcolor{teal}{\cite{NAME}}}
\end{frame}
\begin{thebibliography}{5}
\bibitem[Something]{NAME} ABC \newblock XYZ
\end{thebibliography}
\end{document}
答案1
实际上有几种方法可以实现您的目标。
最简单且可能最“便携”(和通用)的解决方案是定义
\newcommand{\tealcite}[1]{\textbf{\textcolor{teal}{\cite{#1}}}}
如果您使用biblatex
,您可以使用其功能更干净地定义新命令。
\DeclareCiteCommand{\ctealcite}[\bfseries\color{teal}]
{\usebibmacro{prenote}}
{\usebibmacro{citeindex}%
\usebibmacro{cite}}
{\multicitedelim}
{\usebibmacro{postnote}}
如果你坚持\cite
\DeclareCiteCommand{\cite}[\bfseries\color{teal}]
{\usebibmacro{prenote}}
{\usebibmacro{citeindex}%
\usebibmacro{cite}}
{\multicitedelim}
{\usebibmacro{postnote}}
可能适合你。
警告:某些biblatex
样式对其引用命令的定义不同:这适用于authoryear
和authortitle
。
对于数字样式来说,这更合适
\DeclareCiteCommand{\cite}[\bfseries\color{teal}\mkbibbrackets]
{\usebibmacro{prenote}}
{\usebibmacro{citeindex}%
\usebibmacro{cite}}
{\multicitedelim}
{\usebibmacro{postnote}}
数学家
\documentclass{article}
\usepackage{lmodern}
\usepackage{xcolor}
\usepackage[style=authoryear,backend=biber]{biblatex}
\addbibresource{biblatex-examples.bib}
\DeclareCiteCommand{\ctealcite}[\bfseries\textcolor{teal}]
{\usebibmacro{prenote}}
{\usebibmacro{citeindex}%
\usebibmacro{cite}}
{\multicitedelim}
{\usebibmacro{postnote}}
\newcommand{\tealcite}[1]{\textbf{\textcolor{teal}{\cite{#1}}}}
\begin{document}
Test
\textbf{\textcolor{teal}{\cite{wilde}}}
\tealcite{wilde}
\ctealcite{wilde} Hallo
\printbibliography[heading=none]
\end{document}