3

The following example now fails to compile for me:

\documentclass{article}
\usepackage{color}
\usepackage{colortbl}
\usepackage{arydshln}

\begin{document}
The following table...

\begin{tabular}{|c|c|c|}
\hline
\textcolor{green}{a} & \textcolor{red}{b} & \textcolor{red}{c}\tabularnewline
\hline
\textcolor{green}{d} & \textcolor{blue}{e} & \textcolor{blue}{f}\tabularnewline
\hline
\textcolor{green}{g} & \textcolor{blue}{h} & \textcolor{blue}{i}\tabularnewline
\hline
\end{tabular}

shows colored entries.
\end{document}

If I comment out loading of arydshln, then it works fine. This started after the recent LaTeX2e update (on my system, tlmgr brought it in on 2024-06-04).

Is this a known issue? I searched for recent postings here, as well as in the LaTeX2e repository that mentions arydshln and couldn't find anything.

The error I get when compiling with pdflatex is:

! Undefined control sequence.
<argument> \adl@dashcolor 

I would personally not use use the arydshln package, and it is known to do tricky things (package "arydshln" conflicts with "tabular*") so that conflicts are not surprising. Nonetheless, I want to make sure I report this to the right place, if it is an issue, to prevent compilation of old code from failing if possible.

2

2 Answers 2

5

It's not the easiest code to trace but I think it's enough to make these two internal commands \protected so they don't prematurely expand while making the preamble

enter image description here

\documentclass{article}
%\usepackage{array}[=2024/01/01]
\usepackage{colortbl}
\usepackage{arydshln}

\makeatletter
% add \protected
\protected\def\adl@@vlineL#1#2#3#4{\adl@ivline#4\@nil{#1}{#2}%
        \xdef\adl@colsL{\adl@colsL
                \@elt{#3}{\number\@tempcnta}{\number\@tempcntb}%
                        {\adl@dashcolor}{\adl@gapcolor}}}
\protected\def\adl@@vlineR#1#2#3#4{\adl@ivline#4\@nil{#1}{#2}%
        \xdef\adl@colsR{%
                \@elt{#3}{\number\@tempcnta}{\number\@tempcntb}%
                        {\adl@dashcolor}{\adl@gapcolor}%
                \adl@colsR}}
\let\adl@act@@vlineL\adl@@vlineL
\let\adl@act@@vlineR\adl@@vlineR
\makeatother

\begin{document}


\begin{tabular}{|c:c|c|}
\hline
\textcolor{green}{a} & \textcolor{red}{b} & \textcolor{red}{c}\tabularnewline
\hline
\textcolor{green}{d} & \textcolor{blue}{e} & \textcolor{blue}{f}\tabularnewline
\hline
\textcolor{green}{g} & \textcolor{blue}{h} & \textcolor{blue}{i}\tabularnewline
\hline
\end{tabular}

shows colored entries.
\end{document}

That avoids the new error but arydshln still overwrites a lot of changes made to the array package over the decades, and almost all of the support for tagging added this year, but it should still work as before on existing documents.

I'll contact the author but if you could confirm this works on your real documents that would be helpful.

1
  • 1
    Thanks! I confirm that I no longer get an error on my real documents (which are pretty complex so I guess that's a good sign).
    – scottkosty
    Commented Jun 14 at 22:17
3

looking what exactly is clashing, but if people just want a document to work today, you can roll back array

\documentclass{article}
\usepackage{array}[=2024/01/01]
\usepackage{colortbl}
\usepackage{arydshln}

\begin{document}


\begin{tabular}{|c|c|c|}
\hline
\textcolor{green}{a} & \textcolor{red}{b} & \textcolor{red}{c}\tabularnewline
\hline
\textcolor{green}{d} & \textcolor{blue}{e} & \textcolor{blue}{f}\tabularnewline
\hline
\textcolor{green}{g} & \textcolor{blue}{h} & \textcolor{blue}{i}\tabularnewline
\hline
\end{tabular}

shows colored entries.
\end{document}

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .