Обзор ❧ Библиотека перекрестков ❧ Библиотека советов по стрелкам ❧ Библиотеки декоров ❧ Библиотека расчетов ❧ Библиотека Mindmap ❧ Библиотека фигур ❧ Библиотека для складывания бумаги ❧ Библиотека цепочек ❧ Библиотека фигур ❧ Вклад в TikZ
Очень часто я ищу специальную библиотеку ТикЗ. На данный момент не существует пакета, который загружал бы все библиотеки.
*Есть ли список всех доступных библиотек с кратким введением (2-3 предложения)?
Возможно, мы можем собрать их здесь
Вот список библиотек и краткое описание назначения каждой из них (любой приведенный код предназначен для LaTeX и/или Plain TeX, а не для ConTeXt):
\usetikzlibrary{arrows.meta}
(\usetikzlibrary{arrows}
устарела). См. подробности ниже..\usetikzlibrary{automata}
, используется для рисования "конечных автоматов состояния и машин Тьюринга". Для рисования этих графов определяется каждый узел, его имя и относительное положение, а также типы путей между каждым из них.\usetikzlibrary{backgrounds}
, и "определяет фон для картинок". Чтобы использовать ее в Tikzpicture, передается опция, например, \begin{tikzpicture}[show background rectangle]
, при этом стиль фонового прямоугольника определяется перед картинкой. (например, \tikzset{background rectangle/.style={<define background rectangle style here>}}
)\usetikzlibrary{calc}
для выполнения сложных вычислений координат. См. подробности ниже.\usetikzlibrary{calendar}
. Эта библиотека используется для отображения календарей (я полагаю, это фишка Ronseal). Вы определяете календарь как \calendar[
display options and date options](
Name (optional))
).\usetikzlibrary{er}
, как и в библиотеке рисования автоматов, определяется каждый узел, каждое ребро между узлами, а также любые атрибуты. В качестве предупреждения, для атрибутов должно использоваться подчеркивание, но оно не используется, так как это некрасиво и трудно реализуемо. Вместо этого используется курсив.\usetikzlibrary{intersections}
, для вычисления пересечений путей. Подробности см. ниже.\usetikzlibrary{mindmap}
. Подробности см. ниже.\usetikzlibrary{matrix}
. Матрицы определяются так же, как и в режиме математики, однако каждому элементу матрицы присваивается значение в виде узла, начиная с 1. Каждый узел можно идентифицировать и манипулировать им. Разделители также могут быть выбраны в опциях матрицы и могут быть "любыми разделителями, которые приемлемы для команды TeX \left
".\usetikzlibrary{folding}
. Подробности см. ниже.\usetikzlibrary{patterns}
. Этот пакет "определяет шаблоны для заполнения областей". В документации каждый паттерн назван и приведен пример.\usetikzlibrary{plothandlers}
. TikZ загружает эту библиотеку автоматически. Каждая точка определяется (как узел) для графика, и для каждой точки размещается кривая.\usetikzlibrary{plotmarks}
, используется для определения дополнительных стилей для графиков, используемых выше. Каждая точка определяется как \pgfuseplotmark{
Описание участка}
.\usetikzlibrary{shapes}
или \usetikzlibrary{shapes.
shape type}
. Доступны следующие дополнительные типы: геометрические фигуры, либо именованные фигуры (звезда, алмаз и т.д.), либо многоугольники с заданным количеством сторон; фигуры-символы, например, "запрещающий знак", используемый в знаках No Smoking; "многочастные" фигуры, имеющие "несколько (текстовых) частей"; и, наконец, "миск" фигуры, которые "не подходят под предыдущие категории", например, зачеркнутые кресты. См. подробности ниже..\usetikzlibrary{snakes}
и может быть описана как изогнутые линии, которые используются либо между узлами, либо как граница фигуры, либо как самостоятельные фигуры.\usetikzlibrary{topaths}
. Эта библиотека используется для определения путей между двумя точками и загружается автоматически. Кроме того, он может принимать форму кривых линий между двумя фигурами или в виде петли, возвращающейся к узлу.\usetikzlibrary{trees}
. Каждая точка на дереве определяется как узел, имеющий детей, и каждый ребенок может иметь своих собственных детей. Направление дерева также может быть задано, как и угол, под которым появляются дети, однако, если оставить все на самотек, результаты получаются приемлемыми.
Источники: Все, что указано в инвертированных запятых, взято из tikzpgfmanual, а также из образца календаря.Доступна \usetikzlibrary{стрелки.мета}
Описание: Предоставляет различные новый и настраиваемый советы стрелку
Пример
\documentclass[tikz,border=2mm]{standalone}
\usetikzlibrary{arrows.meta}
\begin{document}
\begin{tikzpicture}
\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 Cap}{\foreach \specs[count=\j from 0] in {round, open, fill=red, {round, fill=blue, length=2.5mm, slant=.5}}{\draw[-{\arrowtipkind[\specs]}, yshift=-1.5*\i cm -0.2*\j cm] (0,0) -- +(1,0)\ifnum\j=0 node[above,midway,font=\scriptsize\ttfamily]{\arrowtipkind}\fi;};};
%%% Tips with particular options:
% Arc Barb[sep, arc=<angle>, length=<dim>, line width=<dim>, width=<dim>, reversed, round, slant=<num>, harpoon, left, right, <color>]
% Bracket[sep, reversed, round, slant=<num>, left, right, harpoon, reversed, <color>]
% Hooks[sep, arc=<angle>, length=<dim>, line width=<dim>, width=<dim>, reversed, round, slant=<num>, harpoon, left, right, <color>]
% Tee Barb[sep, inset=<dim>, inset'=<dim> <num>, line width=<dim>, reversed, round, slant=<num>, harpoon, left, right, <color>] thin thick
% Implies[<color>]
\end{tikzpicture}
\end{document}
ТіКЗ/ПГФ 3.0.1 руководство раздел стрелок.
_Пользовался \usetikzlibrary{intersections}
__.
Описание. Позволяет автоматически рассчитывать пересечения путей.
Пример 1
\documentclass{standalone}
\usepackage{tikz}
\usetikzlibrary{intersections}
\begin{document}
\begin{tikzpicture}
% 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};
\end{tikzpicture}
\end{document}
Пример 2
\documentclass{standalone}% or wathever you want
% load packages
\usepackage{tikz, xcolor}
% load libraries
\usetikzlibrary{intersections,shapes.arrows,calc}
% define light and dark gray
\definecolor{lgray}{cmyk}{0,0,0,0.2}
\definecolor{dgray}{cmyk}{0,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
\pgfdeclarelayer{background}
\pgfdeclarelayer{foreground}
\pgfsetlayers{background,main,foreground}
% and define shortcuts to access them
\newcommand{\bglayer}[1]{%
\begin{pgfonlayer}{background}%
#1%
\end{pgfonlayer}%
}
\newcommand{\fglayer}[1]{%
\begin{pgfonlayer}{foreground}%
#1%
\end{pgfonlayer}%
}
\begin{document}
\begin{tikzpicture}
% 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
\def\radius{5}
\def\radiusII{5.05}
%% focal distancs = \radius/2
\def\focal{2.5}
%% object size
\def\size{1.cm}
%% object width
\def\owidth{1.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
\bglayer{\path let \p{1}=(Tip-V) in
(Tip-V) node (V) [minimum height=\size,
scale={\y{1}/\size*0.665},
virtual optical arrow,anchor=tip
] {};}
%% description
\path (V.west) node [left] {virtual image};
% draw optical axis
\fglayer{\draw [optical axis] (-5,0) --++(11,0);}
\end{tikzpicture}
\end{document}
Ссылка
pgfmanual.pdf
, pp. 131 et sec.
Обращаться на \usetikzlibrary{калькулятор}
Описание Позволяет расширить вычисления координат
Пример
\documentclass{standalone}
\usepackage{tikz}
\usetikzlibrary{calc}
\begin{document}
\begin{tikzpicture}
% make some mathematical calculations
\node (a) at (1,1) {A};
\fill [red] ($(a) + 1/3*(1cm,0)$) circle (2pt);
% draw a segment of a path between two points
\coordinate (b) at (0,0);
\coordinate (c) at (0.5,3);
\fill (b) circle (1pt) (c) circle (1pt);
\draw [blue!50!green, ->] (b) -- ($(b)!1.5!(c)$);
\draw [blue, ->] (b) -- ($(b)!0.5!(c)$);
% draw a parallel line
\draw [green] (2,0) coordinate (d) -- (3,4) coordinate (e);
\draw [green, dashed] (2.5,1) -- ++($(e)-(d)$);
\end{tikzpicture}
\end{document}
Ссылка
pgfmanual.формате PDF
.
Принято \usetikzlibrary{folding}
__
Описание
Содержит всего одну команду, но она полезна для создания настоящих календарей (как на рабочем столе).
Пример
\documentclass{standalone}
\usepackage{tikz, xcolor}
\usetikzlibrary{folding,calendar}
\begin{document}
\sffamily\scriptsize
\begin{tikzpicture}[transform shape]
\tikzstyle{every calendar}=
[
%Formats calendars and sets positions
at={(-8ex,4ex)},
week list,
month label above centered,
month text=\bfseries\textcolor{red}{\%mt} \%y0,
if={(Sunday) [black!50]}
]
\tikzfoldingdodecahedron
[
%Sets size of calendar
folding line length=2.5cm,
%Adds calendar image to each face
face 1={ \calendar [dates=\the\year-01-01 to \the\year-01-last];},
face 2={ \calendar [dates=\the\year-02-01 to \the\year-02-last];},
face 3={ \calendar [dates=\the\year-03-01 to \the\year-03-last];},
face 4={ \calendar [dates=\the\year-04-01 to \the\year-04-last];},
face 5={ \calendar [dates=\the\year-05-01 to \the\year-05-last];},
face 6={ \calendar [dates=\the\year-06-01 to \the\year-06-last];},
face 7={ \calendar [dates=\the\year-07-01 to \the\year-07-last];},
face 8={ \calendar [dates=\the\year-08-01 to \the\year-08-last];},
face 9={ \calendar [dates=\the\year-09-01 to \the\year-09-last];},
face 10={\calendar [dates=\the\year-10-01 to \the\year-10-last];},
face 11={\calendar [dates=\the\year-11-01 to \the\year-11-last];},
face 12={\calendar [dates=\the\year-12-01 to \the\year-12-last];},
];
\end{tikzpicture}
\end{document}
Reference
pgfmanual.pdf
, pp. 202 et sec.
Обращаться на \usetikzlibrary{формы}
Описание Позволяет формы, чтобы быть размещены в рамках схемы
Пример
\documentclass{standalone}
\usepackage{tikz, xcolor}
\usetikzlibrary{shapes,arrows}
\tikzstyle{decision} = [diamond, draw, text width=4.5em,
text badly centered, node distance=2cm,
inner sep=0pt]
\tikzstyle{block} = [rectangle, draw, text width=5em,
text centered, rounded corners,
minimum height=4em, node distance=3cm]
\tikzstyle{line} = [draw, -latex']
\tikzstyle{cloud} = [draw, ellipse, node distance=2.5cm, minimum height=2em]
\tikzstyle{blank} = [node distance=1cm]
\begin{document}
\begin{tikzpicture}[node distance = 3cm, auto]
% Place nodes
\node [cloud] (init) {n};
\node [blank, below of=init] (sup) {};
\node [decision, below of=sup] (square) {$n^2 \le 1$};
\node [cloud, right of=square] (end) {End};
\node [block, left of=square] (newN) {$n = \frac{2}{n}$};
% Draw edges
\path [line] (init) -- (square);
\path [line] (square) -- node [near start] {yes} (end);
\path [line] (square) -- node [near start] {no} (newN);
\path [line] (newN) |- (sup);
\end{tikzpicture}
\end{document}
Ссылка http://www.texample.net/tikz/examples/simple-flow-chart/ Используется в качестве основы, чтобы начать работу, дополнительный стиль (пустой) используется в качестве опоры, например, вопрос, заданный в интервью университета.
Обращаться на \usetikzlibrary{схемы}
Описание
Главный фокус-точка, находится посередине, с суб-точек ответвления. Каждый узел определяется, как и ее дети. Узлы также могут быть отделены друг от друга, и каждый узел может также быть окрашены по-разному и взаимосвязано. Аннотации также доступны.
Пример
\documentclass{standalone}
\usepackage{tikz}
\usetikzlibrary{mindmap,backgrounds}
\begin{document}
\tikzstyle{root concept}+=[concept color=blue!20,minimum size=2cm]
\tikzstyle{level 1 concept}+=[sibling angle=45]
\begin{tikzpicture}[mindmap]
\node [concept] (n1) {Stack Exchange Sites}
child[concept color=red,grow=45] {node[concept] (c1) {Meta}}
child[concept color=orange,grow=0] {node[concept] (c2) {Q \& A}}
child[concept color=green,grow=-45] {node[concept] (c3) {Chat}};
\begin{pgfonlayer}{background}
\draw [concept connection] (c1) edge (c2)
edge (c3)
(c2) edge (c3);
\end{pgfonlayer}
\node [extra concept] at (0,10) (n2) {\TeX {} and \LaTeX {}Stack Exchange}
child[concept color=red,grow=45] {node[concept] (s1) {Meta}}
child[concept color=orange,grow=0] {node[concept] (s2) {Q \& A}}
child[concept color=green,grow=-45] {node[concept] (s3) {Chat}};
\begin{pgfonlayer}{background}
\draw [concept connection] (s1) edge (s2)
edge (s3)
(s2) edge (s3)
(n1) edge (n2);
\end{pgfonlayer}
\end{tikzpicture}
\end{document}
Ссылка
pgfmanual.формате PDF
, стр. 207 Эт сек.
Обращаться на \usetikzlibrary{цепи}
Описание
Цепи-это последовательность узлов, которые расположены в ряд или столбец и, как правило, Соединенных краями. В более общем плане, они могут быть использованы для установки узлов разветвления сети на систематической основе. Для позиционирования узлов в строках и столбцах можно также использовать матрицы (см.
Раздел 17 pgfmanual .в формате PDF
), но цепи также могут быть использованы для описания связей между узлами, которые уже были подключены с помощью, скажем, матрицы. Таким образом, часто имеет смысл использовать матрицы для позиционирования элементов
и цепей для описания подключений.
Пример с цепями
\documentclass{standalone}
\usepackage{tikz}
\usetikzlibrary{shapes,% for the rectangle
chains,% provides the chains
scopes}% allows to replace \begin{scope} \end{scope} with {}
\begin{document}
\begin{tikzpicture}[
nonterminal/.style={
rectangle,
minimum size=6mm,
very thick,
draw=red!50!black!50,
top color=white, % a shading that is white at the top...
bottom color=red!50!black!20, % and something else at the bottom
font=\itshape
},
terminal/.style={
rectangle,minimum size=6mm,rounded corners=3mm,
very thick,draw=black!50,
top color=white,bottom color=black!20,
font=\ttfamily
},
node distance=5mm, every on chain/.style={join}, every join/.style={->}
]
{ [start chain]
\node [on chain,nonterminal] {unsigned integer};
\node [on chain,terminal] {.};
\node [on chain,terminal] {digit};
\node [on chain,terminal] {E};
{ [start branch=plus]
\node (plus) [terminal,on chain=going above right] {+};
}
{ [start branch=minus]
\node (minus) [terminal,on chain=going below right] {-};
}
\node [on chain, nonterminal, join=with chain/plus-end, join=with chain/minus-end] {unsigned integer};
}
\end{tikzpicture}
\end{document}
Пример с матрицы и цепи
\documentclass{standalone}
\usepackage{tikz}
\usetikzlibrary{shapes,% for the rectangle
chains,% provides the chains
scopes}% allows to replace \begin{scope} \end{scope} with {}
\begin{document}
\begin{tikzpicture}[
nonterminal/.style={
rectangle,
minimum size=6mm,
very thick,
draw=red!50!black!50,
top color=white, % a shading that is white at the top...
bottom color=red!50!black!20, % and something else at the bottom
font=\itshape
},
terminal/.style={
rectangle,minimum size=6mm,rounded corners=3mm,
very thick,draw=black!50,
top color=white,bottom color=black!20,
font=\ttfamily
},
every on chain/.style={join}, every join/.style={->}
]
\matrix[column sep=4mm] {
% First row:
& & & & \node (plus) [terminal] {+};&\\
% Second row:
\node (ui1) [nonterminal] {unsigned integer};&
\node (dot) [terminal] {.}; &
\node (digit) [terminal] {digit}; &
\node (e) [terminal] {E}; &
& % space in between
\node (ui2) [nonterminal] {unsigned integer};\\
% Third row:
& & & & \node (minus)[terminal] {-};&\\
};
{ [start chain]
\chainin (ui1);
\chainin (dot);
\chainin (digit);
\chainin (e);
{ [start branch=plus]
\chainin (plus);
}
{ [start branch=minus]
\chainin (minus);
}
\chainin (ui2) [join=with chain/plus-end, join=with chain/minus-end];
}
\end{tikzpicture}
\end{document}
Цепочек с этикетками
Иногда нужно добавить labes к краям, созданные библиотеки цепи
(это случилось со мной перед). Хотя это не поддерживается в Библиотеке, вы можете сделать это настройки библиотеке.
Пример:
\documentclass{standalone}
\usepackage{tikz}
\usetikzlibrary{shapes,% for the rectangle
chains,% provides the chains
scopes}% allows to replace \begin{scope} \end{scope} with {}
\makeatletter
\def\tikz@lib@parse@join#1{%
\def\tikz@temp{#1}%
\ifx\tikz@temp\pgfutil@empty%
\tikz@lib@parse@join@by by \pgf@stop%
\else%
\pgfutil@in@{with }{#1}%
\ifpgfutil@in@% 'with [by] [label]'
\pgfutil@in@{by }{#1}%
\ifpgfutil@in@% 'with by [label]'
\pgfutil@in@{label }{#1}%
\ifpgfutil@in@% 'with by label'
\tikz@lib@parse@join@with@by@label#1\pgf@stop%
\else% 'with by'
\tikz@lib@parse@join@with@by#1\pgf@stop%
\fi%
\else% 'with [label]'
\pgfutil@in@{label }{#1}%
\ifpgfutil@in@% 'with label'
\tikz@lib@parse@join@with@label#1\pgf@stop%
\else% with
\tikz@lib@parse@join@with@by#1 by \pgf@stop%
\fi%
\fi%
\else% '[by] [label]'
\pgfutil@in@{by }{#1}%
\ifpgfutil@in@% 'by [label]'
\pgfutil@in@{label }{#1}%
\ifpgfutil@in@% 'by label'
\tikz@lib@parse@join@by@label#1\pgf@stop%
\else% 'by'
\tikz@lib@parse@join@by#1\pgf@stop%
\fi%
\else% '[label]'
\pgfutil@in@{label }{#1}%
\ifpgfutil@in@% 'label'
\tikz@lib@parse@join@label#1\pgf@stop%
\else%
\tikz@lib@parse@join@by#1 by \pgf@stop%
\fi%
\fi%
\fi%
\fi%
}
\def\tikz@lib@parse@join@with@by@label with #1 by #2 label #3\pgf@stop{%
\tikzset{after node path={(#1)edge[every join,#2]#3(\tikzchaincurrent)}}%
}
\def\tikz@lib@parse@join@with@label with #1 label #2\pgf@stop{%
\tikzset{after node path={(#1)edge[every join]#2(\tikzchaincurrent)}}%
}
\def\tikz@lib@parse@join@by@label by #1 label #2\pgf@stop{%
\tikzset{after node path={\ifx\tikzchainprevious\pgfutil@empty\else(\tikzchainprevious)edge[every join,#1]#2(\tikzchaincurrent)\fi}}%
}
\def\tikz@lib@parse@join@label label #1\pgf@stop{%
\tikzset{after node path={\ifx\tikzchainprevious\pgfutil@empty\else(\tikzchainprevious)edge[every join]#1(\tikzchaincurrent)\fi}}%
}
\makeatother
\begin{document}
\begin{tikzpicture}[
nonterminal/.style={
rectangle,
minimum size=6mm,
very thick,
draw=red!50!black!50,
top color=white, % a shading that is white at the top...
bottom color=red!50!black!20, % and something else at the bottom
font=\itshape
},
terminal/.style={
rectangle,minimum size=6mm,rounded corners=3mm,
very thick,draw=black!50,
top color=white,bottom color=black!20,
font=\ttfamily
},
every on chain/.style={join}, every join/.style={->}
]
\matrix[column sep=4mm] {
% First row:
& & & & \node (plus) [terminal] {+};&\\
% Second row:
\node (ui1) [nonterminal] {unsigned integer};&
\node (dot) [terminal] {.}; &
\node (digit) [terminal] {digit}; &
\node (e) [terminal] {E}; &
& % space in between
\node (ui2) [nonterminal] {unsigned integer};\\
% Third row:
& & & & \node (minus)[terminal] {-};&\\
};
{ [start chain]
\chainin (ui1);
\chainin (dot);
\chainin (digit);
\chainin (e);
{ [start branch=plus]
\chainin (plus) [join=label {node[above left]{a label}}];
}
{ [start branch=minus]
\chainin (minus);
}
\chainin (ui2) [join=with chain/plus-end label {node[above right] {plus label}}, join=with chain/minus-end by dashed label {node [below right]{minus label}}];
}
\end{tikzpicture}
\end{document}
Ссылка
pgfmanual.в формате PDF
, стр. 284 Эт сек. Примерами являются упрощенной версией учебника: ввод схемы в цепях, на стр. 60
Обращаться на \usetikzlibrary{формы, формы.геометрические фигуры.символы, фигуры.стрелок, фигур.многосекционные, формы.выноски, фигуры.смешанная}
Описание Предлагаем несколько форм, кроме стандартных
Пример
\documentclass[parskip]{scrartcl}
\usepackage[margin=5mm,a3paper]{geometry}
\usepackage{kerkis}
\usepackage{tikz}
\usetikzlibrary{
shapes,
shapes.geometric,
shapes.symbols,
shapes.arrows,
shapes.multipart,
shapes.callouts,
shapes.misc}
\begin{document}
\tikzset{every node/.style={draw=red!20!black,fill=orange!50!red!50!white,text=black,inner sep=2pt}}
{\LARGE \textbf{Standard shapes}}\\
\foreach \shape in {circle,rectangle}
{ \begin{tikzpicture}
\node[shape=\shape] {\shape};
\end{tikzpicture}
}
\\\hrule
{\LARGE \textbf{Geometric shapes}}\\
\foreach \shape in {diamond,ellipse,trapezium,semicircle,regular polygon,star,isosceles triangle,kite,dart,circular sector,cylinder}
{ \begin{tikzpicture}
\node[shape=\shape] {\shape};
\end{tikzpicture}
}
\\\hrule
{\LARGE \textbf{Symbol shapes}}\\
\foreach \shape in {forbidden sign,magnifying glass,cloud,starburst,signal,tape}
{ \begin{tikzpicture}
\node[shape=\shape] {\shape};
\end{tikzpicture}
}
\\\hrule
{\LARGE \textbf{Arrow shapes}}\\
\foreach \shape in {single arrow,double arrow,arrow box}
{ \begin{tikzpicture}
\node[shape=\shape] {\shape};
\end{tikzpicture}
}
\\\hrule
{\LARGE \textbf{Multipart shapes}}\\
\foreach \shape in {circle split,circle solidus,ellipse split,rectangle split}
{ \begin{tikzpicture}
\node[shape=\shape] {\shape};
\end{tikzpicture}
}
\\\hrule
{\LARGE \textbf{Callout shapes}}\\
\foreach \shape in {ellipse callout,rectangle callout,cloud callout}
{ \begin{tikzpicture}
\node[shape=\shape] {\shape};
\end{tikzpicture}
}
\\\hrule
{\LARGE \textbf{Miscellaneous shapes}}\\
\foreach \shape in {cross out,strike out,rounded rectangle,chamfered rectangle}
{ \begin{tikzpicture}
\node[shape=\shape] {\shape};
\end{tikzpicture}
}
\end{document}
Ссылка
pgfmanual.формате PDF
, стр. 419 до 461
Я создал PDF-файл со всеми библиотеками и короткое определение из pfdmanual.
Вы можете найти здесь в формате PDF таблица-библиотеки
Это'ы первый вариант и я не перечитала или исправлены и думаю, что порядок не в порядке. Последний библиотек графики нужно luatexбыл.
Может быть, это не правильное место, чтобы поставить этот ответ, но я думаю, что это может помочь кому-то.
Вот ссылка, которая содержит несколько взносов в Тикз, некоторые из них должны быть загружены в виде пакетов, и некоторые из них могут быть загружены и, как правило, библиотеках через \usetikzlibrary
но не описаны в ТиКЗ/ПГФ руководство, вместо этого они имеют свою собственную документацию, как пакеты.
Я'МР перечислю некоторые из пакетов/библиотек и очень краткое описание что она делает
узлов
(tikz библиотека): обеспечить среду для рисования узлы легко вычислительной пересечения и автоматически разделив путь на несколько дорожек друг над другом. небольшом
(tikz библиотека): реализация Иоанна хобби'ы алгоритм, чтобы произвести гладкую кривую через набор точек, это позволяет в дальнейшем настройки кривой, чем обычный "сюжет" оператор и его результат без какой-либо настройки значительно лучше, чем "сюжет". tikz-компакт
: обеспечивает поддержку через предопределенные макросы и параметры по умолчанию для построения коммутативных диаграмм. prooftree
: обеспечивает поддержку для рисования prooftrees, пакет ориентирован на математика prooftrees использован для обучения математике. пгф-спектров
: использует простой синтаксис, чтобы привлечь спектра элементов (в настоящее время 99 доступен) bloques
: обеспечивает набор макросов для облегчения рисования блок-схем, используемых в теории управления (машиностроение). circuitikz
: используется для рисования электронных схем. tikzscale
: обеспечивает интерфейс между tikzpicture и \includegraphics
предлагает шкалирование методы tikzpictures.
Я насчитал 65 вклады в бывшем ссылка, приведенная выше не самые лучшие, ни Специальной в любом случае, это's просто те, что я'вэ наткнулась. Я've также нашли пользователя'ы @Qrrbrbirlbel (как это сказать?) 5 неет библиотеки (да, они'вновь загружается с \usetikzlibrary
), к сожалению без инструкции и не доступен через архива ctan (надеюсь, они'll получить там), но может быть загружен в Qrrbrbirlbel'ы на GitHub аккаунт, тем ниже находится рядом копировать вставить его на "Обо мне" в профиле текст:
узел-семей
Библиотеки узлов семей была разработана в ответ на “зависит от размера узла”, где ОП просит для автоматического изменения размеров смежных узлов, так что они имеют те же минимальный размер. Используйте следующие клавиши для назначения узла для определенного семейства узлов, которые должны иметь одинаковые размеры. Это работает на картинку основу и использует.файл AUX`, так что вам понадобится как минимум два сборника. Минимальная высота=<семья>
; Высота текста=<семья>
; ([файл вот код](https://github.com/Qrrbrbirlbel/pgf/blob/master/tikzlibrarypaths.ortho.tex) и [файл здесь Либ](https://github.com/Qrrbrbirlbel/pgf/blob/master/tikzlibrarypaths.ortho.tex)) Эта библиотека представляет путь операторов как по горизонтали-вертикали ти*К*З естественно (
|-и
-|), но и более продвинутые, такие как
|-|и
-|-`. Это answer и этот тоже содержат более подробную информацию о библиотеке. paths.rectangle
На пути.библиотека прямоугольникобеспечивает два подобных таймера (функции, разместить узлы вдоль пути) для оператора
прямоугольникпуть. Обычно, когда делаешь
\ничья (0,0) прямоугольник узла[пос=х]{а} (1,1)узел
абудет помещен в позицию вдоль линии, соединяющей две координаты, с пути.прямоугольник
, х
может принимать значения, больше чем 1
(до 2
), которые представляют собой реальный путь прямоугольника, а не строка между координатами, как лучше объяснить в этот ответ. .images
Эта библиотека позволяет формы должны быть заполнены моделей изображения, очень полезно для создания изображений с текстурами. Это'ы объясняется в этот ответ. positioning-plus
На этот раз предлагает способ определения местоположения одного узла в связи с несколькими другими, предоставляя также возможность сделать узел как набор узлов он состоит. Помимо этого он имеет больше возможностей позиционирования, чем у оригинала позиционирование
библиотека, так как нет руководства информация должна быть собрана из Tex.Поисковик ЗХ (этой ссылке автоматический поиск с соответствующего фильтров) \usetikzlibrary{украшений.<имя декорирования библиотека>}
Описание
Как говорит название, эти библиотеки украшают путь. Иногда путь даже заменяется другой путь.
Каждое украшение библиотеки указано ниже. Использовать <и>сочетание клавиш Ctrl</роз> + <и>Ф</КБД и GT; (Windows), чтобы попасть в библиотеку нужно. Доступна \usetikzlibrary{украшений.pathmorphing}
Описание [с ТиКЗ руководство]
Путь морфинга украшения на "превращается" или "кривыми" В К-быть-оформлен пути. Это означает, что прямая линия может быть после изгиба и ударов.
Пример
\documentclass[tikz,margin=1]{standalone}
\usetikzlibrary{decorations.pathmorphing}
\def\y{0}
\newcommand\decorated[1]{
\tikzset{decoration=#1}
\draw[thin,red] (0,\y) to[bend left] (1,\y);
\filldraw[decorate,fill=yellow!60,very thick] (0,\y) to[bend left] (1,\y)
node[right,font=\ttfamily] {#1};
\let\auxy\y
\pgfmathsetmacro\y{\auxy+1}
}
\begin{document}
\begin{tikzpicture}[y=-1cm,x=3cm]
\decorated{lineto}
\decorated{straight zigzag}
\decorated{random steps}
\decorated{saw}
\decorated{zigzag}
% We are not able to use our command here :(
\tikzset{decoration=bent}
\draw[thin,red] (0,\y) -- (1,\y);
\filldraw[decorate,fill=yellow!60,very thick] (0,\y) -- (1,\y)
node[right,font=\ttfamily] {bent};
\let\auxy\y
\pgfmathsetmacro\y{\auxy+1}
% %
\decorated{bumps}
\decorated{coil}
\decorated{curveto}
\decorated{snake}
\end{tikzpicture}
\end{document}
Доступна \usetikzlibrary{украшений.pathreplacing}
Описание [с ТиКЗ руководство]
В этой библиотеке определены украшения, которые заменить будет оформлен пути на другой путь. В отличие от морфинга украшения, заменены путь может быть совершенно разной, например, прямая линия может быть заменена на множество кружков.
Пример
латекс \documentclass[tikz,маржа=1]{автономный} \usetikzlibrary{украшений.pathreplacing} \деф\у{0} и \caption\оформлены[1]{ \tikzset{украшения=#1} \рисовать[тонкий,красный] (0,\Y) в[сгиба левой] (1,\г); \рисовать[украшения,очень толстая] (0,\Y) в[сгиба левой] (1,\г) узел[справа,шрифт=\ttfamily] {#1}; \пусть\auxy\г \pgfmathsetmacro\г{\auxy+1} } \начать{документ} всегда \begin{tikzpicture}[г=-1см,х=3см] \оформленный{границы} % Мы не сможем использовать нашу команду здесь :( \tikzset{украшения=скобка} \рисовать[тонкий,красный] (0,\г) -- (1,\г); \рисовать[украсить,очень толстая] (0,\г) -- (1,\г) узел[правая,шрифта=\ttfamily] {скобки}; \пусть\auxy\г \pgfmathsetmacro\г{\auxy+3} % % \оформленный{расширяющейся волны} \пусть\auxy\г \pgfmathsetmacro\г{\auxy+1.5} \оформленный{клещи} \оформленный{волны} \конец{tikzpicture} \конец{документ}
показать путь строительства
.
``латекс
% Источник: TikZ - ТФР ручной версии 3.1.3, 9 мая 2019, стр. 636
\documentclass[tikz,маржа=1]{автономный}
\usetikzlibrary{украшений.pathreplacing}
\начать{документ}
всегда \begin{tikzpicture}[ =стелс, каждый узел/.стиль={полпути, наклонный, шрифт=\крошечных}, украшения={ показать путь строительства, метод MoveTo код={ \заполнить [красный] (\tikzinputsegmentfirst) круг (2 пунктов) узел [заполнить=нет, ниже] {ПЕРЕЙТИ};}, строки, чтобы код={ \рисовать [синий,->] (\tikzinputsegmentfirst) -- (\tikzinputsegmentlast) узел [выше] {концы lineto};}, curveto код={ \рисовать [зеленый!75!черный,->] (\tikzinputsegmentfirst) .. контролирует (\tikzinputsegmentsupporta) и (\tikzinputsegmentsupportb) ..(\tikzinputsegmentlast) узла [выше] {curveto};}, closepath код={ \рисовать [оранжевый,->] (\tikzinputsegmentfirst) -- (\tikzinputsegmentlast) узел [выше] {closepath};} }]
Доступна \usetikzlibrary{украшений.маркировка}
Описание [с ТиКЗ руководство]
Маркировка может быть мысль о том, что "картинку" или точнее "и какая-то сфера содержание", что находится на "дальше" Путь в определенном положении
Пример
\documentclass[tikz,margin=1]{standalone}
\usetikzlibrary{decorations.markings}
\begin{document}
\colorlet{darkgreen}{green!70!black}
\begin{tikzpicture}[>=stealth]
\path (0,1) node[right,inner sep=0pt,font=\ttfamily] {markings};
\draw[postaction=decorate,decoration={
markings,
mark=at position 0.5 with \arrow{>}
}] (0,0) -- (3,0) node[right=1ex] {One marking only};
\draw[postaction=decorate,decoration={
markings,
mark=at position 1/3 with {
\draw[red,thick] (-2pt,-2pt) -- (2pt,2pt);
\draw[red,thick] (-2pt,2pt) -- (2pt,-2pt);
},
mark=at position 2/3 with {
\draw[darkgreen,thick] (-2pt,0) -- (0,-2pt) -- (2pt,2pt);
}
}] (0,-1) -- (3,-1) node[right=1ex] {Two markings};
\draw[postaction=decorate,decoration={
markings,
mark=between positions 0 and 1 step 0.2 with {
\filldraw[fill=yellow]
(-3pt,-3pt) -- (3pt,-3pt) -- (0,3pt) -- cycle;
\draw (0,2pt) -- (0,-1pt);
\fill (0,-2pt) circle (.5pt);
}
}] (0,-2) to[bend left] (3,-2) node[right=1ex] {Several markings};
\end{tikzpicture}
\end{document}
Доступна \usetikzlibrary{украшений.след}
Описание [с ТиКЗ руководство]
Украшения из этой библиотеки можно использовать, чтобы украсить путь с маленькие следы, как будто кто-то на "шел" и по пути.
Пример
\documentclass[tikz,margin=1]{standalone}
\usetikzlibrary{decorations.footprints}
\begin{document}
\begin{tikzpicture}[y=-1.5cm,x=3cm]
\path (0,0) node[right,inner sep=0pt,font=\ttfamily] {footprints};
\foreach \i [count=\j] in {gnome,human,bird,felis silvestris} {
\tikzset{decoration={footprints,foot of=\i}}
\draw[thin,red] (0,\j) to[bend left] (1,\j);
\draw[decorate] (0,\j) to[bend left] (1,\j) node[right] {\i};
}
\end{tikzpicture}
\end{document}
Доступна \usetikzlibrary{украшений.форм}
Описание [с ТиКЗ руководство]
Н/Д
Пример
\documentclass[tikz,margin=1]{standalone}
\usetikzlibrary{decorations.shapes}
\def\y{0}
\newcommand\decorated[1]{
\tikzset{decoration=#1}
\draw[thin,red] (0,\y) to[bend left] (1,\y);
\draw[decorate] (0,\y) to[bend left] (1,\y)
node[right,font=\ttfamily] {#1};
\let\auxy\y
\pgfmathsetmacro\y{\auxy+1}
}
\begin{document}
\begin{tikzpicture}[y=-1cm,x=3cm]
\decorated{crosses}
\decorated{triangles}
\decorated{shape backgrounds} % You can customize it. See more in the manual
\end{tikzpicture}
\end{document}
Доступна \usetikzlibrary{украшений.текст}
Описание [с ТиКЗ руководство]
Украшения в этой библиотеке украшает путь на какой-либо текст. Это может использоваться, чтобы рисовать текст, который следует за кривой.
Пример
\documentclass[tikz,margin=2]{standalone}
\usetikzlibrary{decorations.text}
\begin{document}
\begin{tikzpicture}[y=-1cm,x=3cm]
\draw[postaction=decorate,decoration=text along path,
/pgf/decoration/text={Hello world}]
(0,0) to[bend left] (1,0) node[right=1ex,font=\ttfamily] {text along path};
% Source: The TikZ - PGF manual, version 3.1.3, 9 May 2019, page 652
\tikzset{
decoration={
text effects along path,
text={Hello world},
text align=center,
text effects/.cd,
character count=\i,
characters={xslant=0.5, text along path, name=c-\i}
}
}
\draw[postaction=decorate] (0,1) -- (1,3.5)
node[right=1ex,font=\ttfamily] {text effects along path};
\end{tikzpicture}
\end{document}
Доступна \usetikzlibrary{украшений.фракталы}
Описание [с ТиКЗ руководство]
Украшения из этой библиотеки можно использовать для создания фрактальных линий.
Пример
\documentclass[tikz,margin=1]{standalone}
\usetikzlibrary{decorations.fractals}
\def\y{0}
\newcommand\decorated[3][]{
\tikzset{decoration=#2}
\draw[ultra thin,red] (0,\y) -- (1,\y);
\draw[#1] decorate {
decorate {
decorate {
(0,\y) -- (1,\y)
}
}
};
\path (1,\y) node[right=1ex,font=\ttfamily] {#2};
\let\auxy\y
\pgfmathsetmacro\y{\auxy+#3}
}
\begin{document}
\begin{tikzpicture}[y=-1cm,x=3cm]
\decorated{Koch curve type 1}{1.5}
\decorated{Koch curve type 2}{2}
\decorated{Koch snowflake}{1}
\decorated[ultra thick]{Cantor set}{0}
\end{tikzpicture}
\end{document}