Размещение фотографий TikZ

Размещение фотографий TikZ

Как мне расположить изображение TikZ относительно основного текста? Я нарисовал круг с помощью TikZ и хотел бы расположить его сбоку от основного текста (чтобы его было легко видеть при чтении, но не мешать). Я не уверен, как это сделать. Я пробовал менять координаты, чтобы переместить изображение, но, похоже, оно перемещает только фигуры относительно друг друга, а не перемещает все целиком. Я был бы признателен за помощь с этим. Спасибо!

\documentclass{minimal}
\usepackage{tikz}
\begin{document}
Body text.
\begin{tikzpicture}
    \draw [fill = lightgray] (0,0) circle [radius = 1.25 cm];
\end{tikzpicture}
\caption{Circular Region}
\end{document}

решение1

Чтобы прояснить следующие примеры, я определю макрос, который создает простую картинку tikz, например, круг с текстом внутри:

\newcommand{\mypicture}[1][]{% 1 optional parameter for options for the tikz picture
\begin{tikzpicture}[#1]
\node[draw, circle, fill=yellow!30, inner sep=2mm] (a) {A};
\end{tikzpicture}
} 

Что производит:

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

После того, как вы закончите картинку TikZ, для TeX это будет просто коробка. Думайте о ней как о «большом персонаже», который может быть частью абзаца, как в следующем примере:

This paragraph contains a figure \mypicture{} inline.

В соответствии

Как вы видите, "ящик", содержащий изображение, выровнен с остальной частью текста по его базовой линии. Каждый символ имеет воображаемую линию, которая используется для вертикального выравнивания его с другими символами в той же строке. Ящик может простираться выше и ниже своей базовой линии, но по умолчанию tikz помещает базовую линию изображения в самый низ результирующего ящика.

Вы можете изменить это, задав опцию baselineвашему tikzpicture. Эта опция может получить в качестве аргумента измерение, например 1mm, или имя любой координаты внутри фигуры, например a.center, a.northили даже a.base, которая является базовой линией текста внутри узла a. Давайте рассмотрим эти случаи:

\parbox{6cm}{
\begin{itemize}
\item Default: \hrulefill\mypicture 
\item 2mm: \hrulefill\mypicture[baseline=-2mm] 
\item Center: \hrulefill\mypicture[baseline=(a.center)]
\item North: \hrulefill\mypicture[baseline=(a.north)] 
\item Base: \hrulefill\mypicture[baseline=(a.base)]
\end{itemize}
}

Вертикальное выравнивание

Конечно, в дополнение к использованию его "встроенным", вы можете разместить его в любом месте, где вы могли бы разместить любой другой текст, например, в сноске, примечании на полях, таблице или окружении рисунка (что сделает его плавающим). Посмотрите, например, на примечание на полях:

\marginpar{\mypicture[baseline=(a.base)]}
\lipsum[1]

\lipsum[2]

В marginpar

Вы также можете использовать его в сочетании с такими пакетами, wrapfigкоторые позволяют обтекать рисунки и таблицы текстом.

Если вы используете параметры tikz remember picture и overlay, вы можете разместить его в любой абсолютной позиции на странице, как показано в другом ответе.

решение2

Вы можете использовать remember picture,overlayпараметры и current pageузел; в следующем примере я также использовалtikznodepagesпакет для получения еще более точного управления с помощью current page text areaузла:

\documentclass{article}
\usepackage[a6paper]{geometry}
\usepackage{tikz} 
\usepackage{tikzpagenodes} 
\usepackage{lipsum} 

\begin{document} 
\begin{tikzpicture}[remember picture,overlay]
\draw[fill = lightgray] ([xshift=0.7cm]current page text area.east) circle [radius = 0.5 cm]; 
\draw[fill = red!40] ([xshift=-0.7cm]current page text area.west) circle [radius = 0.5 cm]; 
\draw[fill = green!40] ([yshift=0.7cm]current page text area.north) circle [radius = 0.5 cm]; 
\draw[fill = blue!40] ([yshift=-0.7cm]current page text area.south) circle [radius = 0.5 cm]; 
\draw[fill = magenta!40] ([xshift=0.7cm,yshift=0.7cm]current page.south west) circle [radius = 0.5 cm]; 
\draw[fill = olive!40] ([xshift=-0.7cm,yshift=-0.7cm]current page.north east) circle [radius = 0.5 cm]; 
\end{tikzpicture} 

\lipsum[4]\lipsum[4]\lipsum[4]

\end{document}

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

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