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.

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

This question already has an answer here:

I need to introduce line breaks into the label of a node. This is what I've tried so far, but none of it worked:


\node[node, label={[split parts = 4]alpha \nodepart{two} bravo \nodepart{three} charlie nodepart{four} delta }, below of = 5] (8) {$8$};


\node[node, label={alpha\\bravo\\charlie\\delta}] below of = 5] (8) {$8$};


\node[node, label={alpha \newline bravo \newline charlie \newline delta}] below of = 5] (8) {$8$};

All of those approaches are fairly similar. I found solutions on line breaks inside nodes, and on labels on edges, but not in labels of nodes.

In fact, I've tried the suggestions I found on labels of nodes, but it didn't work as well.

share|improve this question

marked as duplicate by Jake tikz-pgf Mar 16 '15 at 13:45

This question has been asked before and already has an answer. If those answers do not fully address your question, please ask a new question.

Could you please compose a minimal compilable example? The code snippets are more confusing than helpful, because they've got quite a few syntax errors and depend on things not commonly defined (what's the node style? Why do you have below of=5 in there?) – Jake Feb 1 '13 at 17:54
\node[align=center]{line1\\line2\\...}; (also align=left and align=right). – Sašo Živanović Feb 1 '13 at 17:55
@SašoŽivanović Yep, figured it out with the answer by Jake. – polemon Feb 1 '13 at 18:20
up vote 18 down vote accepted

A label is just like any other node, so you have to specify the align of the label before the manual line breaks work, using \node [label={[align=left]<label text\\with line breaks>}] {<node text>}. Alternatively (again, like with any other node), you can specify the text width of the label, that way manual line breaks will work and the text will wrap automatically after the specified text width.


\node [draw, label={[align=left]First\\Second}] {Node};
share|improve this answer
Thanks! For some reason it only worked when I have the [align=left] setting in it. If I leave that one out, it's not working :S – polemon Feb 1 '13 at 18:19
@polemon: Yes, that's what I meant with "you have to specify the align of the label before the manual line breaks work" – Jake Feb 1 '13 at 18:22
@Jake, you could also add that specifying a specific node text width enables the linebreak as well: \node[text width=<x>cm] {Text\\is\\here!};. However, this also does "automatic" line breaks. – zeroth Feb 1 '13 at 22:39
@zeroth: Yup, I'll put it in. We really need a "canonical" question and answer for this, it pops up so many times and there are quite a few with really misleading answers. – Jake Feb 1 '13 at 22:41
@Jake, I completely agree. This question has a pretty good title, however, many have rather unintuitive titles (of course it is difficult if you dont know what it is called). But this calls for an "Dublicate the dublicated" which tries to track down all dublicates. ;) – zeroth Feb 1 '13 at 22:51

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