Hemos indagando en diferentes foros y de este modo tener para ti la respuesta a tu inquietud, si continúas con alguna inquietud puedes dejarnos la pregunta y te contestamos con gusto, porque estamos para servirte.
Solución:
Resumen
Aquí está la lista de bibliotecas y un breve resumen del propósito de cada una (cualquier código proporcionado es para LaTeX y / o Plain TeX, no para ConTeXt):
- Biblioteca de punta de flecha con
usetikzlibraryarrows.meta
(usetikzlibraryarrows
es obsoleto). Vea los detalles abajo. - Biblioteca de dibujos de Automata, a la que se accede por
usetikzlibraryautomata
, y se utiliza para dibujar “autómatas de estado finito y máquinas de Turing”. Para dibujar estos gráficos se define cada nodo, su nombre y posición relativa, así como los tipos de camino entre cada uno. - Biblioteca de antecedentes, a la que accede
usetikzlibrarybackgrounds
y “define el fondo de las imágenes”. Para usar esto en una imagen de Tikz, se pasa una opción, por ejemplobegintikzpicture[show background rectangle]
, con un estilo de rectángulo de fondo definido antes de la imagen. (p.ejtikzsetbackground rectangle/.style=
- Biblioteca Calc, a la que se accede a través de
usetikzlibrarycalc
para realizar cálculos complejos de coordenadas. Vea los detalles abajo. - Biblioteca de calendarios, a la que se accede a través de
usetikzlibrarycalendar
. Esta biblioteca se usa para mostrar calendarios (supongo que es algo de Ronseal). Usted define un calendario comocalendario[
display options and date options](
Nombre: (Opcional))
. - Biblioteca de cadenas para alinear nodos o cadenas. Vea los detalles abajo.
- Bibliotecas de decoraciones para decorar caminos. Vea los detalles abajo.
- Biblioteca de diagramas de relación de entidades, a la que se accede por
usetikzlibraryer
, como en la biblioteca de dibujos de autómatas, cada nodo está definido, al igual que cada borde entre cada nodo, así como cualquier attributes. Como nota de advertencia, se debe usar subrayado para attributes, pero esto no se usa porque es feo y difícil de implementar. En su lugar, se utilizan cursivas. - Biblioteca de intersecciones, a la que se accede a través de
usetikzlibraryintersections
, para calcular las intersecciones de caminos. Vea los detalles abajo. - Biblioteca de mapas mentales, a la que se accede a través de
usetikzlibrarymindmap
. Vea los detalles abajo. - Biblioteca de matrices, a la que se accede a través de
usetikzlibrarymatrix
. Las matrices se definen de la misma manera que en el modo matemático, sin embargo, a cada elemento de la matriz se le asigna un valor como nodo, comenzando desde 1. Cada nodo puede identificarse y manipularse. Los delimitadores también se pueden seleccionar en las opciones de la matriz y pueden ser “cualquier delimitador que sea aceptable para lasleft
mando”. - Biblioteca de plegado de papel
usetikzlibraryfolding
. Vea los detalles abajo. - Biblioteca de patrones
usetikzlibrarypatterns
. Este paquete “define patrones para áreas de llenado”. En la documentación, se nombra cada patrón y se da un ejemplo. - Biblioteca Petri-Net. Esto se usa para dibujar redes de Petri, como se usa para modelado matemático. Al igual que con otros diagramas de estilo de diagrama de flujo similares, se define cada nodo y borde, así como su estilo y posición. Los tokens también se pueden incrustar dentro de los nodos, tratándolos como hijos y nodos secundarios.
- Plot handler Library, a la que se accede a través de
usetikzlibraryplothandlers
. TikZ carga esta biblioteca automáticamente. Cada punto está definido (como un nodo) para la gráfica y cada punto tiene una curva colocada- Plot Mark Library, a la que se accede a través de
usetikzlibraryplotmarks
se utiliza para definir estilos adicionales para las parcelas como se ha utilizado anteriormente. Cada punto se define comopgfuseplotmark
Descripción de la parcela.
- Plot Mark Library, a la que se accede a través de
- Biblioteca de formas, utilizada para definir formas distintas al rectángulo, círculo y coordenadas. Accedido a través de
usetikzlibraryshapes
ousetikzlibraryshapes.
tipo de forma. Están disponibles los siguientes tipos adicionales: formas geométricas, ya sean formas con nombre (estrella, diamante, etc.) o polígonos de números laterales especificados; formas de símbolos, por ejemplo, “letrero de prohibido” como se usa en los letreros de No Fumar; formas “multiparte”, con “varias partes (texto)”; y finalmente, formas “misceláneas” que “no encajan en las categorías anteriores”, como cruces tachadas. Vea los detalles abajo.
- Biblioteca de serpientes, a la que se accede a través de
usetikzlibrarysnakes
y se pueden describir mejor como líneas curvas y se utilizan entre nodos o como borde de una forma, o como formas independientes. - A la biblioteca Path, a la que se accede a través de
usetikzlibrarytopaths
. Esta biblioteca se utiliza para definir rutas entre dos puntos y se carga automáticamente. Además, puede tomar la forma de líneas curvas entre dos formas o como un bucle de regreso a un nodo. - Biblioteca de árboles, a la que se accede a través de
usetikzlibrarytrees
. Cada punto del árbol se define como un nodo, con hijos, y cada hijo puede tener sus propios hijos. La dirección del árbol también se puede especificar, así como el ángulo en el que emergen los niños, sin embargo, cuando se los deja a su suerte, los resultados son aceptables.
Fuentes: Todo lo que esté entre comillas se ha eliminado del tikzpgfmanual, así como de la muestra de calendario.
Biblioteca de consejos de flechas
Accedido porusetikzlibraryarrows.meta
Descripción:
Proporciona varios nuevos y personalizable puntas de flecha
Ejemplo
documentclass[tikz,border=2mm]standalone
usetikzlibraryarrows.meta
begindocument
begintikzpicture
foreach arrowtipkind[count=i from 0] in
Circle,
Diamond,
Ellipse,
Kite,
Latex,
Rectangle,
Square,
Stealth,
Triangle,
Turned Square,
Arc Barb,
Bracket,
Hooks,
Tee Barb,
Parenthesis,
Implies,
Butt Cap,
Fast Round,
Fast Triangle,
Round Cap,
Triangle Capforeach specs[count=j from 0] in round, open, fill=red, round, fill=blue, length=2.5mm, slant=.5draw[-arrowtipkind[specs], yshift=-1.5*i cm -0.2*j cm] (0,0) -- +(1,0)ifnumj=0 node[above,midway,font=scriptsizettfamily]arrowtipkindfi;;;
%%% Tips with particular options:
% Arc Barb[sep, arc=, length=, line width=, width=, reversed, round, slant=, harpoon, left, right, ]
% Bracket[sep, reversed, round, slant=, left, right, harpoon, reversed, ]
% Hooks[sep, arc=, length=, line width=, width=, reversed, round, slant=, harpoon, left, right, ]
% Tee Barb[sep, inset=, inset'= , line width=, reversed, round, slant=, harpoon, left, right, ] thin thick
% Implies[]
endtikzpicture
enddocument
Referencia
TikZ / PGF 3.1.5b Sección del manual Flechas.
Biblioteca de intersecciones
Accedido por usetikzlibraryintersections
Descripción
Permite el cálculo automatizado de las intersecciones de caminos.
Ejemplo 1
documentclassstandalone
usepackagetikz
usetikzlibraryintersections
begindocument
begintikzpicture
% Draw to path and give a name to them
draw [red, name path=red line] (0,0) -- (4,3);
draw [blue, name path=blue curve] (1,-0.5) to[out=80, in=100] (3,2);
% use the intersections on a path to giv them coordinates
% and draw a line between them
draw [green, name intersections=of=red line and blue curve,
by=first intersect, second intersect]
(first intersect) -- (second intersect);
% one can use the coordinates furtheron
node [above] at (first intersect) A;
node [below] at (second intersect) B;
endtikzpicture
enddocument
Ejemplo 2
documentclassstandalone% or wathever you want
% load packages
usepackagetikz, xcolor
% load libraries
usetikzlibraryintersections,shapes.arrows,calc
% define light and dark gray
definecolorlgraycmyk0,0,0,0.2
definecolordgraycmyk0,0,0,0.7
% make some settings
tikzset%
% style for the intersecting path, which
% are nessesary for the calculation but
% shouldn't be drawn in the final image
ipath/.style=
% draw,% comment this aout after construction
red
,
% style for an arrow used as object
optical arrow/.style=%
fill=dgray,
inner sep=3pt,
shape=single arrow,
minimum width=0.5cm,
minimum height=1.5cm,
outer sep=0pt,
shape border rotate=90,
,
% style for the virtual image
virtual optical arrow/.style=%
fill=lgray,
inner sep=3pt,
shape=single arrow,
minimum width=0.5cm,
minimum height=1.5cm,
outer sep=0pt,
shape border rotate=90,
,
% style for the mirror
mirror/.style=%
line width=2pt,
,
% style for the axis
optical axis/.style=%
thin,
,
% style for light rays
ray/.style=%
thin,
->,
,
% style for imagined rays, which ar not real
% but help by constructin the image
imagined ray/.style=%
ray, dgray, -,
,
% alias
virtual ray/.style=imagined ray,
% style for (focal) points
point/.style=%
fill=black,
radius=0.8pt,
inner sep=1pt,
shape=circle,
minimum size=2pt,
outer sep=2pt
,
% set three layers
pgfdeclarelayerbackground
pgfdeclarelayerforeground
pgfsetlayersbackground,main,foreground
% and define shortcuts to access them
newcommandbglayer[1]%
beginpgfonlayerbackground%
#1%
endpgfonlayer%
newcommandfglayer[1]%
beginpgfonlayerforeground%
#1%
endpgfonlayer%
begindocument
begintikzpicture
% define the bounding box is nessesarx because the ipaths
% make it bigger than needed
path [use as bounding box] (-5.2,-5) rectangle (6.2,5);
% define variables, you may vary them a little
%% radius
defradius5
defradiusII5.05
%% focal distancs = radius/2
deffocal2.5
%% object size
defsize1.cm
%% object width
defowidth1.25
% draw mirror
%% the extra ipath is nessesary to get nicer rays
path [ipath, name path=M] (radius,0) ++(90:radius)
arc (90:270:radius);
fglayer%
draw [mirror] (radiusII-0.05,0) ++(130:radiusII)
arc (130:240:radiusII);
% draw focal point
node (B) at (focal,0) [point] ;
% draw object
node (O) [optical arrow,anchor=tail, minimum height=size] %
at (owidth,0) ;
%% description
node [above right] at (O.tip) object;
% rays
%% draw axis ray
draw [ray] (O.tip) -- (0,0) -- ($(0,0)!3!(owidth,-size)$);
%% draw parallel ray
path [ipath, name path=PS] (O.tip) -- ++(-3,0);
draw [ray, name intersections=of=M and PS, by=M-PS]
(O.tip) -- (M-PS) -- ($(M-PS)!2!(B)$);
%% caculate virtual axis ray
path [ipath, name path=AS-V] ($(0,0)!-4!(owidth,-size)$) -- (0,0);
%% calculate virtual parallel ray
path [ipath, name path=PS-V] ($(M-PS)!-4!(B)$) -- (M-PS);
%% draw virtual axis ray
draw [imagined ray, name intersections=of=AS-V and PS-V, by=Tip-V]
(Tip-V) -- (0,0);
%% draw virtual axis ray
draw [imagined ray] (Tip-V) -- (M-PS);
% draw virtual object
bglayerpath let p1=(Tip-V) in
(Tip-V) node (V) [minimum height=size,
scale=y1/size*0.665,
virtual optical arrow,anchor=tip
] ;
%% description
path (V.west) node [left] virtual image;
% draw optical axis
fglayerdraw [optical axis] (-5,0) --++(11,0);
endtikzpicture
enddocument
Referenciapgfmanual.pdf
, págs. 131 et sec.
Si haces scroll puedes encontrar las críticas de otros creadores, tú aún tienes la habilidad insertar el tuyo si dominas el tema.