数年前に似たような質問を見たことがあるここしかし、効果的な答えはありません。
質問は、特定のドキュメント内のすべての図と表を別々のファイル(図/表のキャプションの有無にかかわらず)に自動的にエクスポートできるかどうかです。以下は、より具体的な要件のリストです。
- tikz/pgfplots で作成した図を別の PDF ファイルにエクスポートします (キャプション付きとキャプションなし、ドキュメント内の番号付け)
- tabular、tabularx、longtable を使用するテーブルをエクスポートします (キャプションの有無にかかわらず)
- 抽出時に、その図/表への参照を保持しながら、ドキュメントから図/表(およびそのキャプション)を削除/非表示にする方法はありますか。
以下に、図と表を含むサンプル ドキュメントを作成しましたので、投稿者はそれを回答に使用できます。
コード:
\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}