SyncTeX を使用してフロートをすばやく配置するための優れたソース コード管理手法は何ですか?

SyncTeX を使用してフロートをすばやく配置するための優れたソース コード管理手法は何ですか?

ドキュメント内でフロートを配置するには、通常、[t]etc などの修飾子を変更するだけでなく、コード内 (特にドキュメントfigure*内の環境) を移動する必要があります。ドキュメント内の環境はtwocolumn、実際に表示されるページの前にコンパイラーによって確認される必要があります。

特に長い float テーブルを複数回移動するのは非常に面倒です。さらに、バージョン管理ソフトウェアを使用する場合、diff実際には大きな変更が発生していないのに重大なエラーが発生し、blame機能が壊れてしまいます。

私が試した方法の一つは

\newcommand{\figureImportantResult}{\begin{figure}...\end{figure}}

(例えば、プリアンブルで) と だけを移動します\figureImportantResult。これは非常にうまく機能し、上記の問題(環境に関係しない 1 行の変更のみfigure)を解決します。ただし、SyncTeX はこれを完全には理解していません。各フロートは対応する行にのみ関連付けられており\figure...、環境の定義には関連付けられていません。そのため、環境に変更を適用するのが面倒になります。パッケージを使用した構造でも同じことが言えますcatchfilebetweentags(を参照)。この答え)。

これに対処する良い方法は何でしょうか? \include/ は\inputおそらく機能するでしょうが、ドキュメント全体を 1 つのファイルに保存したいと思います (出版社によっては、これを希望/要求するところもあります)。提出前に、各ファイルのコンテンツでプログラム的に\include/を置き換えることができることはわかっていますが、これは私が好む方法ではありません。SyncTeX にそのコードのより適切な場所をヒントできますか? SyncTeX が理解できる\input代替手段はありますか?\newcommand

答え1

これはあまり良くないかもしれませんが、機能します。誰かがより良い回答を投稿するきっかけになるかもしれません。

% FIGURE DEFINITION
\ifdefined\whichfigure\begin{myfigures}
    \definefigure{FigA}{%
        AAA
    }
    \definefigure{FigB}{%
        BBB
    }
    \definefigure{FigD}{%
        DDD
    }
    \definefigure{FigE}{%
        EEE
    }
\end{myfigures}\fi

\documentclass{article}

% PREAMBLE CODE
\newenvironment{myfigures}{%
    \let\shownfigure\relax%
}{%
    \if\shownfigure\relax%
        \PackageWarning{\string\showfigure}{Figure `\whichfigure' not defined}%
    \fi%
    \endinput%
}
\newcommand{\definefigure}[2]{%
    \def\thisfigure{#1}%
    \ifx\whichfigure\thisfigure%
        \let\shownfigure\thisfigure%
        #2%
    \fi%
}
\newcommand{\showfigure}[1]{%
    \def\whichfigure{#1}%
    \input{\jobname}%
}
% END OF PREAMBLE CODE

\begin{document}
    % FIGURE INCLUSION
    \showfigure{FigA}

    \showfigure{FigB}

    \showfigure{FigC}

    \showfigure{FigE}
\end{document}

関連情報