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.

Hi I'm wondering how can I reference to current node name in execute at begin node property.

\node[execute at begin node = \command_which_uses_node_name_to_to_do_soething_draw_uml_component_symbol] (){Node-name};
share|improve this question
1  
Could you give a MWE. –  xfoo Dec 27 '12 at 19:56
    
@Meter: That's not an MWE. An MWE is a complete minimal example document, which saves people the work of having to come up with a test document themselves (because that part of answering questions is pretty boring). –  Jake Dec 27 '12 at 20:17
    
@Meter: Is anything missing from my answer? –  Jake Jan 2 '13 at 14:51

1 Answer 1

The node name is stored in \tikz@fig@name at the time the code in execute at begin node is executed.

Here's an MWE, which prints > \tikz@fig@name=macro: ->myname. into the .log file:

\documentclass{article} 
\usepackage{tikz}

\begin{document}

\makeatletter
\tikzset{
    teststyle/.style={
        execute at begin node=\show\tikz@fig@name   
    }
} 
\makeatother

\begin{tikzpicture}
\node (myname) [teststyle] {Text};
\end{tikzpicture}

\end{document}
share|improve this answer
    
Note: even if we know its future name, the node does not yet exist at that time (execute at begin node). –  Paul Gaborit Dec 28 '12 at 8:32

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.