有没有简单的方法来计算标题中的符号数量?
我计划将每个偶数的颜色和大小更改为红色 16pt,将每个奇数的颜色和大小更改为蓝色 10pt。
就像这个在 word 中制作的:
或者也许有其他方法可以做到?
正如我现在所看到的,我需要使用某种 for 循环来解决我的问题,但我不知道如何使用“word”作为符号数组来完成它。对于循环,我需要一些条件来测试循环是否应该终止。在面向对象编程中,这将是类似
for (i <= word.length) do
alternate color and size
但我不知道在 TeX 中是否有办法获得类似的东西word.length
。
答案1
就在这里。请不要将其用于广告以外的目的(并且在使用前请至少三思)。
\documentclass{article}
\usepackage{lmodern}
\usepackage{color}
\makeatletter
\newcommand\weird[1]{%
\@tempswatrue
\@tfor\next:=#1\do{%
\if@tempswa
\@tempswafalse
{\fontsize{16}{0}\selectfont\color{red}\next}%
\else
\@tempswatrue
{\color{blue}\next}%
\fi
}%
}
\makeatother
\begin{document}
\weird{INTRODUCTION}
\end{document}
答案2
这是我的解决方案:
\documentclass[12pt,a4paper]{article}
\usepackage[T2A,T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[english,russian,swedish,french]{babel}
\usepackage{fix-cm}
\usepackage{xstring}
\usepackage{ifthen}
\usepackage{xcolor}
\usepackage{pgfkeys}
\newcommand{\setvalue}[1]{\pgfkeys{/variables, #1}}
\newcommand{\getvalue}[1]{\pgfkeysvalueof{/variables/#1}}
\newcommand{\declare}[1]{%
\pgfkeys{
/variables/#1.is family,
/variables/#1.unknown/.style = {\pgfkeyscurrentpath/\pgfkeyscurrentname/.initial = ##1}
}%
}
\declare{}
\usepackage{pgffor}
\begin{document}
\setvalue{var = THANKS TO EVERYBODY...}
\StrLen{\getvalue{var}}[\varL]
\foreach \m in {1,...,\varL} {\ifthenelse{\isodd{\m}}
{\fontsize{20pt}{0}\selectfont\textcolor{red}{\StrChar{\getvalue{var}}{\m}}} {\fontsize{16pt}{0}\selectfont\textcolor{blue}{\StrChar{\getvalue{var}}{\m}}}}
\end{document}