Автоматический экспорт рисунков и таблиц в отдельные файлы

Автоматический экспорт рисунков и таблиц в отдельные файлы

Я видел похожий вопрос несколько лет назад.здесь, однако эффективного ответа не существует.

Вопрос: возможно ли автоматически экспортировать каждый рисунок и таблицу в определенном документе в отдельные файлы (с подписью рисунка/таблицы или без нее). Ниже приведен более конкретный список требований.

  1. Экспортируйте рисунки, созданные с помощью tikz/pgfplots, в отдельные файлы PDF (с подписью и без нее, с нумерацией, как в документе)
  2. Экспорт таблиц, использующих tabular, tabularx и longtable (с подписью и без нее)
  3. При извлечении есть ли способ удалить/скрыть (и подпись) рисунок/таблицу из документа, сохранив при этом ссылки на этот рисунок/таблицу?

Ниже я создал образец документа, содержащий рисунок и таблицу, чтобы участники могли использовать его в своих ответах.

Код:

\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}

решение1

Это демонстрирует, как можно использовать автономный режим для обработки .fffфайла.

Ширина 5 дюймов была догадкой. Вы можете использовать \the\textwidth, чтобы напечатать то, что вы должны использовать для каждого документа.

\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}

Связанный контент