重新定义 \footnote 以更改 Latex 中索引的颜色
Redefine \footnote to change color of index in Latex
对于我的工作,我将允许随意更改脚注索引的颜色。
我找到了改变颜色的方法,但是不灵活。
\RequirePackage{xcolor}
\definecolor{red}{RGB}{165,30,55}
\renewcommand{\thefootnote}{\textcolor{red}{\arabic{footnote}}}
\begin{document}
a footnote\footnote{lalala}
\end{document}
这行得通。但这不是:
\renewcommand{\thefootnote}[1]{\textcolor{#1}{\arabic{footnote}}}
\begin{document}
a footnote\footnote[red]{lalala}
\end{document}
我想是因为\footnote
已经有一个索引号的可选参数。
有办法改变吗?
使用新命令,可以执行如下操作:
\documentclass{article}
\RequirePackage{xcolor}
\newcommand{\cfootnote}[2][black]{%
{\color{#1}\footnote{#2}}%
}
\begin{document}
a footnote\cfootnote{lalala}
a footnote\cfootnote[red]{lalala}
\end{document}
另一种重新定义脚注的方法:
\documentclass{scrartcl}
\usepackage{scrletter}
\usepackage{xcolor}
\let\oldfootnote\footnote
\usepackage{xparse}
\usepackage{etoolbox}
\RenewDocumentCommand{\footnote}{ O{} m O{black}}{%
\deffootnotemark{\color{#3}\textsuperscript{\thefootnotemark}}%
\ifstrempty{#1}{%
\oldfootnote{#2}%
}{%
\oldfootnote[#1]{#2}%
}
}
\begin{document}
test\footnote{text}[red]
test\footnote{text}
test\footnote[42]{text}
test\footnote[42]{text}[blue]
\end{document}
对于我的工作,我将允许随意更改脚注索引的颜色。
我找到了改变颜色的方法,但是不灵活。
\RequirePackage{xcolor}
\definecolor{red}{RGB}{165,30,55}
\renewcommand{\thefootnote}{\textcolor{red}{\arabic{footnote}}}
\begin{document}
a footnote\footnote{lalala}
\end{document}
这行得通。但这不是:
\renewcommand{\thefootnote}[1]{\textcolor{#1}{\arabic{footnote}}}
\begin{document}
a footnote\footnote[red]{lalala}
\end{document}
我想是因为\footnote
已经有一个索引号的可选参数。
有办法改变吗?
使用新命令,可以执行如下操作:
\documentclass{article}
\RequirePackage{xcolor}
\newcommand{\cfootnote}[2][black]{%
{\color{#1}\footnote{#2}}%
}
\begin{document}
a footnote\cfootnote{lalala}
a footnote\cfootnote[red]{lalala}
\end{document}
另一种重新定义脚注的方法:
\documentclass{scrartcl}
\usepackage{scrletter}
\usepackage{xcolor}
\let\oldfootnote\footnote
\usepackage{xparse}
\usepackage{etoolbox}
\RenewDocumentCommand{\footnote}{ O{} m O{black}}{%
\deffootnotemark{\color{#3}\textsuperscript{\thefootnotemark}}%
\ifstrempty{#1}{%
\oldfootnote{#2}%
}{%
\oldfootnote[#1]{#2}%
}
}
\begin{document}
test\footnote{text}[red]
test\footnote{text}
test\footnote[42]{text}
test\footnote[42]{text}[blue]
\end{document}