Почему параметр «fill» перед параметром «color» в параметрах узла TikZ делает весь узел заполненным цветом, заданным параметром «color»?

Почему параметр «fill» перед параметром «color» в параметрах узла TikZ делает весь узел заполненным цветом, заданным параметром «color»?

Вот мой код LaTeX:

\documentclass{article}
\usepackage{tikz}
\begin{document}
\begin{tikzpicture}

\node[circle,color=yellow,fill=red,font=\Huge] at (0, 0) {foo};
\node[circle,fill=red,color=yellow,font=\Huge] at (3, 0) {foo};

\end{tikzpicture}
\end{document}

Вот что получилось:

введите описание изображения здесь

Второй круг должен был показывать желтый текст на красном фоне. Почему полностью желтый?

решение1

Ваш код использует colorключ. Это сокращение (мета-ключ) для большинства цветов, которые вы можете изменить, в частности text, , drawи fill. Вы даже можете опустить color=часть, так как она будет использоваться по умолчанию.

Помимо значения ключа, порядок очень важен, так как pgfkeys (который используется TikZ) обрабатывает ключи по порядку и не сохраняет значения, а это означает, что как только вы укажете ключ снова (или в метаключе, например color), он будет перезаписан.

Отсюда ответ на ваш вопрос: он полностью желтый, потому что вы установили желтый цвет текста и заливки.послеВы указали другой цвет.

Связанный контент