SyncTeX를 사용하여 부동 소수점 위치를 빠르게 지정하는 좋은 소스 코드 관리 기술은 무엇입니까?

SyncTeX를 사용하여 부동 소수점 위치를 빠르게 지정하는 좋은 소스 코드 관리 기술은 무엇입니까?

문서에서 부동 소수점 위치를 지정하는 것은 일반적으로 [t]등과 같은 수정자를 변경하는 것뿐만 아니라 코드 주위를 이동하는 것도 포함합니다. 특히 실제로 표시되어야 하는 페이지 전에 컴파일러가 확인해야 하는 문서 figure*의 환경입니다 .twocolumn

긴 플로트, 특히 테이블을 여러 번 이동하는 것은 상당히 성가실 수 있습니다. 또한 버전 관리 소프트웨어를 사용할 때 diff실제로 큰 변화가 발생하지 않은 중요한 문제가 발생하고 blame기능이 중단됩니다.

제가 시도한 방법 중 하나는

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

(예를 들어 서문에서) 주위에만 이동합니다 \figureImportantResult. 이는 매우 훌륭하게 작동하여 위의 문제를 해결합니다(환경과 관련되지 않은 한 줄만 변경 figure). 그러나 SyncTeX는 이를 잘 이해하지 못합니다. 각 부동 소수점은 \figure...환경 정의가 아닌 해당 라인에만 연결되므로 환경에 변경 사항을 적용하는 것이 더 번거로워집니다. 패키지 를 사용한 구성에서도 마찬가지입니다 catchfilebetweentags(참조:이 답변).

이 문제를 처리하는 좋은 방법은 무엇입니까? \include/가 \input작동할 수도 있지만 전체 문서를 하나의 파일에 보관하고 싶습니다(일부 출판사에서는 이를 선호/요구함). 제출하기 전에 각 파일의 내용을 프로그래밍 방식으로 \include/ 로 바꿀 수 있다는 것을 알고 있지만 \input이는 내가 선호하는 작업이 아닙니다. 해당 코드의 더 나은 위치에 SyncTeX를 암시할 수 있나요? SyncTeX가 이해 하는 대안이 있습니까 \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}

관련 정보