我一直在努力寻找以下问题的解决方案。
如果我想改变乳胶中一个句子中每个字母的颜色,我该怎么办?让我们说我想写#34;圣诞快乐"使用红色和绿色,并在它们之间交替。
我想定义一个命令并使用forloop来改变每个字母的颜色,但我不知道:
如何找到句子中的字母数(不包括空格)以给出forloop的上限?
如何使用forloop中使用的两种颜色定义字符串?
到目前为止,我的愚蠢"解决方案"是手动完成,如:
\documentclass[a4paper,12pt]{article}
\usepackage[utf8x]{inputenc}
\usepackage{xcolor}
\begin{document}
\textcolor{red}{M}\textcolor{green}{e}\textcolor{red}{r}
\textcolor{green}{r}\textcolor{red}{y}\textcolor{green}{C}
\textcolor{red}{h}\textcolor{green}{r}\textcolor{red}{i}
\textcolor{green}{s}\textcolor{red}{t}\textcolor{green}{m}
\textcolor{red}{a}\textcolor{green}{s}\textcolor{red}{!}
\end{document}
从我看到的我可以定义一个环境并使用循环在颜色之间交替,我没有一个敏感的解决方案,但它会是这样的:
\newenvironment{redgreen}{
\forloop{WORDNUMBER}{1}{\VALUE{WORDNUMBER} < \LENGHT{WORDNUMBER}}{
\textcolor{red}{WORDNUMBER}
\textcolor{green}{WORDNUMBER + 1}
WORDNUMBER = WORDNUMBER + 2
}
}
我知道的大写字母部分不会起作用,我只是想举例说明我愿意做的事情。我想找到一种方法来获取句子中我将放入redgreen块内的字母数量,并以某种方式使用forloop来更改句子中每个字母的颜色,在红色和绿色之间交替。我不确定forloop如何在乳胶中起作用,所以上面例子中的所有内容都可能是垃圾。