Take the 2-minute tour ×
TeX - LaTeX Stack Exchange is a question and answer site for users of TeX, LaTeX, ConTeXt, and related typesetting systems. It's 100% free, no registration required.

I have a defined style which I am applying to many arrows. Most of the time, I want them to have label nodes positioned using auto, but occasionally I do not. Currently, I simply add auto wherever necessary. Since auto is the default, though, it would seem more natural to include it in the style; but if I do so, is there a way to occasionally turn it off?

Currently writing e.g.:

\begin{tikzpicture}
          [myarrow/.style={->,font=\scriptsize}]
  \draw[myarrow,auto] (0,0) to node {L} (0,1);
  \draw[myarrow,auto] (1,0) to node {L} (1,1);
  \draw[myarrow,auto] (2,0) to node {L} (2,1);
  \draw[myarrow] (3,0) to node {M} (3,1);
\end{tikzpicture}

Would prefer to write something like:

\begin{tikzpicture}
          [myarrow/.style={->,font=\scriptsize,auto}]
  \draw[myarrow] (0,0) to node {L} (0,1);
  \draw[myarrow] (1,0) to node {L} (1,1);
  \draw[myarrow] (2,0) to node {L} (2,1);
  \draw[myarrow,not auto] (3,0) to node {M} (3,1);
\end{tikzpicture}

but I don’t know what to put for not auto.

share|improve this question
    
@percusse: OK, I fail on reading comprehension — I had looked over that section of the manual several times over and somehow missed this! If you make that an answer, I’ll accept it. –  Peter LeFanu Lumsdaine Feb 27 '13 at 22:14
    
No problem at all. The CVS version manual is 1052 pages ;) –  percusse Feb 27 '13 at 22:39

1 Answer 1

up vote 4 down vote accepted

The auto option is both an anchor selector and at the same time an on/off switch. That means you can both use auto=<left,right> and auto=<true,false>.

For the interested

\tikzoption{auto}[]{\csname tikz@install@auto@anchor@#1\endcsname}

is how it is defined. So whatever option is given replaces #1 and providing false option or just using auto causes the following to be triggered.

\def\tikz@install@auto@anchor@{\let\tikz@do@auto@anchor=\tikz@auto@anchor@on}
\def\tikz@install@auto@anchor@false{\let\tikz@do@auto@anchor=\relax}
share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.