Problema de renderização com pacote tikz-cd e classe de documento gtpart.cls

Problema de renderização com pacote tikz-cd e classe de documento gtpart.cls

Preciso fazer alguns diagramas comutativos bastante complicados para um trabalho de matemática, mas por algum motivo, minha instalação do TeXShop está tendo problemas para renderizar até mesmo um diagrama simples. Aqui está um exemplo prático mínimo para o mau comportamento:

\documentclass{gtpart}


\usepackage{tikz-cd}


\begin{document}

Examples from the \{tikzcd\} manual, section 1.2.

Example 1:

\begin{tikzcd}
A \arrow[rd] \arrow[r, "\phi"] & B \\
& C
\end{tikzcd}

Example 2: 

\begin{tikzcd}
A \arrow[r, "\phi"] \arrow[d, red]
& B \arrow[d, "\psi" red] \\
C \arrow[r, red, "\eta" blue]
& D
\end{tikzcd}

Example 4:

\begin{tikzcd}
T
\arrow[drr, bend left, "x"]
\arrow[ddr, bend right, "y"]
\arrow[dr, dotted, "{(x,y)}" description] & & \\
& X \times_Z Y \arrow[r, "p"] \arrow[d, "q"]
& X \arrow[d, "f"] \\
& Y \arrow[r, "g"]
& Z
\end{tikzcd}

\end{document}

E aqui está a saída no documento PDF:

insira a descrição da imagem aqui

Como você pode ver, isso não é o que eu gostaria que aparecesse no artigo, e para diagramas mais complexos isso só piora! Desinstalei todas as distribuições LaTeX e reinstalei o MacTeX duas vezes (todos com 4,6 GB) e ainda consigo esse tipo de renderização. Estou executando um MacBook Pro no OS X 10.7.5. Alguém sabe o que pode estar acontecendo aqui? Deixe-me saber o que mais posso oferecer para alguém me ajudar! Eu realmente adoraria ter o tikz-cd funcionando, pois parece ser um ótimo pacote para diagramas comutativos complexos.

NOTAS: Depois de criar o exemplo mínimo de trabalho, parece que este problema é um conflito com a tag \documentclass{gtpart}; quando uso \documentclass{article}, os diagramas são renderizados corretamente. Aqui está umlink para o arquivo gtpart.cls.

Obrigado a todos que derem uma olhada nisso!

Responder1

O parâmetro primitivo do TeX mathsurroundquase nunca é alterado e tikz-cdclaramente não espera que ele mude, mas essa classe o define como .8pt Defini-lo de volta para 0 parece mais simples. (Você poderia fazer isso localmente próximo ao tikz-cd)

\documentclass{gtpart}


\usepackage{tikz-cd}

\setlength\mathsurround{0pt}%<<<<<<<<<<<<<<<<<<<<<<<<


\begin{document}

Examples from the \{tikzcd\} manual, section 1.2.

Example 1:

\begin{tikzcd}
A \arrow[rd] \arrow[r, "\phi"] & B \\
& C
\end{tikzcd}

Example 2: 

\begin{tikzcd}
A \arrow[r, "\phi"] \arrow[d, red]
& B \arrow[d, "\psi" red] \\
C \arrow[r, red, "\eta" blue]
& D
\end{tikzcd}

Example 4:

\begin{tikzcd}
T
\arrow[drr, bend left, "x"]
\arrow[ddr, bend right, "y"]
\arrow[dr, dotted, "{(x,y)}" description] & & \\
& X \times_Z Y \arrow[r, "p"] \arrow[d, "q"]
& X \arrow[d, "f"] \\
& Y \arrow[r, "g"]
& Z
\end{tikzcd}

\end{document}

informação relacionada