如何更改LaTeX中句子中每个字母的颜色?

时间:2015-02-25 13:06:40

标签: colors latex letters

我一直在努力寻找以下问题的解决方案。

如果我想改变乳胶中一个句子中每个字母的颜色,我该怎么办?让我们说我想写#34;圣诞快乐"使用红色和绿色,并在它们之间交替。

我想定义一个命令并使用forloop来改变每个字母的颜色,但我不知道:

  1. 如何找到句子中的字母数(不包括空格)以给出forloop的上限?

  2. 如何使用forloop中使用的两种颜色定义字符串?

  3. 到目前为止,我的愚蠢"解决方案"是手动完成,如:

    \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如何在乳胶中起作用,所以上面例子中的所有内容都可能是垃圾。

0 个答案:

没有答案