Package: latexdiff Version: 1.3.2-1 Severity: normal Tags: upstream X-Debbugs-Cc: tilm...@gfz-potsdam.de, debbug.latexd...@sideload.33mail.com
Text inside the \colchunk command (which is used inside a parcolumns environment) escapes the diffing algorithm. Text that is inside a parcolumns environment but not in a colchunk is treated correctly. But \colchunk is essential to the core functionality of parcolumns. A minimal working example is attached. -- System Information: Debian Release: 12.5 APT prefers stable-updates APT policy: (990, 'stable-updates'), (990, 'stable-security'), (990, 'stable'), (500, 'oldstable') Architecture: amd64 (x86_64) Foreign Architectures: i386 Kernel: Linux 5.10.0-28-amd64 (SMP w/2 CPU threads) Kernel taint flags: TAINT_OOT_MODULE, TAINT_UNSIGNED_MODULE Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8), LANGUAGE not set Shell: /bin/sh linked to /usr/bin/dash Init: systemd (via /run/systemd/system) LSM: AppArmor: enabled Versions of packages latexdiff depends on: ii perl 5.36.0-7+deb12u1 Versions of packages latexdiff recommends: ii texlive-latex-base 2022.20230122-3 ii texlive-latex-extra 2022.20230122-4 ii texlive-latex-recommended 2022.20230122-3 ii texlive-plain-generic 2022.20230122-4 Versions of packages latexdiff suggests: ii git 1:2.39.2-1.1 -- no debconf information
\documentclass{minimal} \usepackage[UKenglish,dutch]{babel} \usepackage{parcolumns} \newcommand{\bilingual}[2]{% \colchunk{\selectlanguage{dutch}#1}% \colchunk{\selectlanguage{UKenglish}#2}% \colplacechunks% } \begin{document} This minimal sample document demonstrates a latexdiff defect whereby text inside a parcolumns environment escapes the diffing algorithm. The next paragraph from the GDPR is printed in a two column format. Words are added to the left side (Dutch) but latexdiff does not notice.\\ \centerline{\textbf{broken diff:}} \begin{parcolumns}[nofirstindent]{2} \bilingual{% De betrokkene heeft het recht niet te worden onderworpen aan een uitsluitend op geautomatiseerde verwerking, waaronder profilering, gebaseerd besluit waaraan voor hem rechtsgevolgen zijn verbonden of dat hem anderszins in aanmerkelijke mate treft.\\ }{% The data subject shall have the right not to be subject to a decision based solely on automated processing, including profiling, which produces legal effects concerning him or her or similarly significantly affects him or her.\\ } The new version of text prevails, but it has no markups. Below is the same text laid out inside adjecent minipages instead, which shows latexdiff working as expected.\\ \end{parcolumns} \centerline{\textbf{working diff:}} \noindent\begin{minipage}[t]{0.49\textwidth}\selectlanguage{dutch} De betrokkene heeft het recht niet te worden onderworpen aan een uitsluitend op geautomatiseerde verwerking, waaronder profilering, gebaseerd besluit waaraan voor hem rechtsgevolgen zijn verbonden of dat hem anderszins in aanmerkelijke mate treft.% \end{minipage}\hfill% \noindent\begin{minipage}[t]{0.47\textwidth}\selectlanguage{UKenglish} The data subject shall have the right not to be subject to a decision based solely on automated processing, including profiling, which produces legal effects concerning him or her or similarly significantly affects him or her.% \end{minipage}% \end{document}
\documentclass{minimal} \usepackage[UKenglish,dutch]{babel} \usepackage{parcolumns} \newcommand{\bilingual}[2]{% \colchunk{\selectlanguage{dutch}#1}% \colchunk{\selectlanguage{UKenglish}#2}% \colplacechunks% } \begin{document} This minimal sample document demonstrates a latexdiff defect whereby text inside a colchunk environment escapes the diffing algorithm. The next paragraph from the GDPR is printed in a two column format. Words are added to the left side (Dutch) but latexdiff does not notice.\\ \centerline{\textbf{broken diff:}} \begin{parcolumns}[nofirstindent]{2} \bilingual{% De betrokkene heeft het recht niet te worden onderworpen aan een uitsluitend op geautomatiseerde verwerking, waaronder profilering, gebaseerd besluit waaraan voor hem of haar rechtsgevolgen zijn verbonden of dat hem of haar anderszins in aanmerkelijke mate treft.\\ }{% The data subject shall have the right not to be subject to a decision based solely on automated processing, including profiling, which produces legal effects concerning him or her or similarly significantly affects him or her.\\ } The new version of text prevails, but there are no markups. Below is the same text laid out inside adjecent minipages instead, which shows latexdiff working as expected.\\ \end{parcolumns} \centerline{\textbf{working diff:}} \noindent\begin{minipage}[t]{0.49\textwidth}\selectlanguage{dutch} De betrokkene heeft het recht niet te worden onderworpen aan een uitsluitend op geautomatiseerde verwerking, waaronder profilering, gebaseerd besluit waaraan voor hem of haar rechtsgevolgen zijn verbonden of dat hem of haar anderszins in aanmerkelijke mate treft.% \end{minipage}\hfill% \noindent\begin{minipage}[t]{0.47\textwidth}\selectlanguage{UKenglish} The data subject shall have the right not to be subject to a decision based solely on automated processing, including profiling, which produces legal effects concerning him or her or similarly significantly affects him or her.% \end{minipage}% \end{document}