Latexdiff'te \ label komutu nasıl hariç tutulur
Dec 20 2020
Bazı durumlarda, latexdiff tarafından üretilen dosya, birden çok tanımlı etiketler içerir ve bu da derleme hatasına neden olabilir. Aşağıda bir örnek verilmiştir:
old.tex
\documentclass{article}
\usepackage{amsmath}
\begin{document}
Two remarks on the marvelous formula.
\begin{equation}\label{eq:mass_energy}
E = mc^2
\end{equation}
\end{document}
new.tex
\documentclass{article}
\usepackage{amsmath}
\usepackage{theorem}
\newtheorem{theorem}{Theorem}
\begin{document}
\begin{theorem}\label{thm:mass}
We have
\begin{equation}\label{eq:mass_energy}
E = mc^2
\end{equation}
\end{theorem}
Two remarks on the marvelous formula.
\end{document}
diff.tex
\documentclass{article}
%DIF LATEXDIFF DIFFERENCE FILE
%DIF DEL old.tex Sun Dec 20 16:19:03 2020
%DIF ADD new.tex Sun Dec 20 16:21:10 2020
\usepackage{amsmath}
\usepackage{theorem} %DIF >
\newtheorem{theorem}{Theorem} %DIF >
%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
\providecommand{\DIFmodbegin}{} %DIF PREAMBLE
\providecommand{\DIFmodend}{} %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
%DIF LISTINGS PREAMBLE %DIF PREAMBLE
\RequirePackage{listings} %DIF PREAMBLE
\RequirePackage{color} %DIF PREAMBLE
\lstdefinelanguage{DIFcode}{ %DIF PREAMBLE
%DIF DIFCODE_UNDERLINE %DIF PREAMBLE
moredelim=[il][\color{red}\sout]{\%DIF\ <\ }, %DIF PREAMBLE
moredelim=[il][\color{blue}\uwave]{\%DIF\ >\ } %DIF PREAMBLE
} %DIF PREAMBLE
\lstdefinestyle{DIFverbatimstyle}{ %DIF PREAMBLE
language=DIFcode, %DIF PREAMBLE
basicstyle=\ttfamily, %DIF PREAMBLE
columns=fullflexible, %DIF PREAMBLE
keepspaces=true %DIF PREAMBLE
} %DIF PREAMBLE
\lstnewenvironment{DIFverbatim}{\lstset{style=DIFverbatimstyle}}{} %DIF PREAMBLE
\lstnewenvironment{DIFverbatim*}{\lstset{style=DIFverbatimstyle,showspaces=true}}{} %DIF PREAMBLE
%DIF END PREAMBLE EXTENSION ADDED BY LATEXDIFF
\begin{document}
\DIFaddbegin
\begin{theorem}\label{thm:mass}
\DIFadd{We have
}\begin{equation}\DIFadd{\label{eq:mass_energy}
E = mc^2
}\end{equation}
\end{theorem}
\DIFaddend Two remarks on the marvelous formula.
\DIFdelbegin %DIFDELCMD <
%DIFDELCMD < %%%
\begin{displaymath}\DIFdel{\label{eq:mass_energy}
E = mc^2
}\end{displaymath}%DIFAUXCMD
%DIFDELCMD < %%%
\DIFdelend\end{document}
Gördüğünüz gibi, sorun, \label
kapsamına dahil olmasıdır \DIFdel
. Seçeneği burada--exclude-safecmd=label
önerildiği gibi eklemeye çalıştım , ancak yardımcı olmadı. Bu sorunu nasıl önleyebilirim?
Güncelleme
Ben komutu kullanıyorum
latexdiff old.tex new.tex > diff.tex
LATEXDIFF 1.3.1.1 ile (Algoritma :: Diff 1.15 so, Perl v5.30.1).
Yanıtlar
1 DavidCarlisle Dec 20 2020 at 19:59
Diff dosyanız eksik ve çalıştırırsam latex diff old.tex new.tex
, hata vermeyen farklı bir format alıyorum, test etmesi çok zor, ancak preampbe'nizin
\providecommand{\DIFdel}[1]{{\protect\color{red}\sout{#1}}} %DIF PREAMBLE
Bunu değiştirebilirsin
\providecommand{\DIFdel}[1]{{\def\label##1{}\protect\color{red}\sout{#1}}} %DIF PREAMBLE
silinen bölgelerdeki etiketleri devre dışı bırakmak için.
Donovan, Şarkılarından 1'ini The Beatles'ın "Lucy in the Sky with Diamonds" şarkısıyla karşılaştırdı
Nicole Kidman, Michael Keaton ve Val Kilmer'in Batman Olarak Paylaştığı Bu 1 Çekici Özelliğe Bayıldı
Kevin Jonas'ın Kızı Alena, Doğum Günü Fotoğrafında Büyümüş Görünüyor: '9 Yaşında Gerçek Hissetmiyor'