라텍스 본체에 피규어를 포함시키는 방법

라텍스 본체에 피규어를 포함시키는 방법

2개의 하위 그림이 있는 이와 같은 그림이 있습니다. 이것을 내 다른 주요 문서에 어떻게 포함하나요? \input{Figure_name}을 사용할 수 있으며 이 그림은 상위 문서에 표시됩니다.

\documentclass{article}

\usepackage{subcaption}
\usepackage{tikz}
\usepackage{pgfplots}
\usepackage{adjustbox}

\begin{document}


\begin{figure}
        \centering
        \begin{subfigure}[b]{0.4\textwidth}
            \begin{tikzpicture}
                \begin{axis}[
                    trig format=rad,    % <---
                    domain=0:1,         % <---
                    samples=501,        % <---
                    no marks]           % <---
                \addplot {sin(10*x};
                
                \legend{$\sin(10x)$}
                \end{axis}
                    \end{tikzpicture}
        \end{subfigure}
        \hfill
        \begin{subfigure}[b]{0.4\textwidth}
            \begin{tikzpicture}
                \begin{axis}[
                    trig format=rad,    % <---
                    domain=0:1,         % <---
                    samples=501,        % <---
                    no marks]           % <---
                \addplot {sin(100*x};
               
                \legend{$\sin(100x)$}
                \end{axis}
            \end{tikzpicture}
        \end{subfigure}
        \caption{Increasing oscillatory function}
\end{figure}
    
\end{document}

답변1

이와 같이:

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

두 이미지 모두 동일한 axis설정을 가지고 있다고 가정하므로 로컬로 쓸 수 \pgfplotsset있으며 이로 인해 그림 코드가 조금 더 짧아집니다.

\documentclass{article}

\usepackage{subcaption}
\usepackage{pgfplots}
\pgfplotsset{compat=1.18}

\begin{document}
    \begin{figure}
    \centering
\pgfplotsset{% common settings for both images
    width=\linewidth,
    scale only axis,
    trig format=rad,    % <---
    domain=0:pi/2,      % <---
    samples=501,        % <---
    no marks,           % <---
% added,˛
    every axis plot post/.append style={semithick},
    legend style={font=\footnotesize,
                  cells={anchor=west}}
            }

\begin{subfigure}[b]{0.45\textwidth}
    \begin{tikzpicture}
\begin{axis}
\addplot {sin(10*x};
\addplot {sin(25*x)};
\addplot {sin(50*x)};

\legend{$\sin(10x)$,$\sin(25x)$,$\sin(50x)$}
\end{axis}
    \end{tikzpicture}
\end{subfigure}
\hfil
\begin{subfigure}[b]{0.45\textwidth}
    \begin{tikzpicture}
\begin{axis}
\addplot {sin(100*x)};
\addplot {sin(150*x))};
\addplot {sin(200*x))};

\legend{$\sin(100x)$,$\sin(150x)$,$\sin(200x)$}
\end{axis}
    \end{tikzpicture}
\end{subfigure}
\caption{Increasing oscillatory function}
\label{fig:??}
    \end{figure}
\end{document}

보시다시피 이미지가 병렬로 있으면 해당 페이지 레이아웃이 상당히 좁아지고 결과적으로 선명도가 떨어집니다. 다이어그램의 가시성을 향상시키기 위한 몇 가지 옵션이 있습니다.

  • 확대로 페이지 레이아웃 변경\textwidth
  • 한 이미지를 다른 이미지 위에 올려 놓기
  • 두 번째 이미지에서 도메인 줄이기

부록:

  • 하위 그림에 캡션이 없는 이유가 궁금합니다.
  • 원하지 않는 경우 groupplot대신 사용하는 것을 고려할 수 있습니다.subfigures
  • MWE에서는 다음 사항이 고려됩니다.
    • 두 번째 이미지의 감소된 파동 영역
    • 패키지 \textwidth사용으로 증가geometry
    • 하위 그림 캡션의 수량에 대해서는 ˙siunnitx` 패키지가 사용됩니다.
\documentclass{article}
\usepackage{geometry}   % for setting page layout

\usepackage{siunitx}
\usepackage[font=small]{subcaption}
\usepackage{pgfplots}
\pgfplotsset{compat=1.18}

\begin{document}
    \begin{figure}
\pgfplotsset{% common settings for both images
    width=0.8\linewidth,
    scale only axis,
    enlargelimits = 0.05,
    trig format=rad,     
    samples=801,         
    no marks,            
% added, for better diagram formating
    x tick label style={/pgf/number format/.cd, zerofill, fixed},
    every axis plot post/.append style={semithick},
    legend style={font=\footnotesize,
                  cells={anchor=west}}
            }

\begin{subfigure}[b]{0.48\textwidth}
    \begin{tikzpicture}
\begin{axis}[
        domain=0:1,      % <---
            ]
\addplot {sin(10*x};
\addplot {sin(25*x)};
\addplot {sin(50*x)};

\legend{$\sin(10x)$,$\sin(25x)$,$\sin(50x)$}
\end{axis}
    \end{tikzpicture}
\caption{Sinus waves on domain \qtyrange{0}{1}{\radian}.}
\end{subfigure}
\hfil
\begin{subfigure}[b]{0.48\textwidth}
    \begin{tikzpicture}
\begin{axis}[
        domain=0:0.25,      % <---
            ]
\addplot {sin(100*x)};
\addplot {sin(150*x)};
\addplot {sin(200*x)};

\legend{$\sin(100x)$,$\sin(150x)$,$\sin(200x)$}
\end{axis}
    \end{tikzpicture}
\caption{Sinus waves on domain \qtyrange{0}{0.25}{\radian}.}
\end{subfigure}
\caption{Increasing oscillatory function}
\label{fig:??}
    \end{figure}
\end{document}

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

\documentclass{article}
\usepackage{geometry}   % for setting page layout

\usepackage{siunitx}
\usepackage[font=small]{subcaption}
\usepackage{pgfplots}
\pgfplotsset{compat=1.18}

\begin{document}
    \begin{figure}
\pgfplotsset{% common settings for both images
    width=0.8\linewidth,
    scale only axis,
    enlargelimits = 0.05,
    trig format=rad,    % <---
    samples=801,        % <---
    no marks,           % <---
% added,
    x tick label style={/pgf/number format/.cd, zerofill, fixed},
    every axis plot post/.append style={semithick},
    legend style={font=\footnotesize,
                  cells={anchor=west}}
            }

\begin{subfigure}[b]{0.48\textwidth}
    \begin{tikzpicture}
\begin{axis}[
        domain=0:1,      % <---
            ]
\addplot {sin(10*x};
\addplot {sin(25*x)};
\addplot {sin(50*x)};

\legend{$\sin(10x)$,$\sin(25x)$,$\sin(50x)$}
\end{axis}
    \end{tikzpicture}
\caption{Sinus waves on domain \qtyrange{0}{1}{\radian}.}
\end{subfigure}
\hfil
\begin{subfigure}[b]{0.48\textwidth}
    \begin{tikzpicture}
\begin{axis}[
        domain=0:0.25,      % <---
            ]
\addplot {sin(100*x)};
\addplot {sin(150*x)};
\addplot {sin(200*x)};

\legend{$\sin(100x)$,$\sin(150x)$,$\sin(200x)$}
\end{axis}
    \end{tikzpicture}
\caption{Sinus waves on domain \qtyrange{0}{0.25}{\radian}.}
\end{subfigure}
\caption{Increasing oscillatory function}
\label{fig:??}
    \end{figure}
\end{document}

관련 정보