latexdiff가 \scalebox가 있는 테이블에서 작동하지 않습니다.

latexdiff가 \scalebox가 있는 테이블에서 작동하지 않습니다.

원고를 수정했을 때 latexdiff가 테이블의 변경 사항에 라벨을 붙일 수 없다는 것을 알았습니다. 예를 들어 수정 전후에 두 개의 tex 파일이 있습니다.

개정 전

\documentclass{article}
\usepackage{graphicx}

\begin{document}
    \begin{table}
        \centering
        \caption{Example}
        \scalebox{0.8}{\begin{tabular}{lcc}
            A & 1 & 1 \\
            B & 2 & 2 \\
        \end{tabular}}
    \end{table}
\end{document}

개정 후

\documentclass{article}
\usepackage{graphicx}

  \begin{document}
        \begin{table}
            \centering
            \caption{New Example}
            \scalebox{0.8}{
            \begin{tabular}{lcc}
                C & 3 & 3 \\
                D & 4 & 4 \\
            \end{tabular}}
        \end{table}
  \end{document}

diff.tex는 다음과 같습니다:

\documentclass{article}
%DIF LATEXDIFF DIFFERENCE FILE
%DIF DEL old.tex   Thu Mar  7 08:20:20 2019
%DIF ADD new.tex   Thu Mar  7 08:19:50 2019
\usepackage{graphicx}
%DIF PREAMBLE EXTENSION ADDED BY LATEXDIFF
%DIF UNDERLINE PREAMBLE %DIF PREAMBLE
\RequirePackage[normalem]{ulem} %DIF PREAMBLE
\RequirePackage{color}\definecolor{RED}{rgb}{1,0,0}\definecolor{BLUE}{rgb}{0,0,1} %DIF PREAMBLE
\providecommand{\DIFadd}[1]{{\protect\color{blue}\uwave{#1}}} %DIF PREAMBLE
\providecommand{\DIFdel}[1]{{\protect\color{red}\sout{#1}}}                      %DIF PREAMBLE
%DIF SAFE PREAMBLE %DIF PREAMBLE
\providecommand{\DIFaddbegin}{} %DIF PREAMBLE
\providecommand{\DIFaddend}{} %DIF PREAMBLE
\providecommand{\DIFdelbegin}{} %DIF PREAMBLE
\providecommand{\DIFdelend}{} %DIF PREAMBLE
%DIF FLOATSAFE PREAMBLE %DIF PREAMBLE
\providecommand{\DIFaddFL}[1]{\DIFadd{#1}} %DIF PREAMBLE
\providecommand{\DIFdelFL}[1]{\DIFdel{#1}} %DIF PREAMBLE
\providecommand{\DIFaddbeginFL}{} %DIF PREAMBLE
\providecommand{\DIFaddendFL}{} %DIF PREAMBLE
\providecommand{\DIFdelbeginFL}{} %DIF PREAMBLE
\providecommand{\DIFdelendFL}{} %DIF PREAMBLE
\newcommand{\DIFscaledelfig}{0.5}
%DIF HIGHLIGHTGRAPHICS PREAMBLE %DIF PREAMBLE
\RequirePackage{settobox} %DIF PREAMBLE
\RequirePackage{letltxmacro} %DIF PREAMBLE
\newsavebox{\DIFdelgraphicsbox} %DIF PREAMBLE
\newlength{\DIFdelgraphicswidth} %DIF PREAMBLE
\newlength{\DIFdelgraphicsheight} %DIF PREAMBLE
% store original definition of \includegraphics %DIF PREAMBLE
\LetLtxMacro{\DIFOincludegraphics}{\includegraphics} %DIF PREAMBLE
\newcommand{\DIFaddincludegraphics}[2][]{{\color{blue}\fbox{\DIFOincludegraphics[#1]{#2}}}} %DIF PREAMBLE
\newcommand{\DIFdelincludegraphics}[2][]{% %DIF PREAMBLE
\sbox{\DIFdelgraphicsbox}{\DIFOincludegraphics[#1]{#2}}% %DIF PREAMBLE
\settoboxwidth{\DIFdelgraphicswidth}{\DIFdelgraphicsbox} %DIF PREAMBLE
\settoboxtotalheight{\DIFdelgraphicsheight}{\DIFdelgraphicsbox} %DIF PREAMBLE
\scalebox{\DIFscaledelfig}{% %DIF PREAMBLE
\parbox[b]{\DIFdelgraphicswidth}{\usebox{\DIFdelgraphicsbox}\\[-\baselineskip] \rule{\DIFdelgraphicswidth}{0em}}\llap{\resizebox{\DIFdelgraphicswidth}{\DIFdelgraphicsheight}{% %DIF PREAMBLE
\setlength{\unitlength}{\DIFdelgraphicswidth}% %DIF PREAMBLE
\begin{picture}(1,1)% %DIF PREAMBLE
\thicklines\linethickness{2pt} %DIF PREAMBLE
{\color[rgb]{1,0,0}\put(0,0){\framebox(1,1){}}}% %DIF PREAMBLE
{\color[rgb]{1,0,0}\put(0,0){\line( 1,1){1}}}% %DIF PREAMBLE
{\color[rgb]{1,0,0}\put(0,1){\line(1,-1){1}}}% %DIF PREAMBLE
\end{picture}% %DIF PREAMBLE
}\hspace*{3pt}}} %DIF PREAMBLE
} %DIF PREAMBLE
\LetLtxMacro{\DIFOaddbegin}{\DIFaddbegin} %DIF PREAMBLE
\LetLtxMacro{\DIFOaddend}{\DIFaddend} %DIF PREAMBLE
\LetLtxMacro{\DIFOdelbegin}{\DIFdelbegin} %DIF PREAMBLE
\LetLtxMacro{\DIFOdelend}{\DIFdelend} %DIF PREAMBLE
\DeclareRobustCommand{\DIFaddbegin}{\DIFOaddbegin \let\includegraphics\DIFaddincludegraphics} %DIF PREAMBLE
\DeclareRobustCommand{\DIFaddend}{\DIFOaddend \let\includegraphics\DIFOincludegraphics} %DIF PREAMBLE
\DeclareRobustCommand{\DIFdelbegin}{\DIFOdelbegin \let\includegraphics\DIFdelincludegraphics} %DIF PREAMBLE
\DeclareRobustCommand{\DIFdelend}{\DIFOaddend \let\includegraphics\DIFOincludegraphics} %DIF PREAMBLE
\LetLtxMacro{\DIFOaddbeginFL}{\DIFaddbeginFL} %DIF PREAMBLE
\LetLtxMacro{\DIFOaddendFL}{\DIFaddendFL} %DIF PREAMBLE
\LetLtxMacro{\DIFOdelbeginFL}{\DIFdelbeginFL} %DIF PREAMBLE
\LetLtxMacro{\DIFOdelendFL}{\DIFdelendFL} %DIF PREAMBLE
\DeclareRobustCommand{\DIFaddbeginFL}{\DIFOaddbeginFL \let\includegraphics\DIFaddincludegraphics} %DIF PREAMBLE
\DeclareRobustCommand{\DIFaddendFL}{\DIFOaddendFL \let\includegraphics\DIFOincludegraphics} %DIF PREAMBLE
\DeclareRobustCommand{\DIFdelbeginFL}{\DIFOdelbeginFL \let\includegraphics\DIFdelincludegraphics} %DIF PREAMBLE
\DeclareRobustCommand{\DIFdelendFL}{\DIFOaddendFL \let\includegraphics\DIFOincludegraphics} %DIF PREAMBLE
%DIF END PREAMBLE EXTENSION ADDED BY LATEXDIFF

\begin{document}
    \begin{table}
        \centering
        \caption{\DIFaddbeginFL \DIFaddFL{New }\DIFaddendFL Example}
        \DIFdelbeginFL %DIFDELCMD < \scalebox{0.8}{\begin{tabular}{lcc}
%DIFDELCMD <            A & 1 & 1 \\
%DIFDELCMD <            B & 2 & 2 \\
%DIFDELCMD <        \end{tabular}}
%DIFDELCMD <    %%%
\DIFdelendFL \DIFaddbeginFL \scalebox{0.8}{
        \begin{tabular}{lcc}
            C & 3 & 3 \\
            D & 4 & 4 \\
        \end{tabular}}
    \DIFaddendFL \end{table}
\end{document}

사실, 나는 그 질문이 \scalebox{}{}. \scalebox를 사용하지 않으면 diff.tex는 다음과 같습니다. 여기에 이미지 설명을 입력하세요

이것이 내가 원하는거야.

그러나 \scalebox를 사용하면 다음과 같습니다.

여기에 이미지 설명을 입력하세요

하지만 실제로는 테이블이 너무 넓어서 \scalebox를 사용해야 합니다. 내 질문은 테이블을 텍스트 너비에 맞추는 동시에 latexdiff를 작동시키는 방법이 있습니까?

답변1

\scalebox기본적으로 안전하지 않은 명령으로 처리되므로 에 의해 주석 처리됩니다 %DIFDELCMD. \scalebox텍스트 명령 목록에 추가하면 문제가 해결되는 것 같습니다. latexdiff자세한 내용은 문서를 확인하세요 .

latexdiff --append-textcmd="scalebox" old.tex new.tex > diff.tex

선택된 라인diff.tex

\begin{document}
      \begin{table}
          \centering
          \caption{\DIFaddbeginFL \DIFaddFL{New }\DIFaddendFL Example}
          \scalebox{0.8}{
          \begin{tabular}{lcc}
              \DIFdelbeginFL \DIFdelFL{A }\DIFdelendFL \DIFaddbeginFL \DIFaddFL{C }\DIFaddendFL & \DIFdelbeginFL \DIFdelFL{1 }\DIFdelendFL \DIFaddbeginFL \DIFaddFL{3 }\DIFaddendFL & \DIFdelbeginFL \DIFdelFL{1 }\DIFdelendFL \DIFaddbeginFL \DIFaddFL{3 }\DIFaddendFL \\
              \DIFdelbeginFL \DIFdelFL{B }\DIFdelendFL \DIFaddbeginFL \DIFaddFL{D }\DIFaddendFL & \DIFdelbeginFL \DIFdelFL{2 }\DIFdelendFL \DIFaddbeginFL \DIFaddFL{4 }\DIFaddendFL & \DIFdelbeginFL \DIFdelFL{2 }\DIFdelendFL \DIFaddbeginFL \DIFaddFL{4 }\DIFaddendFL \\
          \end{tabular}}
      \end{table} \end{document}

산출

scalebox를 사용한 latexdiff의 출력을 보여주는 이미지

관련 정보