Abbildungen und Tabellen automatisch in separate Dateien exportieren

Abbildungen und Tabellen automatisch in separate Dateien exportieren

Ich habe vor ein paar Jahren eine ähnliche Frage gesehenHier, es gibt jedoch keine wirksame Antwort.

Die Frage ist, ob es möglich ist, alle Abbildungen und Tabellen in einem bestimmten Dokument automatisch in separate Dateien zu exportieren (mit oder ohne Abbildungs-/Tabellenüberschrift). Im Folgenden finden Sie eine genauere Liste der Anforderungen.

  1. Exportieren Sie mit Tikz/PGFplots erstellte Abbildungen in separate PDF-Dateien (mit und ohne Beschriftung und mit der Nummerierung wie im Dokument).
  2. Tabellen exportieren, die tabular, tabularx und longtable verwenden (mit und ohne Überschrift)
  3. Gibt es nach dem Extrahieren eine Möglichkeit, die Abbildung/Tabelle (und deren Überschrift) aus dem Dokument zu entfernen/auszublenden und gleichzeitig die Verweise auf diese Abbildung/Tabelle beizubehalten?

Ich habe unten ein Beispieldokument erstellt, das eine Abbildung und eine Tabelle enthält, sodass die Teilnehmer es in ihren Antworten verwenden können.

Code:

\documentclass{article}
\usepackage{tikz}
\usepackage{lipsum}
\usepackage{tabularx}

\title{example}
\author{John Doe}

\begin{document}
\maketitle
\begin{abstract}
\lipsum[1]
\end{abstract}

\section{a Section}
In Figure \ref{fig:one} \lipsum[1]
\begin{figure}[ht]
    \centering
    \begin{tikzpicture}
    \node(a)[draw, rectangle, ultra thick] at (0,0) {Test};
    \node(b)[draw, rectangle, ultra thick] at (2,2) {Test};
    \draw[-latex](a)--(b);
    \end{tikzpicture}
\caption{Sample caption for figure 1}
\label{fig:one}
\end{figure}

\section{another Section}
\begin{table}
    \begin{tabularx}{\textwidth}{llX}
    \hline
    colA&colB&colC \\
    \hline
    test&test&test\\
    \hline
    \end{tabularx}
\caption{Table A}
\label{table:A}
\end{table}
\end{document}

Antwort1

Dies zeigt, wie eine Datei mit Standalone verarbeitet werden kann .fff.

Die Breite von 5 Zoll war eine Schätzung. Sie können \the\textwidth verwenden, um die für jedes Dokument zu verwendende Breite auszudrucken.

\begin{filecontents*}{test2.fff}
\begin{figure}
\centering
\includegraphics{example-image}
\caption{A figure without subfigures}
\end{figure}
\efloatseparator

\begin{figure}[htb]
\centering
\begin{subfigure}{.5\textwidth}
  \centering
    \includegraphics[width=.9\textwidth]{example-image}
  \caption{first part}
\end{subfigure}%
%
\begin{subfigure}{.5\textwidth}
  \centering
    \includegraphics[width=.9\textwidth]{example-image}
  \caption{(second part)}
\end{subfigure}%
\caption{A figure with subfigures}
\end{figure}
\efloatseparator
\end{filecontents*}

\documentclass[multi={figure,table}]{standalone}
\usepackage{graphicx}
\usepackage{subcaption}

\setlength{\textwidth}{5in}
\def\efloatseparator{\relax}
\makeatletter
\renewenvironment{figure}[1][]{\minipage{\textwidth}\def\@captype{figure}}{\endminipage}
\renewenvironment{table}[1][]{\minipage{\textwidth}\def\@captype{table}}{\endminipage}
\makeatother

\begin{document}
\input{test2.fff}
\end{document}

verwandte Informationen