flushright
为什么、center
或环境中的文本不是flushleft
红色的?
\documentclass[tikz,preview=true]{standalone}
\begin{document}
\begin{tikzpicture}%
\node at (1,1) [text width=3cm, color=red] {%
This is red
\begin{flushright}
With flushright this is not!
\end{flushright}
\begin{center}
The same with center\dots
\end{center}
\begin{flushleft}
\dots or flushleft!
\end{flushleft}};
\end{tikzpicture}
\end{document}
答案1
不幸的是该网站将显示很多tikz 颜色问题。基本上,问题在于它不使用驱动程序或引擎特定的颜色支持,它只是推入后端颜色。发现问题比发现如何修复要容易得多(tikz 不是 ctan 上最小的软件包)。
在这种情况下,您生成
...............\pdfliteral{1 0 0 RG }
...............\pdfliteral{1 0 0 rg }
...............\OT1/cmr/m/n/10 T
...............\OT1/cmr/m/n/10 h
...............\OT1/cmr/m/n/10 i
...............\OT1/cmr/m/n/10 s
...............\glue(\spaceskip) 3.33298
...............\OT1/cmr/m/n/10 i
...............\OT1/cmr/m/n/10 s
...............\glue(\spaceskip) 3.33298
...............\OT1/cmr/m/n/10 r
...............\OT1/cmr/m/n/10 e
...............\OT1/cmr/m/n/10 d
...............\penalty 10000
...............\glue(\parfillskip) 0.0 plus 1.0fil
...............\glue(\rightskip) 0.0 plus 20.00003
..............\penalty -51
..............\glue 8.0 plus 2.0 minus 4.0
..............\glue(\parskip) 0.0
..............\glue(\baselineskip) 5.05556
..............\hbox(6.94444+0.0)x85.35826, glue set 49.19188fil
...............\glue(\leftskip) 0.0 plus 1.0fil
...............\hbox(0.0+0.0)x0.0
................\glue 0.0
................\glue 0.0
................\glue -5.0
................\hbox(0.0+0.0)x0.0
.................\pdfcolorstack 0 push {0 g 0 G}
.................\pdfcolorstack 0 pop
................\glue 5.0
...............\penalty 0
...............\OT1/cmr/m/n/10 T
...............\OT1/cmr/m/n/10 h
...............\OT1/cmr/m/n/10 i
...............\OT1/cmr/m/n/10 s
...............\glue(\spaceskip) 3.33298
...............\OT1/cmr/m/n/10 n
...............\OT1/cmr/m/n/10 o
...............\OT1/cmr/m/n/10 !
您可以看到物品处理使用了一个空盒子并推送和弹出了颜色状态。
.................\pdfcolorstack 0 push {0 g 0 G}
.................\pdfcolorstack 0 pop
这样应该会把颜色恢复到原来的状态,但实际上它把颜色恢复到了最后推入颜色堆栈的颜色 但是 Tikz 从来没有推过红色,它确实推了
...............\pdfliteral{1 0 0 RG }
...............\pdfliteral{1 0 0 rg }
因此 pdftex 根本“不知道”那是红色的,它只是写入输出文件的文字 pdf 字符串,因此当 pdftex 从它\pdfcolorstack 0 pop
生成的pdf 中生成时黑色的.....