1

I want to use commuting diagrams and the classicthesis package.

I've edited the classicthesis document so that tikz, tikzcd and the braids packages are included after the classicthesis package.

However I get the error:

! Package pgfkeys Error: I do not know the key '/tikz/"f"' and I am going to ignore it. Perhaps you misspelled it.

Here's a minimal example:

\documentclass[
    oneside,openright,titlepage,numbers=noenddot,headinclude,%1headlines,
    %footinclude=true,
    cleardoublepage=empty,
    dottedtoc, % Make page numbers in the table of contents flushed right with dots leading to them
    BCOR=5mm,paper=a4,fontsize=11pt, % Binding correction, paper type and font size
    ngerman,american, % Languages, change this to your language(s)
    ]{scrreprt} 

% Includes the file which contains all the document configurations and packages - make sure to edit this file
\input{classicthesis-config}

 \begin{document}   
 \begin{center}
    \begin{tikzcd}
                U
                \arrow[r,hook, "f"]
              & V
\end{tikzcd}
\end{center}
\end{document}

However: If I write

\documentclass[
    oneside,openright,titlepage,numbers=noenddot,headinclude,%1headlines,
    %footinclude=true,
    cleardoublepage=empty,
    dottedtoc, % Make page numbers in the table of contents flushed right with dots leading to them
    BCOR=5mm,paper=a4,fontsize=11pt, % Binding correction, paper type and font size
    ngerman,american, % Languages, change this to your language(s)
    ]{scrreprt} 

% Includes the file which contains all the document configurations and packages - make sure to edit this file
\input{classicthesis-config}

 \begin{document}   
 \begin{center}
    \begin{tikzcd}
                U
                \arrow{r}{f}
              & V
\end{tikzcd}
\end{center}
\end{document}

everything works fine. This makes me rather confused. What is it, I'm missing?

Here's a stripped-down version of my classicthesis-config:

\PassOptionsToPackage{utf8}{inputenc} 
\usepackage{inputenc}

\PassOptionsToPackage{eulerchapternumbers,listings,drafting, pdfspacing, subfig,beramono,eulermath,parts}{classicthesis}

\newcounter{dummy} 
\providecommand{\mLyX}{L\kern-.1667em\lower.25em\hbox{Y}\kern-.125emX\@}
\newlength{\abcd}   

\PassOptionsToPackage{fleqn}{amsmath} 
\usepackage{amsmath}
\usepackage{amsthm}
\usepackage{amsfonts}

\PassOptionsToPackage{T1}{fontenc} 
\usepackage{fontenc}

\usepackage{textcomp} 
\usepackage{scrhack} 
\usepackage{xspace} 
\usepackage{mparhack} 
\usepackage{fixltx2e} 

%\PassOptionsToPackage{pdftex}{graphicx}
%\usepackage{graphicx} 

\usepackage{tabularx} 
\setlength{\extrarowheight}{3pt} 
\newcommand{\tableheadline}[1]{\multicolumn{1}{c}{\spacedlowsmallcaps{#1}}}
\newcommand{\myfloatalign}{\centering} % To be used with each float for alignment
\usepackage{caption}
\captionsetup{font=small}
\usepackage{subfig}  

\usepackage{classicthesis} 
\usepackage{tikz}
\usepackage{braids}
\usetikzlibrary{cd}
SeHa
  • 21
  • Hi, welcome. We don't have your classicthesis-config of course, so it would be better if you could extract the necessary parts from it and add that to your examples instead of the \input line. I wouldn't think classicthesis is at all relevant here though, your first example runs fine here if I replace the \input with \usepackage{tikz-cd}. My guess is that you have an old version of tikz-cd. The "text" syntax is something that was introduced after version 3.0 of TikZ (which was late 2013 I think), so if your tikz-cd is older, then it wouldn't work. – Torbjørn T. Oct 20 '17 at 09:09
  • Sorry for nagging about this, but do you need all of that to demonstrate the problem? Isn't \usepackage{tikz} \usetikzlibrary{cd} enough? That said, to check the package version, can you compile the following minimal document, and then post the .log file? \listfiles \documentclass{article} \usepackage{tikz-cd} \begin{document} a \end{document} – Torbjørn T. Oct 20 '17 at 10:21
  • @TorbjørnT. Since I don't know where the error comes from it isn't enough to just use usepackage{tikz} and usetikzlibrary{cd}. I have Latex documents with tikz and tikcd that just work fine. It is this very combination that causes the problems.

    I run the newest Tikz-cd version 0.9e

    – SeHa Oct 20 '17 at 11:41
  • Fair enough, but I still find it hard to believe that all those packages and definitions are actually necessary to reproduce the error. It's a TikZ error. You could try adding \usetikzlibrary{quotes}, but that library should be loaded by tikz-cd. So if that didn't help: Do you by any chance happen to have a file called tikzlibrarycd.code.tex in the same folder as the .tex file? Can you post the complete .log file of a compilation that resulted in the error? – Torbjørn T. Oct 20 '17 at 12:04
  • Try the newest classicthesis too, v4.4. I just did, and your examples worked... as they did with versions 4.2 and 4.1. I have texlive-tikz-cd-6:svn35485.0.9e-33.fc26, texlive-braids-svn23790.1.0-33.fc26 here. – PhilipPirrip Oct 20 '17 at 12:04
  • The log-file I get is horrendously big. I'll keep trying to get an easier to read log file. I've tried \usetikzlibrary{qoutes}which wasn't successful. – SeHa Oct 20 '17 at 15:07
  • @SeHa The best way to find what's causing the error is to start removing unnecessary packages and package options. Since it worked on my system, I suspect there's a clash in latex packages on yours. Try compiling on some other machine, if possible. And do try the new classicthesis, v4.4. – PhilipPirrip Oct 20 '17 at 16:37
  • So I found a solution to my problem. It was pointed out to me to try to load the tikzlibrary babel. This solved my issue.

    However if someone could elaborate where exactly this problem lied and how this solution works I'd be more then happy.

    – SeHa Oct 23 '17 at 11:36
  • Seeing as your code works perfectly fine here, it kind of hard to say exactly what caused the problem ... Anyways, I'm guessing that somewhere in your code the babel package is loaded (perhaps older versions of classicthesis did that). I can reproduce the problem if I replace \input{classicthesis-config} with \usepackage{babel,tikz-cd}, and adding \usetikzlibrary{babel} solved it. Basically read the description of that library in the TikZ manual (page 518, in the manual for TikZ 3.0.1a). – Torbjørn T. Oct 23 '17 at 20:35
  • I agree with you. – SeHa Oct 25 '17 at 12:40

0 Answers0