随机着色领导者

随机着色领导者

在阅读了一些关于 LaTeX 中随机着色的内容后,我想到在文档中使用随机颜色的前导符。我想出了以下一段代码,它是从实现中偷来的并经过修改\dotfill

\documentclass{article}

\usepackage{tikz}

\makeatletter
\pgfmathsetseed{1}
\def\qfill{
  \leavevmode \cleaders \hb@xt@ 1em{%
    \hss
    \pgfmathparse{rnd}
    \textcolor[hsb]{\pgfmathresult, 1.0, 1.0}{?}
  }\hfill 
  \kern \z@
}
\makeatother

\begin{document}

\qfill What will be the answer?\qfill

\end{document}

但是,似乎对于一次 调用qfill,所有问号都会具有相同的颜色,并且每次调用 都会随机选择一次新颜色qfill,而不是每个?-字符选择一次(如预期的那样)。

我需要做什么改变才能拥有随机颜色的领导者?

答案1

在此处输入图片描述

\documentclass{article}

\usepackage{tikz}

\makeatletter
\pgfmathsetseed{1}
\def\qfill#1{{%
\sbox0{#1}%
\dimen0=1em
\count0=\numexpr\dimexpr(\textwidth-\wd0)/2\relax/\numexpr\dimen0\relax-1\relax
\showthe\count0
\noindent
{\loop
\ifnum\count0>0
\hfil
\hbox to 1em{%
    \hss
    \pgfmathparse{rnd}
    \textcolor[hsb]{\pgfmathresult, 1.0, 1.0}{?}
  }\hfil
\advance\count0 -1
\repeat}%
\box0
{\loop
\ifnum\count0>0
\hfil
\hbox to 1em{%
    \hss
    \pgfmathparse{rnd}
    \textcolor[hsb]{\pgfmathresult, 1.0, 1.0}{?}
  }\hfil
\advance\count0 -1
\repeat}%
\par}}
\makeatother

\begin{document}

\qfill{What will be the answer?}

\end{document}

相关内容