Das Problem
Ich zeichne Kästchen außerhalb der beschrifteten Knoten und die Kästchen berücksichtigen nicht die Beschriftungen über den inneren Knoten.
Hier ist der MWE meines Dokuments:
\documentclass[10pt]{article}
\ExpandArgs{c}\newcommand{new@fontshape}{anything}
\usepackage[russian,indonesian]{babel}
\usepackage{newtx}
\usepackage{linguex}
\usepackage[none]{hyphenat}
\usepackage{geometry}
\usepackage{setspace}
\usepackage{booktabs}
\usepackage{tikz}
\usepackage{tikz-qtree}
\usepackage{gb4e}
\usepackage{adjustbox}
\usetikzlibrary{shapes.geometric, arrows, chains, decorations.pathreplacing, positioning, fit}
\AtBeginDocument{%
\DeclareFontFamilySubstitution{T2A}{\familydefault}{Tempora-TLF}%
}
\primebars
\let\emptyset\varnothing
\geometry{
a4paper,
margin=3cm
}
\newcommand{\?}[1]{\foreignlanguage{russian}{#1}}
\noautomath
\begin{document}
\vspace{5mm}
\section*{Hubungan sintaksis}
\vspace{5mm}
\tikzstyle{startstop} = [rectangle, rounded corners, minimum width=3cm, minimum height=2.5cm, text centered, draw=black, text width=3cm]
\tikzstyle{io} = [trapezium, trapezium left angle=70, trapezium right angle=110, minimum width=3cm, minimum height=1cm, text centered, draw=black, fill=blue!30]
\tikzstyle{process} = [rectangle, minimum width=1cm, minimum height=1cm, text centered, draw=black, text width=2.5cm]
\tikzstyle{decision} = [diamond, minimum width=3cm, minimum height=1cm, text centered, draw=black, fill=green!30]
\tikzstyle{arrow} = [thick,->,>=stealth]
\tikzstyle{line} = [draw, -latex']
\def\layersep{2.5cm}
\begin{adjustbox}{width=\textwidth}
\begin{tikzpicture}[node distance=4cm, box/.style = {draw,black,inner sep=10pt,rounded corners=5pt}]
\node (kr) [process, label=above:{Agen}] {Kerusiaan};
\node (bn) [process, right of=kr, label=above:{Sasaran}] {Binan};
\path [line] (kr) -- node [text width=2.5cm,midway,above,align=center ] {Aksi} (bn);
\node[box,fit=(kr)(bn)] {};
\end{tikzpicture}\hspace{1cm}%
\begin{tikzpicture}[node distance=4cm, box/.style = {draw,black,inner sep=10pt,rounded corners=5pt}]
\node (kr) [process, label=above:{Agen}] {Binan};
\node (bn) [process, right of=kr, label=above:{Sasaran}] {Non-kerusiaan};
\path [line] (kr) -- node [text width=2.5cm,midway,above,align=center ] {Aksi} (bn);
\node[box,fit=(kr)(bn)] {};
\end{tikzpicture}\hspace{1cm}%
\begin{tikzpicture}[node distance=4cm, box/.style = {draw,black,inner sep=10pt,rounded corners=5pt}]
\node (kr) [process, label=above:{Agen}] {Binan};
\node (bn) [process, right of=kr, label=above:{Sasaran}] {Kerusiaan};
\path [line] (kr) -- node [text width=2.5cm,midway,above,align=center ] {Aksi} (bn);
\node[box,fit=(kr)(bn)] {};
\end{tikzpicture}
\end{adjustbox}
\end{document}
Hier ist der Schriftsatz des Codes:
Die Box ignoriert einfach, dass die Beschriftungen Teil der einzelnen Knoten sind; sie geht einfach durch sie hindurch und lässt keinen Platz über den Beschriftungen.
Ich möchte, dass die Kästchen nicht durch die Etiketten hindurchgehen, sondern dass darüber ein Text hinzugefügt wird. Ungefähr so:
Wie kann ich meinen Code verbessern?
Was ich bisher getan habe
sep
Ich weiß, dass ich einfach das in ändern kann {draw,black,inner sep=10pt,rounded corners=5pt}
, aber dadurch entstehen ungleichmäßige Abstände zwischen dem oberen und unteren Kastenraum:
\documentclass[10pt]{article}
\ExpandArgs{c}\newcommand{new@fontshape}{anything}
\usepackage[russian,indonesian]{babel}
\usepackage{newtx}
\usepackage{linguex}
\usepackage[none]{hyphenat}
\usepackage{geometry}
\usepackage{setspace}
\usepackage{booktabs}
\usepackage{tikz}
\usepackage{tikz-qtree}
\usepackage{gb4e}
\usepackage{adjustbox}
\usetikzlibrary{shapes.geometric, arrows, chains, decorations.pathreplacing, positioning, fit}
\AtBeginDocument{%
\DeclareFontFamilySubstitution{T2A}{\familydefault}{Tempora-TLF}%
}
\primebars
\let\emptyset\varnothing
\geometry{
a4paper,
margin=3cm
}
\newcommand{\?}[1]{\foreignlanguage{russian}{#1}}
\noautomath
\begin{document}
\vspace{5mm}
\section*{Hubungan sintaksis}
\vspace{5mm}
\tikzstyle{startstop} = [rectangle, rounded corners, minimum width=3cm, minimum height=2.5cm, text centered, draw=black, text width=3cm]
\tikzstyle{io} = [trapezium, trapezium left angle=70, trapezium right angle=110, minimum width=3cm, minimum height=1cm, text centered, draw=black, fill=blue!30]
\tikzstyle{process} = [rectangle, minimum width=1cm, minimum height=1cm, text centered, draw=black, text width=2.5cm]
\tikzstyle{decision} = [diamond, minimum width=3cm, minimum height=1cm, text centered, draw=black, fill=green!30]
\tikzstyle{arrow} = [thick,->,>=stealth]
\tikzstyle{line} = [draw, -latex']
\def\layersep{2.5cm}
\begin{adjustbox}{width=\textwidth}
\begin{tikzpicture}[node distance=4cm, box/.style = {draw,black,inner sep=18pt,rounded corners=5pt}]
\node (kr) [process, label=above:{Agen}] {Kerusiaan};
\node (bn) [process, right of=kr, label=above:{Sasaran}] {Binan};
\path [line] (kr) -- node [text width=2.5cm,midway,above,align=center ] {Aksi} (bn);
\node[box,fit=(kr)(bn)] {};
\end{tikzpicture}\hspace{1cm}%
\begin{tikzpicture}[node distance=4cm, box/.style = {draw,black,inner sep=18pt,rounded corners=5pt}]
\node (kr) [process, label=above:{Agen}] {Binan};
\node (bn) [process, right of=kr, label=above:{Sasaran}] {Non-kerusiaan};
\path [line] (kr) -- node [text width=2.5cm,midway,above,align=center ] {Aksi} (bn);
\node[box,fit=(kr)(bn)] {};
\end{tikzpicture}\hspace{1cm}%
\begin{tikzpicture}[node distance=4cm, box/.style = {draw,black,inner sep=18pt,rounded corners=5pt}]
\node (kr) [process, label=above:{Agen}] {Binan};
\node (bn) [process, right of=kr, label=above:{Sasaran}] {Kerusiaan};
\path [line] (kr) -- node [text width=2.5cm,midway,above,align=center ] {Aksi} (bn);
\node[box,fit=(kr)(bn)] {};
\end{tikzpicture}
\end{adjustbox}
\end{document}
Ich möchte, dass der Abstand zwischen dem oberen Feld mit den Beschriftungen und dem unteren Feld am unteren Rand der Knoten gleich ist. Mit hinzugefügten Texten über dem äußeren Feld. Was soll ich tun?
Antwort1
Ich habe es mit diesem Code zum Laufen gebracht:
\documentclass[10pt]{article}
\ExpandArgs{c}\newcommand{new@fontshape}{anything}
\usepackage[russian,indonesian]{babel}
\usepackage{newtx}
\usepackage{linguex}
\usepackage[none]{hyphenat}
\usepackage{geometry}
\usepackage{setspace}
\usepackage{booktabs}
\usepackage{tikz}
\usepackage{tikz-qtree}
\usepackage{gb4e}
\usepackage{adjustbox}
\usetikzlibrary{shapes.geometric, arrows, chains, decorations.pathreplacing, positioning, fit}
\AtBeginDocument{%
\DeclareFontFamilySubstitution{T2A}{\familydefault}{Tempora-TLF}%
}
\primebars
\let\emptyset\varnothing
\geometry{
a4paper,
margin=3cm
}
\newcommand{\?}[1]{\foreignlanguage{russian}{#1}}
\noautomath
\begin{document}
\vspace{5mm}
\section*{Hubungan sintaksis}
\vspace{5mm}
\tikzstyle{startstop} = [rectangle, rounded corners, minimum width=3cm, minimum height=2.5cm, text centered, draw=black, text width=3cm]
\tikzstyle{io} = [trapezium, trapezium left angle=70, trapezium right angle=110, minimum width=3cm, minimum height=1cm, text centered, draw=black, fill=blue!30]
\tikzstyle{process} = [rectangle, minimum width=1cm, minimum height=1cm, text centered, draw=black, text width=2.5cm]
\tikzstyle{decision} = [diamond, minimum width=3cm, minimum height=1cm, text centered, draw=black, fill=green!30]
\tikzstyle{arrow} = [thick,->,>=stealth]
\tikzstyle{line} = [draw, -latex']
\def\layersep{2.5cm}
\begin{adjustbox}{width=\textwidth}
\begin{tikzpicture}[node distance=4cm, box/.style = {draw,black,inner sep=5pt,rounded corners=5pt}]
\node (kr) [process, fill=gray!15,thin,rounded corners] {Kerusiaan};
\node (bn) [process, fill=gray!60,thin,rounded corners, right of=kr] {Binan};
\node (n1) [inner sep=0pt,draw=none,above=2pt of kr] {Agen};
\node (n2) [inner sep=0pt,draw=none,above=3.5pt of bn] {Sasaran};
\path [line] (kr) -- node [text width=2.5cm,midway,above,align=center] {Aksi} (bn);
\path (kr) -- node[midway,draw=none,inner sep=2pt, above=12.5mm] {teks} (bn);
\node[box,fit=(kr)(bn)(n1)(n2)] {};
\end{tikzpicture}\hspace{1cm}%
\begin{tikzpicture}[node distance=4cm, box/.style = {draw,black,inner sep=5pt,rounded corners=5pt}]
\node (kr) [process, fill=gray!60,thin,rounded corners] {Binan};
\node (bn) [process, fill=gray!5,draw,dashed, right of=kr] {Non-kerusiaan};
\node (n1) [inner sep=0pt,draw=none,above=2pt of kr] {Agen};
\node (n2) [inner sep=0pt,draw=none,above=3.5pt of bn] {Sasaran};
\path [line] (kr) -- node [text width=2.5cm,midway,above,align=center ] {Aksi} (bn);
\path (kr) -- node[midway,draw=none,inner sep=2pt, above=12.5mm] {teks} (bn);
\node[box,fit=(kr)(bn)(n1)(n2)] {};
\end{tikzpicture}\hspace{1cm}%
\begin{tikzpicture}[node distance=4cm, box/.style = {draw,black,inner sep=5pt,rounded corners=5pt}]
\node (kr) [process, fill=gray!60,thin,rounded corners] {Binan};
\node (bn) [process, fill=gray!15,thin,rounded corners, right of=kr] {Kerusiaan};
\node (n1) [inner sep=0pt,draw=none,above=2pt of kr] {Agen};
\node (n2) [inner sep=0pt,draw=none,above=3.5pt of bn] {Sasaran};
\path [line] (kr) -- node [text width=2.5cm,midway,above,align=center ] {Aksi} (bn);
\path (kr) -- node[midway,draw=none,inner sep=2pt, above=12.5mm] {teks} (bn);
\node[box,fit=(kr)(bn)(n1)(n2)] {};
\end{tikzpicture}
\end{adjustbox}
\end{document}
Weitere Vorschläge sind willkommen!
Antwort2
Anstatt drei tikzpicture
Umgebungen zu erstellen, erstelle ich nur eine, in der sich jede Ihrer drei Figuren in einer scope
Umgebung befindet, sodass Sie sie präzise im Verhältnis zueinander positionieren können.
Ich benenne dann jedes Label, Agen
sobald es definiert ist.
\documentclass[10pt]{article}
\ExpandArgs{c}\newcommand{new@fontshape}{anything}
\usepackage[russian,indonesian]{babel}
\usepackage{newtx}
\usepackage{linguex}
\usepackage[none]{hyphenat}
\usepackage{geometry}
\usepackage{setspace}
\usepackage{booktabs}
\usepackage{tikz}
\usepackage{tikz-qtree}
\usepackage{gb4e}
\usepackage{adjustbox}
\usetikzlibrary{shapes.geometric, arrows, chains, decorations.pathreplacing, positioning, fit}
\AtBeginDocument{%
\DeclareFontFamilySubstitution{T2A}{\familydefault}{Tempora-TLF}%
}
\primebars
\let\emptyset\varnothing
\geometry{
a4paper,
margin=3cm
}
\newcommand{\?}[1]{\foreignlanguage{russian}{#1}}
\noautomath
\begin{document}
\vspace{5mm}
\section*{Hubungan sintaksis}
\vspace{5mm}
\tikzstyle{startstop} = [rectangle, rounded corners, minimum width=3cm, minimum height=2.5cm, text centered, draw=black, text width=3cm]
\tikzstyle{io} = [trapezium, trapezium left angle=70, trapezium right angle=110, minimum width=3cm, minimum height=1cm, text centered, draw=black, fill=blue!30]
\tikzstyle{process} = [rectangle, minimum width=1cm, minimum height=1cm, text centered, draw=black, text width=2.5cm]
\tikzstyle{decision} = [diamond, minimum width=3cm, minimum height=1cm, text centered, draw=black, fill=green!30]
\tikzstyle{arrow} = [thick,->,>=stealth]
\tikzstyle{line} = [draw, -latex']
\def\layersep{2.5cm}
\begin{adjustbox}{width=\textwidth}
\begin{tikzpicture}[node distance=4cm, box/.style = {draw,black,inner sep=5pt,rounded corners=5pt}]
\node (kr) [process, label={[name=label 1]above:Agen}] {Kerusiaan};
\node (bn) [process, right of=kr, label=above:Sasaran] {Binan};
\path [line] (kr) -- node [text width=2.5cm,midway,above,align=center ] {Aksi} (bn);
\node[fit=(bn)(label 1),inner sep=0pt] (fit 1){};
\node[box,fit=(kr)(fit 1)] {};
\begin{scope}[xshift=8cm]
\node (kr) [process, label={[name=label 2]above:Agen}] {Binan};
\node (bn) [process, right of=kr, label=above:{Sasaran}] {Non-kerusiaan};
\path [line] (kr) -- node [text width=2.5cm,midway,above,align=center ] {Aksi} (bn);
\node[fit=(bn)(label 2),inner sep=0pt] (fit 2){};
\node[box,fit=(kr)(fit 2)] {};
\end{scope}
\begin{scope}[xshift=16cm]
\node (kr) [process, label={[name=label 3]above:Agen}] {Binan};
\node (bn) [process, right of=kr, label=above:{Sasaran}] {Kerusiaan};
\path [line] (kr) -- node [text width=2.5cm,midway,above,align=center ] {Aksi} (bn);
\node[fit=(bn)(label 3),inner sep=0pt] (fit 3){};
\node[box,fit=(kr)(fit 3)] {};
\end{scope}
\end{tikzpicture}
\end{adjustbox}
\end{document}