Tikz 中的换行符或换行符

Tikz 中的换行符或换行符

所以我正在尝试遵循这一点此链接将文本分成两行。这是我的代码:


\documentclass[12pt]{article}
\usepackage{float}
\usepackage[margin=1in]{geometry}
\usepackage{tikz}
\usetikzlibrary{shapes, arrows.meta, automata, calc}

\begin{document} 
    \begin{figure}[H]\centering
        \begin{tikzpicture}[node distance=2cm, >= Stealth, auto, shorten >= 1pt]
            \node[state](L){$L$};
            \node[state] at ($(L)+(60:4cm + 2.5em)$)(M) {$M$};
            \node[state] at ($(M)+(-60:4cm+ 2.5em)$)(H) {$H$};  
            \path[->](L) edge node [sloped, above] {$S$ \newline $R\left(L, S, M\right) = -1$} (M);
        \end{tikzpicture}
    \end{figure}
\end{document}

输出:

在此处输入图片描述

我尝试了该\\命令,但出现错误。如何修复它并确保文本分成两行?

答案1

这是使用我之前回答中的样式的版本angled。每当您想要允许节点中出现换行符时,您需要添加一些对齐方式(例如align=left)或一些text width

\documentclass[12pt]{article}
\usepackage{float}
\usepackage[margin=1in]{geometry}
\usepackage{tikz}
\usetikzlibrary{arrows.meta,automata, positioning,calc}
\tikzset{angled/.style args={#1 and #2 of #3}{%
at={($(#3.#1)+(#1:#2)$)},anchor={#1+180}}}
\begin{document} 
    \begin{figure}[H]\centering
        \begin{tikzpicture}[node distance=4cm,>=stealth]
            \node[state](L){$L$};
            \node[angled=60 and 4cm of L,state] (M) {$M$};
            \node[state,right=of L] (H) {$H$};
            \path[->](L) edge node [sloped, above,align=center] 
            {$S$\\ $R\left(L, S, M\right) = -1$} (M);
        \end{tikzpicture}
    \end{figure}
\end{document}

在此处输入图片描述

答案2

为什么要将浮点数嵌套在浮点数中?

节点可以包含多行文本,这些文本已定义text widthalign=...用于格式化节点中的文本)用于自动中断节点内容(如果可能)或仅align=...用于手动中断。为此,您需要使用\\行终止符。因此,您的 MWE 应该是:

\documentclass[12pt]{article}
\usepackage[margin=1in]{geometry}
\usepackage{tikz}
\usetikzlibrary{arrows.meta, automata, calc, shapes}

\begin{document}
\begin{figure}[ht]
\centering
    \begin{tikzpicture}[>= Stealth, shorten >= 1pt]
    \node[state](L){$L$};
    \node[state] at ($(L)+(60:4cm + 2.5em)$)(M) {$M$};
    \node[state] at ($(M)+(-60:4cm+ 2.5em)$)(H) {$H$};
    \path[->](L) edge node [sloped, above, align=center] {$S$\\ $R(L,S,M)=-1$} (M);
    \end{tikzpicture}
\end{figure}
\end{document}

在此处输入图片描述

相关内容