6

I have a document with some complicated mathematical diagrams (system of commutative maps, arrows and labels). It seems to build the diagrams correctly only in XeLaTeX. The rest of the document compiles just fine in LaTeX. I would like to submit the preprint to the arXiv, which doesn't process XeLaTeX. I am wondering if there is a quick fix to make the diagrams work in normal LaTeX. They were created by my coauthor, and I'd rather not rebuild them from scratch.

Following the suggestion of the commenters, here is an example of the code:

\begin{tikzpicture}[auto]
\node (d) at (5, 1.5) {$P(\kappa)\star\dot{E(\kappa,j(\kappa))^{R(\alpha,\kappa)}}$};
\node (a) at (0, 0) {$j(R(\alpha,\kappa))$};   
\node (b) at (0, 1.5) {$j(P(\kappa))$};
\node (c) at (5, 0) {$R(\alpha,\kappa)*\dot{E(\kappa,j(\kappa))}$};

\draw[->] (a) to node[swap] {$\scriptstyle\tau_{\alpha}$} (c);
\draw[->] (d) to node {$\scriptstyle\pi_{\alpha\kappa}\times\mathrm{id}$} (c);
\draw[->] (b) to node {$\scriptstyle(\mathrm{id}\times\mathrm{pr}_{\alpha})\circ\pi_{\kappa j(\kappa)}$} (d);
\draw[->] (b) to node[swap] {$\scriptstyle j(\pi_{\alpha\kappa})$} (a);
\end{tikzpicture}

With XeLaTeX: Here's how it looks with XeLaTeX. With LaTeX: Here's how it looks with LaTeX.

Addressing another request, here is the full preamble.

\documentclass[10pt,dvipdfmx]{amsart}
\usepackage{amssymb}
\usepackage{tikz-cd}
\newtheorem{thm}{Theorem}
\newtheorem*{sthm}{Theorem}
\newtheorem*{llem}{Lemma}
\newtheorem{lem}[thm]{Lemma}
\newtheorem{prop}[thm]{Proposition}
\newtheorem{cor}[thm]{Corollary}
\newtheorem*{clm}{Claim}
\theoremstyle{definition}
\newtheorem*{rem}{Remark}
22
  • 4
    Sorry but nobody can tell you how to adapt some unknown diagrams. You will have to show an example document that can be used for tests. Feb 15 at 11:12
  • 3
    Please provide a full but minimal example that others can copy and see your issue. Exactly how are thise diagrams made? My guess: the xy package with the dvips option. It does not need the dvips option anymore.
    – daleif
    Feb 15 at 11:13
  • 4
    @mbsq You're not being asked to show your full document, but to make the fragment of code you posted into a compilable document by itself. This way people can see if they can replicate your problem and help you solve it.
    – Alan Munn
    Feb 15 at 12:23
  • 4
    You should remove the dvipdfmx option. For xelatex it is not necessary and for pdflatex it might cause problems. Feb 15 at 12:38
  • 3
    @mbsq You see, people here need to see the code which reproduces the problem. How should we have guessed that you use this option? Feb 15 at 12:41

1 Answer 1

10

You get

! LaTeX Error: Backend request inconsistent with engine: using 'pdftex'
(LaTeX)        backend.

The help message reads

You have requested backend 'dvipdfmx', but this is not suitable for use with
the active engine. LaTeX will use the 'pdftex' backend instead.

and now you know that dvipdfmx must be removed (and neither it should be used with XeLaTeX).

Output

enter image description here

But why not using tikz-cd syntax?

\documentclass[10pt]{amsart}
\usepackage{amssymb}
\usepackage{tikz-cd}


\begin{document}

\[
\begin{tikzcd}[column sep=8em,row sep=3em]
j(P(\kappa))
  \arrow[r,"(\mathrm{id}\times\mathrm{pr}_{\alpha})\circ\pi_{\kappa j(\kappa)}"]
  \arrow[d,"j(\pi_{\alpha\kappa})"'] &
P(\kappa)\star\dot{E(\kappa,j(\kappa))^{R(\alpha,\kappa)}}
  \arrow[d,"\pi_{\alpha\kappa}\times\mathrm{id}"] \\
j(R(\alpha,\kappa))
  \arrow[r,"\tau_{\alpha}"'] &
R(\alpha,\kappa)*\dot{E(\kappa,j(\kappa))}
\end{tikzcd}
\]

\end{document}

enter image description here

Aside: I don't think your readers will be able to see the dots above those terms; you should rethink the notation.

5
  • 1
    +1 I prefer xy package with the tips with sharp points 😄
    – Sebastiano
    Feb 15 at 13:11
  • As I said, my coauthor wrote the tikz code, and I don’t want to redo it. Next time.
    – mbsq
    Feb 15 at 13:15
  • @mbsq No problem: you don't need to rewrite the diagram: just removing dvipdfmx does the job.
    – egreg
    Feb 15 at 13:21
  • 2
    @Sebastiano try making an injective arrow in xy and compare with tikz-cd. At least one reason use tikz-cd, also in this example the xy head does not look symmetric, \documentclass[a4paper]{article} \usepackage[all]{xy} \usepackage{tikz-cd} \begin{document} \xymatrix{ A \ar@{^{(}->}[r] & B } \par \noindent \begin{tikzcd} A \ar[hook]{r} & B \end{tikzcd} \end{document}
    – daleif
    Feb 15 at 13:41
  • @daleif You're right. I know this difference.
    – Sebastiano
    Feb 15 at 21:07

You must log in to answer this question.

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