1

The following code

\documentclass[a4paper]{report}

\usepackage[english, russian]{babel} % if I comment this line, the snippet works

\usepackage{tikz-cd} \usetikzlibrary{babel}

\newcommand{\bullets}[1]{\begin{itemize}#1\end{itemize}}

\begin{document} \bullets{ \item [\begin{tikzcd}[ampersand replacement=&] A & B \ \arrow["\phi", from=1-1, to=1-2] \end{tikzcd}] } \end{document}

produces strange error Package xcolor Error: Undefined color `"\phi {\@@par }'., Argument of \@secondoffive has an extra }., Paragraph ended before \@secondoffive was complete. and so on.

However, it has to do something with macros bullets, and/or with \usepackage[english, russian]{babel} — if I comment that line, it works fine. The following snippet also compiles correctly — in case the tikzcd isn't placed inside macros, or the arrow isn't named:

\documentclass[a4paper]{report}

\usepackage[english, russian]{babel}

\usepackage{tikz-cd} \usetikzlibrary{babel}

\newcommand{\bullets}[1]{\begin{itemize}#1\end{itemize}}

\begin{document} \bullets{ \item [\begin{tikzcd}[ampersand replacement=&] A & B \ \arrow[from=1-1, to=1-2] \end{tikzcd}] } [\begin{tikzcd}[ampersand replacement=&] A & B \ \arrow["\phi", from=1-1, to=1-2] \end{tikzcd}] \end{document}

I understand that I can replace everywhere bullets with begin{itemize}...\end{itemize} and not to use tikzcd in any type of macros, but I am kinda got used to them, so is there a way to make the first code version to compile?

I use pdfLaTex and Tex Live on Ubuntu.

0 Answers0