使用 pgfplots 外部化时出错

使用 pgfplots 外部化时出错

我必须在 latex 中将我的图形外部化,但我不知道为什么 latex 没有得到文件的输出。这是错误:

./TP1.tex:194: Package tikz Error: Sorry, the system call 'pdflatex
-halt-on-error -interaction=batchmode -jobname "TP1-figure0"
"\def\tikzexternalrealjob{TP1
}\input{TP1}"' did NOT result in a usable output file 'TP1-
figure0' (excepted o
ne of .pdf:.jpg:.jpeg:.png:). Please verify that you have enabled
system calls.
For pdflatex, this is 'pdflatex -shell-escape'. Sometimes it is
also named 'wr
ite 18' or something like that. Or maybe the command simply failed ?
Error messa
ges can be found in 'TP1-figure0.log'. If you continue now, I'll try 
to typeset 
the picture.

我尝试了该命令pdflatex -shell-escape TP1,但没有成功。以下是我的代码:

\documentclass[11pt, letterpaper, 

twoside]{article}
\usepackage[utf8]{inputenc}
\usepackage{fancyhdr}
\usepackage{graphicx}
\usepackage[font=scriptsize, labelfont=bf]{caption}
\pagestyle{fancy}
\usepackage{titlesec}
\usepackage{amsmath}
\usepackage{dirtytalk}
\usepackage{mathtools}
\usepackage{listings}
\usepackage{booktabs}
\usepackage[format=hang]{caption}
\usepackage[T1]{fontenc}
\usepackage{colortbl}
\usepackage{amsfonts}
\usepackage{amssymb}
\usepackage{geometry}
\usepackage{wrapfig}
\usepackage{xfrac}
\usepackage[dvipsnames]{xcolor}
\usepackage{array, multirow, makecell}
\usepackage[french]{babel}
\graphicspath{ {/Users/coco/Desktop/School/3ème gymnase/Schéma tp impédance et déphasage.png}}
\usepackage{float}
\usepackage{pgfplots}
\usepackage{pgfplotstable}
\usepackage{colortbl}
\usepackage{mathtools}
\usepackage{titlesec}
\usepackage{soulutf8}
\usepackage{tikz}
\newcommand*\circled[1]{\tikz[baseline=(char.base)]{
            \node[shape=circle,draw,inner sep=2pt] (char) {#1};}}
\titleformat{\section}[block]{\Large\bfseries\filcenter}{}{1em}{}
\pgfplotsset{width=13cm,compat=1.9}

\usepgfplotslibrary{external}
\tikzexternalize

\makeatletter
\renewcommand*\env@matrix[1][*\c@MaxMatrixCols c]{%
  \hskip -\arraycolsep
  \let\@ifnextchar\new@ifnextchar
  \array{#1}}
\makeatother

\geometry{top=2.5cm, bottom=2.5cm, left=2.5cm, right=2.5cm}

\begin{document}
\fancyhf{}
\renewcommand{\headrulewidth}{0pt}

\section{TP Impédance et Déphasage}
\vspace*{0.4cm}

\subsection*{But :} 
\noindent
Étudier l'impédance et le déphasage d'une résistance, d'un condensateur et d'une bobine.

\subsection*{Théorie :}

\begin{figure}[H]
\centering
\captionsetup{margin=1cm}
\includegraphics[width=0.55\textwidth]{Schéma tp impédance et déphasage}
\caption{Schéma d'une circuit présentant un générateur en courant alternatif, un élément (résistance, condensateur, bobine), et un voltmètre mesurant la tension de l'élément}
\end{figure}
\noindent
L'impédance de l'élément est égale à :
\begin{equation}
\boxed{Z_{\acute{e}l}=\dfrac{V_m}{I_m}}
\end{equation}
Où $V_m$ est la tension maximum [V] et $I_m$ est l'intensité du courant maximum [A]. \\
Cette formule nous servira pour calculer l'impédance expérimentale.\\
Le déphasage entre $V_o$ et $I$ est noté $\phi_{\acute{e}l}$. \\
\ \\
Afin de comparer nos résultats, présents dans la prochaine section, nous utiliserons ces formules théoriques de l'impédance et du déphasage :
\begin{equation}
\boxed{Z_{RLC}=\sqrt{R^2+\left(\omega L - \dfrac{1}{\omega C} \right)^2}} \qquad \qquad \boxed{\tan(\phi_{RLC}) = \dfrac{\omega L-\frac{1}{\omega C}}{R}}
\end{equation}
Où $R$ est la résistance [$\Omega$], $\omega$ est la pulsation [rad/s], $L$ est l'inductance de la bobine [H] et $C$ est la capacité du condensateur [F].
\ \\
De ces deux formules découle les 5 impédances et déphasages différents dépendants de l'élément :
\begin{enumerate}
\item Pour une \textbf{résistance}, l'impédance et le déphasage sont :
\begin{equation}
Z_R=R \qquad \qquad \phi_R=0
\end{equation}
\item Pour un \textbf{condensateur}, l'impédance est égale à :
\begin{equation}
Z_C=\dfrac{1}{\omega C} \qquad \qquad \phi_C=-\dfrac{\pi}{2}
\end{equation}
\item Pour une \textbf{bobine}, l'impédance et le déphasage sont :
\begin{equation}
Z_L=\omega L \qquad \qquad \phi_L=\dfrac{\pi}{2}
\end{equation}
\item En réalité une bobine possède une résistance, l'impédance et le déphasage sont donc :
\begin{equation}
Z_{LR} = \sqrt{R^2+\omega^2L^2} \qquad \qquad  \tan(\phi_{RL}) = \dfrac{\omega L}{R}
\end{equation}
\item Comme dernier cas, prenons celui d'un circuit RC :
\begin{equation}
Z_{RC} = \sqrt{R^2 + \dfrac{1}{\omega^2C^2}} \qquad \qquad \tan(\phi_{RC}) = -\dfrac{1}{\omega C R}
\end{equation}
\end{enumerate}

\subsection*{Résultats :}
\subsubsection*{Impédance et déphasage d'une résistance :}
\begin{center}
\begin{table}[!ht]
    \centering
    \begin{tabular}{|l|l|l|l|l|l|l|}
    \hline
        Mesures & Fréquence [Hz] & $V_m$ [V] & $I_m$ [A] & $\phi_R$ [rad] & $Z_R$ [$\Omega$] & Erreur [\%] \rule[-7pt]{0pt}{20pt}\\ \hline
        \rowcolor{Gray!20}
        1 & 100 & 4,498 & 0,167 & 0 & 27,015 & 0,0556 \\ \hline
        2 & 300 & 4,505 & 0,167 & 0 & 26,960 & 0,1485 \\ \hline
        \rowcolor{Gray!20}
        3 & 500 & 4,498 & 0,167 & 0 & 27,015 & 0,0556 \\ \hline
        4 & 700 & 4,480 & 0,165 & 0 & 27,152 & 0,5612 \\ \hline
        \rowcolor{Gray!20}
        5 & 1000 & 4,402 & 0,159 & 0 & 27,651 & 2,4102 \\ \hline
        Moyenne & \multicolumn{4}{l|}{} & 27,158 & 0,5868 \\ \hline
    \end{tabular}
\end{table}
\end{center}
D'après l'équation (3) l'impédance d'un circuit présentant qu'une résistance est égale à la valeur de cette résistance, en sachant que la résistance vaut 27 $\Omega$ nous pouvons en déduire le pourcentage d'erreurs (dernière colonne). \\
\ \\
Avec un pourcentage d'erreur d'environ 0,5 \% nous pouvons dire que l'impédance correspond relativement bien à la théorie.

\newpage

\subsubsection*{Impédance et déphasage d'un condensateur}

\begin{table}[!ht]
    \centering
    \begin{tabular}{|l|l|l|l|l|l|l|l|l|}
    \hline
        Mesures & Fréquence ($f$) [Hz] & $V_m$ [V] & $I_m$ [A] & $\phi_C$ [rad] & Erreur [\%] & $Z_C$ [$\Omega$] & Temps [s] & $1/f$ \rule[-7pt]{0pt}{20pt}\\ \hline
        \rowcolor{Gray!20}
        1 & 100 & 4,544 & 0,139 & 1,565 & 0,400 & 32,644 & 0,00249 & 0,0100 \\ \hline
        2 & 200 & 4,541 & 0,275 & 1,428 & 9,120 & 16,540 & 0,001136 & 0,0050 \\ \hline
        \rowcolor{Gray!20}
        3 & 300 & 4,526 & 0,406 & 1,674 & 6,584 & 11,145 & 0,0008882 & 0,0033 \\ \hline
        4 & 400 & 4,523 & 0,539 & 1,397 & 11,088 & 8,387 & 0,0005557 & 0,0025 \\ \hline
        \rowcolor{Gray!20}
        5 & 500 & 3,292 & 0,488 & 1,581 & 0,620 & 6,742 & 0,0005031 & 0,0020 \\ \hline
        6 & 600 & 3,262 & 0,577 & 1,582 & 0,704 & 5,651 & 0,0004196 & 0,0016 \\ \hline
        \rowcolor{Gray!20}
        7 & 700 & 3,259 & 0,622 & 1,649 & 4,972 & 5,244 & 0,0003749 & 0,0014 \\ \hline
        8 & 800 & 2,438 & 0,578 & 1,462 & 6,912 & 4,219 & 0,0002909 & 0,0013 \\ \hline
        \rowcolor{Gray!20}
        9 & 900 & 2,486 & 0,622 & 1,522 & 3,088 & 4,000 & 0,0002692 & 0,0011 \\ \hline
        10 & 1000 & 2,438 & 0,622 & 1,581 & 0,640 & 3,923 & 0,0002516 & 0,0010 \\ \hline
        \rowcolor{Gray!20}
        Moyenne & \multicolumn{3}{l|}{} & 1,544 & 1,710 & \multicolumn{3}{l|}{} \\ \hline
    \end{tabular}
\end{table}

\begin{figure}[h!]
\centering
\begin{tikzpicture}
\begin{axis}[
    title={Impédance de la bobine en fonction de la fréquence},
    xlabel={Fréquence ($f$) [Hz]},
    ylabel={Impédance de la bobine ($Z_C$) [$\Omega$]},
    xmin=0, xmax=1100,
    ymin=0, ymax=35,
    restrict x to domain=5:1000,
    ytick={0,5,10,15,20,25,30,35},
    xtick={0,100,200,300,400,500,600,700,800,900,1000},
    legend pos=north east,
    ymajorgrids=true,
    grid style=dashed,
]

\addplot[
    color=blue, only marks
    ]
    coordinates {
    (100,32.644)(200,16.540)(300,11.145)(400,8.387)(500,6.742)(600,5.651)(700,5.244)(800,4.219)(900,4)(1000,3.923)
    };
    \node[] at (axis cs: 950,33) {$R=0.9966$};
    
\addplot[
    domain=97:1000,
    smooth,
    color=black]
    {2447.31879*x^(-0.94362)};
    
    
\end{axis}
\end{tikzpicture}
\end{figure}

\begin{figure}[h!]
\centering
\begin{tikzpicture}
\begin{axis}[
    title={Impédance de la bobine en fonction de l'inverse de la fréquence},
    xlabel={Inverse de la fréquence ($1/f$)},
    ylabel={Impédance de la bobine ($Z_C$) [$\Omega$]},
    xmin=0, xmax=0.01,
    ymin=0, ymax=35,
    restrict x to domain=0.0001:0.01,
    ytick={0,5,10,15,20,25,30,35},
    xtick={0,0.001,0.002,0.003,0.004,0.005,0.006,0.007,0.008,0.009,0.01},
    legend pos=north east,
    ymajorgrids=true,
    grid style=dashed,
]

\addplot[
    color=blue, only marks
    ]
    coordinates {
    (0.01,32.644)(0.005,16.540)(0.0033333,11.145)(0.0025,8.387)(0.002,6.742)(0.00166666,5.651)(0.001428571,5.244)(0.00125,4.219)(0.0011111,4)(0.001,3.923)
    };
    \node[] at (axis cs: 0.01,33) {$R=0.9997$};
    
\addplot[
    domain=0.001:0.001,
    smooth,
    color=black]
    {3220.255*x+0.417};
    
    
\end{axis}
\end{tikzpicture}
\end{figure}







\end{document}

谢谢 !

答案1

Figures在您将编译文件的目录下创建一个子目录。(TestExternalize.tex在此示例中)

运行pdflatex.exe -synctex=1 -interaction=nonstopmode -shell-escape TestExternalize.tex或配置您的编辑器来执行此操作。

你会得到

b

第一个数字是

C

这是文件TestExternalize.tex

%%% file TestExternalize

% !TeX TS-program = pdflatex

\documentclass[11pt, letterpaper, twoside]{article}
    
\usepackage{pgfplots}       
\pgfplotsset{width=13cm,compat=1.9}


% ********************************************************** <<<<<<<<<<<<<<<<<<<<<<
\usetikzlibrary{external}
\tikzexternalize[%
up to date check={simple},
prefix=./Figures/]% Folder needs to be created before compiling

\tikzset{external/system call={%
        pdflatex \tikzexternalcheckshellescape
        -halt-on-error -shell-escape -interaction=batchmode
        -jobname "\image" "\texsource"}}
% **********************************************************

\begin{document}
    
    \begin{figure}[h!]
        \centering
        \begin{tikzpicture}
            \begin{axis}[
                title={Impédance de la bobine en fonction de la fréquence},
                xlabel={Fréquence ($f$) [Hz]},
                ylabel={Impédance de la bobine ($Z_C$) [$\Omega$]},
                xmin=0, xmax=1100,
                ymin=0, ymax=35,
                restrict x to domain=5:1000,
                ytick={0,5,10,15,20,25,30,35},
                xtick={0,100,200,300,400,500,600,700,800,900,1000},
                legend pos=north east,
                ymajorgrids=true,
                grid style=dashed,
                ]
                
                \addplot[
                color=blue, only marks
                ]
                coordinates {
                    (100,32.644)(200,16.540)(300,11.145)(400,8.387)(500,6.742)(600,5.651)(700,5.244)(800,4.219)(900,4)(1000,3.923)
                };
                \node[] at (axis cs: 950,33) {$R=0.9966$};
                
                \addplot[
                domain=97:1000,
                smooth,
                color=black]
                {2447.31879*x^(-0.94362)};
                
                
            \end{axis}
        \end{tikzpicture}
    \end{figure}
    
    \begin{figure}[h!]
        \centering
        \begin{tikzpicture}
            \begin{axis}[
                title={Impédance de la bobine en fonction de l'inverse de la fréquence},
                xlabel={Inverse de la fréquence ($1/f$)},
                ylabel={Impédance de la bobine ($Z_C$) [$\Omega$]},
                xmin=0, xmax=0.01,
                ymin=0, ymax=35,
                restrict x to domain=0.0001:0.01,
                ytick={0,5,10,15,20,25,30,35},
                xtick={0,0.001,0.002,0.003,0.004,0.005,0.006,0.007,0.008,0.009,0.01},
                legend pos=north east,
                ymajorgrids=true,
                grid style=dashed,
                ]
                
                \addplot[
                color=blue, only marks
                ]
                coordinates {
                    (0.01,32.644)(0.005,16.540)(0.0033333,11.145)(0.0025,8.387)(0.002,6.742)(0.00166666,5.651)(0.001428571,5.244)(0.00125,4.219)(0.0011111,4)(0.001,3.923)
                };
                \node[] at (axis cs: 0.005,33) {$R=0.9997$};
                
            \addplot[
            domain=0:0.01,
            smooth,
            color=black]
            {0.417+3220*x};     
                
            \end{axis}
        \end{tikzpicture}
    \end{figure}
    
    
\end{document}

相关内容