ラテックス本体に図を挿入する方法

ラテックス本体に図を挿入する方法

このような図があり、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
  • ある画像を他の画像の上に置く
  • 2番目の画像でドメインを縮小する

補遺:

  • なぜサブフィギュアにキャプションがないのか不思議です
  • 望ましくない場合は、groupplot代わりに使用することを検討してください。subfigures
  • 以下の MWE では、次のことが考慮されています。
    • 2番目の画像の縮小波領域
    • パッケージ\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}

関連情報