
Ich verwende es, TikZ
um ein Flussdiagramm zu erstellen, das mein Schema Schritt für Schritt demonstriert. Mir fällt auf, dass der Zeilenumbruch in einem Knoten nicht automatisch erfolgt. Das heißt, die Zeile kann über die ganze Seite extrem lang sein.
Der MWE lautet wie folgt.
\documentclass[a4paper]{article}
\usepackage[english]{babel}
\usepackage[utf8]{inputenc}
\usepackage{amsmath}
\usepackage{graphicx}
\usepackage[colorinlistoftodos]{todonotes}
\usepackage{tikz}
\title{Your Paper}
\begin{document}
\maketitle
\begin{tikzpicture}[block/.style={draw, fill=white, rectangle, minimum width=0.95*\columnwidth, anchor=west}, font=\small]
\node[block, minimum width=0.95\columnwidth, minimum height=1cm, fill=white, opacity=1, text opacity=1, rounded corners, thick](step1) at (0,0){};
\node[below=0cm of step1.north, align=left]{\textbf{Step 1}: This is Step one, which is a very very very long sentence. I really hate it when it does not automatically do the wrapping.};
\node[block, minimum width=0.95\columnwidth, minimum height=1cm, below right=0.9cm and 0cm of step1.south, fill=white, opacity=1, text opacity=1, rounded corners, thick](step2) at (0,0){};
\node[below=0cm of step2.north, align=left]{\textbf{Step 2}: Step 2 is cute and short.};
\draw[-stealth](step1.south)--(step2.north)node[pos=0.5, above=0cm]{};
\end{tikzpicture}
\end{document}
was ergibt als
Meine aktuelle Problemumgehung besteht darin, manuell eine neue Zeile einzufügen, was sehr mühsam ist.
Ich möchte daher findeneine elegante Möglichkeit, den automatischen Zeilenumbruch in einem Knoten vonTikZ
.
Antwort1
Sie haben nicht den erwarteten automatischen Textumbruch erhalten, den man bei Verwendung erwarten würde align=<option>
, weil Sie den Schlüssel festgelegt haben minimum width
. Geben Sie einen geeigneten Wert für text width
(nicht für minimum width
) an; dann align=<option>
wird die gewünschte Ausrichtung bereitgestellt:
\documentclass[a4paper]{article}
\usepackage[english]{babel}
\usepackage[utf8]{inputenc}
\usepackage{amsmath}
\usepackage{graphicx}
\usepackage[colorinlistoftodos]{todonotes}
\usepackage{tikz}
\title{Your Paper}
\begin{document}
\maketitle
\begin{tikzpicture}[
block/.style={
draw,
fill=white,
text width=0.95*\columnwidth,
anchor=west,
minimum height=1cm,
rounded corners
},
font=\small
]
\node[block,align=left]
(step1)
{\textbf{Step 1}: This is Step one, which is a very very very long sentence. I really hate it when it does not automatically do the wrapping.};
\node[block,below=2cm of step1.north,align=center]
(step2)
{\textbf{Step 2}: Step 2 is cute and short.};
\draw[-stealth]
(step1.south)--(step2.north)node[pos=0.5, above=0cm]{};
\end{tikzpicture}
\end{document}
Ich habe auch einige Vereinfachungen am Originalcode vorgenommen und einige (offenbar unnötige) Knoten unterdrückt.