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는 결과 상자의 맨 아래에 이미지의 기준선을 배치합니다.

baselinetikzpicture에 옵션을 제공하여 이를 변경할 수 있습니다 . 이 옵션은 와 같은 차원이나 노드 내부 텍스트의 기준선인 , 또는 심지어 와 1mm같은 그림 내부 좌표의 이름을 인수로 받을 수 있습니다 . 다음 사례를 살펴보겠습니다.a.centera.northa.basea

\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]

여백에

wrapfig그림이나 표에 텍스트를 넣을 수 있는 패키지와 함께 사용할 수도 있습니다 .

remember picture tikz 옵션 과 을 사용하면 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}

여기에 이미지 설명을 입력하세요

관련 정보