[Tex/LaTex] Strange PDF issue for Adobe Acrobat on Linux reading a document produced in latex

acrobaterrorslinuxpdfviewers

This is probably a well known bug or error, but I don't really know how to search for it. I have a PDF, which I have created on my computer running os X (10.6) in texshop. There are various figures created in tikz. The document displays fine on my computer. However, when I or anyone else accesses it from my department's computers with Adobe Reader, there is an error message and the second page does not display correctly. The computers are running Scientific Linux SL release 5.2 (Boron), and the pdf viewer is Acrobat Reader 9.5.1.

Here is a link to the pdf. The page in question is #3, starting at Example 2.3.

Here are two screenshots of what happens upon opening the document in Acrobat:

enter image description here

enter image description here


The code which generates the image in question is here:

\begin{figure}[h!] 
\begin{tikzpicture}
\begin{scope}[decoration={
markings,
mark=at position 0.5 with {\arrow[scale=0]{>}}}
]
\begin{scope}[shift={(-5,0)}]
    \filldraw (0,0) circle (1pt) node [left = 2pt] {$-$};
    \filldraw (2,0) circle (1pt) node [right = 2pt] {$+$};
    \filldraw (0,1) circle (1pt) node [left = 2pt] {$-$};
    \filldraw (2,1) circle (1pt) node [right = 2pt] {$+$};
    \draw [postaction={decorate}] (0,0) -- (2,0);
    \draw [postaction={decorate}] (0,1) -- (2,1);
\end{scope}
\begin{scope}
    \filldraw (0,0) circle (1pt) node [left = 2pt] {$-$};
    \filldraw (2,0) circle (1pt) node [right = 2pt] {$+$};
    \filldraw (0,1) circle (1pt) node [left = 2pt] {$-$};
    \filldraw (2,1) circle (1pt) node [right = 2pt] {$+$};
    \draw [postaction={decorate}]  (0,0) -- (.5,.5);
    \draw [postaction={decorate}] (0,1) -- (.5,.5);
    \draw [postaction={decorate}] (.5,.5) -- (1.5,.5);
    \draw [postaction={decorate}] (1.5,.5) -- (2,0);
    \draw [postaction={decorate}] (1.5,.5) -- (2,1);
\end{scope}
\end{scope}
\end{tikzpicture}
\caption{Plateau's problem with different group norms.}  \label{fig:plat-prob-diff-group-norm}
\end{figure}

I doubt that it is the image in question, because this code is exceedingly simple, especially compared to some of the other pictures. I am not running any fancy sort of style or packages, as far as I know. The document style is amsart, and here are the packages that I have included:

\usepackage{hyperref}
\usepackage{amsfonts}
\usepackage{amssymb}
\usepackage{graphicx}
\usepackage{amsmath}
\usepackage{latexsym}
\usepackage{amscd}
\usepackage{xypic}
\usepackage{mathrsfs}
\usepackage[margin=1in]{geometry}
\usepackage{dsfont}

I was suspicious of dsfont, but removing it does not seem to help. I sort of suspect that it is some font issue, but don't know what it could be.


So, my question is: what sort of things should I do (in terms of my latex code, I could use a different reader, which seems to work fine, but I'd like it to work on Acrobat) to try to fix this error?


I'm aware of the question here, on a similar topic, but it seems that there the user had a lot of strange packages, and it was impossible to suggest anything. I don't think I'm doing anything which is particularly nonstandard, so I'm hoping there is some possibility of pinning down the error.

Best Answer

Evince displays the file (mostly) correctly, but complains about

matrix not invertible

The problem seems to be \arrow[scale=0]{>}. If you set it to a positive scale the above example displays correctly in Acrobat (and Evince doesn't complain anymore).

From the TikZ manual:

/tikz/scale=factor
Multiplies all coordinates by the given ⟨factor⟩. The ⟨factor⟩ should not be excessively large in absolute terms or very near to zero.

If you don't want any arrows on your lines, simply remove the [postaction={decorate}] options and the decoration declaration.