
Рассмотрим код ниже:
\documentclass[convert = false, border = 1cm]{standalone}
\usepackage{tikz}
\begin{document}
\begin{tikzpicture}
\node[font = \scriptsize] at (-3.5, 4) {Position of $S_2$ when};
\node[font = \scriptsize] at (-3.5, 3.7) {$S_1$ reaches $C$};
\end{tikzpicture}
\end{document}
Я использовал два узла, чтобы написать краткое объяснение точки в фигуре, которую я конструирую. Однако мне пришлось поиграться с настройкой, чтобы они не были разнесены по вертикали слишком далеко друг от друга, а второй узел был центрирован на содержимом первого узла. Есть ли лучший способ сделать это?
решение1
Как указал Qrrbrbirlbel, вы можете использовать \\
для разрыва строк внутри a, node
если вы также используете align
option. Без него \\
не имеет никакого эффекта, как показано в верхнем узле ниже.
Если вы не хотите вставлять \\
каждый раз, вы можете объединить text width
и align
опции. С ними, latex
будет разрывать строки по своим правилам. Вы найдете несколько примеров ниже.
\documentclass[tikz]{standalone}
\usetikzlibrary{positioning}
\begin{document}
\begin{tikzpicture}
\node[draw] (a) {Position of $S_2$ when \\ $S_1$ reaches $C$};
\node[draw,text width=3cm, below=of a] (b) {Position of $S_2$ when \\ $S_1$ reaches $C$};
\node[draw,align=center, below=of b] (c) {Position of $S_2$ when \\ $S_1$ reaches $C$};
\node[draw,text width=3cm, align=right, below=of c] (d) {Position of $S_2$ when $S_1$ reaches $C$};
\end{tikzpicture}
\end{document}
решение2
Печально, что PSTricks не может сделать это без parbox
или его вариантов. Ниже приведено с PSTricks.
\documentclass[pstricks,border=12pt]{standalone}
\usepackage{pstricks-add}
\begin{document}
\begin{pspicture}[showgrid](10,3)
\rput(5,2){\parbox{10cm}{\centering Karl's students do not care about dashing patterns.\\ Karl's students do not care about arrow tips.}}
\end{pspicture}
\end{document}