2

I'm drawing circles with arrows on in 3D. To do this I'm using decorations, and drawing the circles in halves so that I could change the colours later and draw an arrow penetrating them while keeping the 3D perspective.

Anyway, here's my MWE:

\documentclass[varwidth, border=5pt]{standalone}

\usepackage{tikz}
\usepackage{tikz-3dplot}
\usetikzlibrary{3d}
\usetikzlibrary{decorations.markings}

\begin{document}
\begin{tikzpicture}

\tikzset{zxplane/.style={canvas is zx plane at y=#1,very thin}}
\tikzset{yxplane/.style={canvas is yx plane at z=#1,very thin}}

\begin{scope}[canvas is zy plane at x=-1.5]
\begin{scope}[thick,decoration={markings,mark=at position 0.5 with {\arrow{>}}}] 
\draw[postaction={decorate}] ([shift=(0:0.5)]-1,1) arc (0:180:0.5);
\draw[postaction={decorate}] ([shift=(0:-0.5)]-1,1) arc (180:360:0.5);
\end{scope}
\end{scope}

\begin{scope}[canvas is zy plane at x=3]
\begin{scope}[thick,decoration={markings,mark=at position 0.5 with {\arrow{>}}}] 
\draw[postaction={decorate}] ([shift=(0:0.5)]-1,1) arc (0:180:0.5);
\draw[postaction={decorate}] ([shift=(0:-0.5)]-1,1) arc (180:360:0.5);
\end{scope}
\end{scope}

\end{tikzpicture}
\end{document}

As it is, this code won't compile. It gives the error "dimension too large".

If you take out the postaction={decorate} and the decoration scope it works fine. Also if you change the value at {markings,mark=at position 0.5 to one of a few special values it does compile. I've found it accepts 0.2, 0.3, 0.7, 0.8, 0.9 and 1.0 but nothing in between (I've only moved in steps of 0.1).

I'd like the arrows at 0.5 though. Does anyone know why it can't handle that range of values? What's stopping it? Note that the only difference between the two circles should be the x dimension.

Cheers.


Edit: One of the comments mentions my tikz version. My TexLive version is 2013 but tikz is only version 2. Anyone know how to update tikz?

closed as off-topic by Paul Gessler, user13907, Martin Schröder, yo', Mike Renfro Mar 8 '15 at 2:38

  • This question does not fall within the scope of TeX, LaTeX or related typesetting systems as defined in the help center.
If this question can be reworded to fit the rules in the help center, please edit the question.

  • This issue usually arises when the underlying path is too small to be divided into smaller pieces. And it compiles for me with 0.5 can you include the case where it doesn't work? Also do you have TikZ v3? – percusse Jan 27 '15 at 14:30
  • @percusse I think I'm using ``tikz 2010/10/13 v2.10'' (from the log file of a successful compile). I'll edit the OP so that it wouldn't compile. I'll also look into using a newer version of tikz. – thosphor Jan 27 '15 at 15:17
  • Can you post the code that doesn't work? It is not clear to me which parameters you are changing. – Andrew Swann Jan 27 '15 at 15:44
  • @AndrewSwann OP is edited with code that doesn't compile for me. See percusse's comments about tikz version though. – thosphor Jan 27 '15 at 16:32
  • 4
    I'm voting to close this question as off-topic because it is solved by updating packages to the current version. – Paul Gessler Mar 8 '15 at 0:29