Configurar las opciones globales de tikz directamente versus dentro del estilo 'cada imagen'

Configurar las opciones globales de tikz directamente versus dentro del estilo 'cada imagen'

El manual de TikZ & PGF para la versión 3.0.1a indica en la descripción del /tikz/every pictureestilo en la p. 125:

no debe usarlo \tikzsetpara configurar opciones directamente. Por ejemplo, si desea utilizar un ancho de línea 1ptpredeterminado, no intente decirlo \tikzset{line width=1pt}al principio de su documento. Esto no funcionará ya que el ancho de la línea cambia en muchos lugares. En lugar de eso, diga

\tikzset{cada imagen/.style={ancho de línea=1pt}}

Esto tendrá el efecto deseado.

¿Por qué el hecho de que el ancho de línea cambie en muchos lugares afecta la opción directa, pero no la misma opción dentro de un estilo?

Respuesta1

TikZ configura un argumento predeterminado establecido al comienzo de cadaimagen. Aprovecha el comportamiento TeX deno se elimina nada solo se sobrescribe.

Por lo tanto, al configurar la imagen TikZ, también establece el ancho de línea, el color predeterminado, etc., mientras que hacia el final de la inicialización ejecuta every ...teclas.

Así que muy aproximadamente se convierte en

\tikzset{ line width = 0.3 pt,
          line join = miter, 
          ...,
          every picture, 
          every path,
          every node
          every label
          ...
          }

(Sólo estoy adivinando el orden que no verifiqué en absoluto).

Entonces hay un orden para las every ...claves y si alguna de ellas incluye line widthclave, sobrescribirá las anteriores y eso es lo que se menciona.

Pero si solo se configura una vez, siempre será sobrescrito por muchas otras claves.

información relacionada