공백 문자만 있는 코드 목록의 특정 지점에 TikZ에서 만든 그림을 배치해야 합니다. 다음 문서가 있습니다.
생성되는 코드는 다음과 같습니다.
\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{arrows.meta}
\usepackage{float}
\usepackage{listings}
\usepackage{color}
\definecolor{mygray}{rgb}{0.4,0.4,0.4}
\definecolor{myblue}{rgb}{0,0,1}
\definecolor{myorange}{rgb}{1.0,0.4,0}
\lstset{
% some listing settings
}
\begin{document}
\section{Classic diamond problem}
\lstinputlisting[caption={Classic diamond problem}]{classic-diamond/src}
\input{classic-diamond/fig}
\lstinputlisting{classic-diamond/out}
\end{document}
where classic-diamond/src
및 classic-diamond/out
에는 출력에 이미 표시된 텍스트가 포함되어 있으며, classic-diamond/fig.tex
다음 내용이 있습니다.
\begin{figure}[H]\label{figure:e4c}
\begin{tikzpicture}[x=1.5cm,y=1.5cm]
\tikzset{
e4c node/.style={circle,draw,minimum size=0.8cm,inner sep=0,font=\LARGE},
e4c edge/.style={sloped,above,font=\footnotesize,-{Latex[length=3mm, width=3mm]}}
}
\node[e4c node] (A) at (0.0, 1.0) {A};
\node[e4c node] (B) at (-0.5, 0.0) {B};
\node[e4c node] (C) at (0.5, 0.0) {C};
\node[e4c node] (D) at (0.0, -1.0) {D};
\path[->,draw,ultra thick]
(B) edge[e4c edge,densely dashed] (A)
(C) edge[e4c edge,densely dashed] (A)
(D) edge[e4c edge] (B)
(D) edge[e4c edge] (C)
;
\end{tikzpicture}
% \caption{Optional caption.}
\end{figure}
내 목표는 목록의 오른쪽 상단에 그림을 배치하는 것입니다. 지정된 좌표에 이미지를 배치하는 등 비슷한 주제를 둘러싼 많은 기존 질문에도 불구하고 이를 달성하는 방법을 모르겠습니다. 하지만 이미지가 없습니다. 틱즈픽쳐.
답변1
@projetmbc의 의견을 사용하여 tikz 파일을 다음과 같이 변경했습니다.
\begin{figure}[H]\label{figure:e4c}
\begin{tikzpicture}[overlay, x=1.5cm, y=1.5cm, right=10cm, above=10cm]
\tikzset{
e4c node/.style={circle,draw,minimum size=0.8cm,inner sep=0,font=\LARGE},
e4c edge/.style={sloped,above,font=\footnotesize,-{Latex[length=3mm, width=3mm]}}
}
\node[e4c node] (A) at (0.0, 1.0) {A};
\node[e4c node] (B) at (-0.5, 0.0) {B};
\node[e4c node] (C) at (0.5, 0.0) {C};
\node[e4c node] (D) at (0.0, -1.0) {D};
\path[->,draw,ultra thick]
(B) edge[e4c edge,densely dashed] (A)
(C) edge[e4c edge,densely dashed] (A)
(D) edge[e4c edge] (B)
(D) edge[e4c edge] (C)
;
\end{tikzpicture}
\end{figure}
\vspace{-1.3cm}
그 결과
이것이 내가 찾던 것입니다. 내가 발견한 이 접근 방식의 몇 가지 단점은 다음과 같습니다.
- 캡션이 그림과 함께 움직이지 않으며,
- 그림이 나타날 위치에 약간의 공백이 남아 있으므로
vspace{-1.3cm}
그림 파일 끝에 추가됩니다.
이 접근 방식의 한 가지 좋은 점은 실행이 매우 간단하다는 것입니다.