Latex 重新定义\更改乳胶中索引颜色的脚注

Latex 重新定义\更改乳胶中索引颜色的脚注,latex,xelatex,Latex,Xelatex,对于我的工作,我将有可能改变颜色的脚注索引选择性 我找到了一种改变颜色的方法,但它不灵活 \RequirePackage{xcolor} \definecolor{red}{RGB}{165,30,55} \renewcommand{\thefootnote}{\textcolor{red}{\arabic{footnote}}} \begin{document} a footnote\footnote{lalala} \end{document} 这很有效。但这并不是: \renewcom

对于我的工作,我将有可能改变颜色的脚注索引选择性

我找到了一种改变颜色的方法,但它不灵活

\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}

您使用哪种documentclass?是否需要“保留”选项来指定数字?可以换个名字吗,比如说
\cfootnote
?实际上我正在为我的老板设计一个新的documentclass a设计师。我想最好是保留它,但无论如何,如果您想用诸如“\cfootnote”之类的新命令来解决我的问题,它将是基于某个标准documentclass的documentclass?如果不知道代码,就很难找到一个通用的解决方案。是的,它基于Scratcl
\LoadClass{Scratcl}
并使用Scretter
\usepackage{Scretter}
亲爱的审阅者,这是一个纯tex问题,与编程无关。我认为最好将其迁移到tex.stackexchange.com