Иногда вместо настройки каждого объекта tikz проще применить глобальную настройку ко всему окружению tikzpicture. Например, если большинство кривых на рисунке должно изображаться жирными линиями, то проще изменить толщину линии по умолчанию (thin) на жирную (thick), чем устанавливать ее отдельно для каждого графического объекта. Вот как это делается.
Пусть исходный объект состоит из окружности и отрезка прямой:
\begin{tikzpicture}
\draw (0,0) circle (1);
\draw (-2,0) -- (2,0);
\end{tikzpicture}

Укажем, чтобы все линии в данном окружении tikzpicture по умолчанию были жирными. Из соображений наглядности мы задали даже не просто жирные (thick), а ультра-жирные (ultra thick) линии.
\begin{tikzpicture}[ultra thick]
\draw (0,0) circle (1);
\draw (-2,0) -- (2,0);
\end{tikzpicture}

Если нам понадобится указать другую толщину для некоторых линий, это можно сделать обычным способом. Например, пусть отрезок будет изображен тонкой (thin) линией:
\begin{tikzpicture}[ultra thick]
\draw (0,0) circle (1);
\draw [thin] (-2,0) -- (2,0);
\end{tikzpicture}

Еще одной полезной настройкой является масштабирование картинки. В следующем примере для обеих размерностей картинки 1 сантиметр исходного изображения преобразуется в 0.5 сантиметра нового изображения.
\begin{tikzpicture}[x=.5cm,y=.5cm]
\draw (0,0) circle (1);
\draw (-2,0) -- (2,0);
\end{tikzpicture}

Кроме того, окружение tikzpicture имеет параметр scale, позволяющий увеличивать или уменьшать чертеж в целом (в долях от текущего размера), а также параметры xscale, yscale, задающие масштабы отдельно по x и y. О других способах масштабирования написано тут.
Еще одним интересным объектом для настройки является блок scope. Этот блок -- своеобразная "картинка в картинке", которую можно двигать и изменять, оставаясь в пределах окружения tikzpicture или иначе -- "фигурные скобки", объединяющие несколько графических объектов.
Само по себе объединение в блок scope не приводит к изменению изображения. Код:
\begin{tikzpicture}
\begin{scope}
\draw (0,0) circle (1);
\draw (-2,0) -- (2,0);
\end{scope}
\end{tikzpicture}
даст уже знакомый по первой картинке результат. Мы просто указываем tikz, что окружность и отрезок теперь -- единый объект.
Сделаем линии этого объекта жирными:
\begin{tikzpicture}
\begin{scope}[ultra thick]
\draw (0,0) circle (1);
\draw (-2,0) -- (2,0);
\end{scope}
\end{tikzpicture}
Как видно, делается это также как и для изображения в целом. Аналогично к scope можно применять и другие глобальные настройки (точнее, сейчас это уже настройки блока).
Вот как выполняется перемещение изображений при помощи параметров xshift и yshift, а также их масштабирование без сохранения пропорций:
\begin{tikzpicture}
\begin{scope}
\draw (0,0) circle (1);
\draw (-2,0) -- (2,0);
\end{scope}
\begin{scope}[thick,xshift=4cm,yshift=0cm,x=.5cm,y=1cm]
\draw (0,0) circle (1);
\draw (-2,0) -- (2,0);
\end{scope}
\begin{scope}[very thick,xshift=0cm,yshift=-2.5cm,x=1cm,y=.5cm]
\draw (0,0) circle (1);
\draw (-2,0) -- (2,0);
\end{scope}
\end{tikzpicture}

Комментарии
comments powered by Disqus