프레젠테이션용 문서의 정보에 대한 지도 만들기

프레젠테이션용 문서의 정보에 대한 지도 만들기

이 그림에서는 내 논문에서 다루는 주제의 지도를 만들려고 합니다. 나는 단지 이 웹사이트에 이미 있던 것의 요소를 복사하고 변경했을 뿐입니다. 상자를 줄여 전체적인 그림을 더 작게 만들 수 있도록 추가 수정을 해주시면 감사하겠습니다. 음표에서 A, B, C 및 오리를 제거하고 싶습니다(중앙이 이미 1장인 2, 3, 4, 5장으로 대체할 수 있음).

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

\documentclass[border=5pt]{standalone}
\usepackage{tikz}
\usetikzlibrary{positioning,shapes.misc}
\tikzset{
  figNode/.style={
    path picture={
      \node at (path picture bounding box.center) {#1};}}
}
\begin{document}

\begin{tikzpicture}[thick]
  \node (a) at (60:10){};
  \node (b) at (20:10){};
  \node (c) at (-20:10){};
  \node (d) at (-60:10){};
  %\node (e) at (-80: 10){};
  
  \foreach \r/\c in {90/blue,45/green,0/red,-45/yellow}{
    \fill[\c!50] (0,0) -- (\r:4) arc (\r:\r-45:4) -- cycle;
  };
  
  \foreach \r/\c/\p in {67.5/blue/a,22.5/green/b,-22.5/red/c,-67.5/yellow/d}{
    \draw[\c] (\r:4) -- (\p);
    \fill[gray!50] (\r:4) circle (0.5);
    \fill[\c] (\r:4) circle (0.25);
  };
  
  \draw[fill=white] (0,0) circle (3) node[align=center]{Chapter 1: Campactness};
  
  \draw[rounded corners=25pt, fill=gray!50] (3.5,7) rectangle ++(7,3.5);
  \draw[fill=blue!50, figNode={\includegraphics[width=0.2\textwidth]{example-image-a}}]
    (a) circle (1);
  \node[right=2 of a, rounded rectangle=25pt, rounded rectangle west arc=none, draw, fill=blue!50,
    minimum height=2cm, minimum width=3cm] {Chapter 2: Degrees of compactness (Schauder's theorem and s-numbers)};
  
  \draw[rounded corners=25pt, fill=gray!50] (7.8,1.6) rectangle ++(7,3.5);
  \draw[fill=green!50, figNode={\includegraphics[width=0.2\textwidth]{example-image-b}}]
    (b) circle (1);
  \node[right=2 of b, rounded rectangle=25pt, rounded rectangle west arc=none, draw, fill=green!50,
    minimum height=2cm, minimum width=3cm] {Chapter 3: Approximation Schemes ( Q-Compactness, Degrees of Q-compactness) };
  
  \draw[rounded corners=25pt, fill=gray!50] (8,-5) rectangle ++(7,3.5);
  \draw[fill=red!50, figNode={\includegraphics[width=0.2\textwidth]{example-image-c}}]
    (c) circle (1);
  \node[right=2 of c, rounded rectangle=25pt, rounded rectangle west arc=none, draw, fill=red!50,
    minimum height=2cm, minimum width=3cm] {Chapter 4: Realizing certain approximation spaces as interpolation spaces (Applications of interpolation theory to PDEs)};
  
  \draw[rounded corners=25pt, fill=gray!50] (3.2,-10.4) rectangle ++(7,3.5);
  \draw[fill=yellow!50, figNode={\includegraphics[width=0.2\textwidth]{example-image-duck}}]
    (d) circle (1);
  \node[right=2 of d, rounded rectangle=25pt, rounded rectangle west arc=none, draw, fill=yellow!50,
    minimum height=2cm, minimum width=3cm] {Chapter 5: H-Operators as applications of interpolation theory};
\end{tikzpicture}
\end{document}

답변1

더 나은 출발점을 제공하기 위해 수행하는 방법은 다음과 같습니다.

주요 단계:

  • 코드에 리팩토링을 적용합니다. 예를 참조하세요.자세한 내용은 여기
  • \tikzset더 이상 figNode사용되지 않음(이미지가 사라짐)
  • 매크로( \newcommand들) \graybox\colorcirc코드 단순화
  • (새로운) 스타일 cmnnode과 유사하며cmnbox
  • 더 큰 글꼴로 여러 줄을 사용할 수 있는 "챕터 노드"를 만들었습니다.
  • 리팩토링은 여전히 ​​한 단계 더 나아갈 수 있습니다. 예를 들어 여러 font문을 흡수하는 것입니다(그러나 이는 항상 프로그래머에게 달려 있습니다).

메모: 매크로는 이미 절실히 필요한 세미콜론 ;tikz를 제공합니다. 하지만 원한다면 이를 변경할 수도 있습니다. 예를 들어 \graybox{(3.5,7)};(그냥 거기에 넣으세요).

기억하다: 내부의 노드 텍스트는 { }일부 단어를 굵게 표시하거나 내부에 표나 이미지를 넣는 등 LaTeX "텍스트"를 허용합니다.


이 접근 방식을 통해 얻을 수 있는 이점은 다음과 같습니다.

  • 클리너 코드(뷰티코드), 표시할 내용에 대해 더 "구두적"으로 설명
  • "한 곳에서만 변경" 접근 방식 ( styles, \newcommand)
  • 귀하의 필요에 맞게 추가로 조정하기가 더 쉽습니다.

제안: 아직 수행하지 않았다면 시작 부분에 있는 튜토리얼을 잠시 읽어보세요.PGF 매뉴얼, 예를 들어 검색/찾기 또는 해당 PDF 내 색인을 통해 여기에 사용된 tikz 명령을 찾아보세요.

결과

\documentclass[12pt,border=3mm]{standalone}% <<<---
\usepackage{tikz}
\usetikzlibrary{positioning,shapes.misc}

%\tikzset{% <<<--- became irrelevant from REFACTORING
%  figNode/.style={
%    path picture={
%      \node at (path picture bounding box.center) {#1};}}
%}

% ~~~ macros (shorthand notations) from REFACTORING ~~~~~~~~~~~~~~~~~~~~~~~
\newcommand\graybox[1]{\draw[cmnbox] #1 rectangle ++(7,3.5);}% the gray boxes

\newcommand\colcirc[3]{% #1=color, #2=nodes name, #3=text
    \draw[#1]      (#2) circle (1);%
    \node [font=\Large]     at (#2) {#3};}% to put text, like 2, ch 2 etc.

% ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
\begin{document}

  \begin{tikzpicture}
    [thick,
    cmnnode/.style={rounded rectangle=25pt,% common node style
                    rounded rectangle west arc=none,
                    draw,
                    minimum height=2cm, minimum width=3cm,% these you had already
                    font=\Large,% larger fonts; \LARGE would be maximum
                    align=left,% for multilines, indicated by \\
                    inner sep=1em% give it a bit more space to breath
                    },
    cmnbox/.style= {rounded corners=25pt,% common box style
                    fill=gray!50}
    ]
    \node (a) at (60:10){};
    \node (b) at (20:10){};
    \node (c) at (-20:10){};
    \node (d) at (-60:10){};
    %\node (e) at (-80: 10){};
  
    % ~~~ colored arc segments ~~~~~~~~~~~~~~~~~~~~
    \foreach \r/\c in {90/blue,45/green,0/red,-45/yellow}{
      \fill[\c!50] (0,0) -- (\r:4) arc (\r:\r-45:4) -- cycle;
    };
  
    % ~~~ small gray and colored circles ~~~~~~~~~~~~~~
    \foreach \r/\c/\p in {67.5/blue/a,22.5/green/b,-22.5/red/c,-67.5/yellow/d}{
      \draw[\c]         (\r:4) -- (\p);
      \fill[gray!50]    (\r:4) circle (0.5);
      \fill[\c]         (\r:4) circle (0.25);
    };
  
    % ~~~ root-circle ~~~~~~~~~~~~~~~~
    \draw[fill=white,font=\Large] (0,0) circle (3) node[align=center]{\textbf{Chapter 1}:\\ Campactness};% augmented: font, \\ (multiline), \textbf{} for bold text-part 
  
    % ~~~ 1st, blue ~~~~~~~~~~~~~~~~
    \graybox{(3.5,7)}               % simplified, see macro above
    \colcirc{fill=blue!50}{a}{2}    % simplified, see macro above
    % reusing common node style, some bold text, \\ (multiline)
    \node[right=2 of a, cmnnode, fill=blue!50] {\textbf{Chapter 2}: Degrees of compactness\\(Schauder's theorem and s-numbers)};
  
    % ~~~ 2nd, green ~~~~~~~~~~~~~~~~~
    \graybox{(7.8,1.6)}
    \colcirc{fill=green!50}{b}{3}
    \node[right=2 of b, cmnnode, fill=green!50] {\textbf{Chapter 3}: Approximation Schemes\\( Q-Compactness, Degrees of Q-compactness) };
  
    % ~~~ 3rd, red ~~~~~~~~~~~~~~~~~
    \graybox{(8,-5)}
    \colcirc{fill=red!50}{c}{4}
    \node[right=2 of c, cmnnode, fill=red!50] {Chapter 4: Realizing certain approximation spaces as interpolation\\spaces (Applications of interpolation theory to PDEs)};
  
     % ~~~ 4th, yellow ~~~~~~~~~~~~~~~~~~~~~
    \graybox{(3.2,-10.4)}
    \colcirc{fill=yellow!50}{d}{5}
     \node[right=2 of d, cmnnode, fill=yellow!50] {Chapter 5: H-Operators as applications of interpolation theory};
    
    
  \end{tikzpicture}
\end{document}

관련 정보