
Zarko의 코드를 일부 변경했습니다.여기나만의 순서도를 만들어 보세요.
\documentclass[a4paper,11pt,twoside]{book}
\usepackage[a4paper,left=2.5cm,right=2.5cm,top=2.5cm,bottom=2.5cm]{geometry}
\usepackage{amsmath, amsthm, amssymb, amsfonts}
\usepackage[english,greek]{babel}
\usepackage[utf8]{inputenc}
\usepackage{tikz}
% shapes
\usetikzlibrary{shapes}
%arrows
\usetikzlibrary{arrows,arrows.meta}
%decorations
\usetikzlibrary{decorations.text,decorations.pathreplacing,patterns,shadows.blur,fadings}
% miscellaneous
\usetikzlibrary{calc,quotes,positioning,fpu,angles,fit,spy,chains}
\begin{document}
\begin{tikzpicture}[
node distance = 8mm and 16mm,
start chain = A going below,
base/.style = {draw, minimum width=32mm, minimum height=8mm,
align=center, on chain=A},
startstop/.style = {ultra thick,double,base, rectangle, rounded corners, fill=white},
process/.style = {ultra thick,base, rectangle, fill=white},
io/.style = {ultra thick,base, trapezium,
trapezium left angle=70, trapezium right angle=110,
fill=white},
decision/.style = {ultra thick,base, diamond, fill=white},
every edge quotes/.style = {auto=right}]
]
\node [startstop] {Έναρξη}; % <-- A-1
\node [io] {Εισαγωγή}; %A-2
\node [decision] {Ερώτηση}; %Α-3
\node [io] {Απάντηση}; %A-4
\node [startstop] {Τέλος}; % <-- A-5
\node [process, right=of A-3] {Κάτι}; % <-- A-6
\draw [arrows=-Stealth]
(A-1) edge (A-2)
(A-2) edge (A-3)
(A-3) edge ["όχι"] (A-4)
(A-3) edge ["ναι"] (A-6)
(A-4) edge (A-5)
(A-6) |- ($(A-1.south east)!0.5!(A-2.north east)$)
-| ([xshift=7mm] A-2.north)
;
\end{tikzpicture}
\end{document}
이것이 어떻게 생겼는지입니다.
A-3
문제는 (다이아몬드 "Ερώτισι") 에서 A-2
(평행사변형 "ΕισαγΩγή") 까지 화살표를 그리는 방법을 모른다는 것입니다.A-6
.나는 다음과 같은 것을 원합니다 :
내가 어떻게 해?
답변1
다음을 수행하여 코드를 가능한 한 적게 수정했습니다.
every join/.style=-Stealth
체인을 다시 구성하지 않고도 화살표를 자동으로 그리는 옵션을 추가했습니다 .노드 A-6을 체인에 결합하지 않고, 추적하여 좌표로 변환하지 않고 노드 A-2의 오른쪽 상단에 배치했습니다.
\node [on chain,coordinate, above right=3mm and 20 mm of A-2]{}; % <-- A-6
- 따라서 (A-6)이 체인에 연결되지 않았기 때문에 루프에 대한 화살표를 만듭니다.
\draw [arrows=-Stealth] (A-3) -| node[pos=.25,below]{Κάτι}(A-6)-| (A-2.30);
- 화살표는 이미 체인에 의해 만들어졌기 때문에 더 이상 아무것도 그리지 않고 라벨만 배치합니다.
\path (A-3) --node[left]{όχι} (A-4);
\documentclass[a4paper,11pt,twoside]{book}
\usepackage[a4paper,left=2.5cm,right=2.5cm,top=2.5cm,bottom=2.5cm]{geometry}
\usepackage{amsmath, amsthm, amssymb, amsfonts}
\usepackage[utf8]{inputenc}
%\usepackage[greek]{babel}
% babel dont work for me, i took these 5 lines from the answer of Zarko
\usepackage{fontspec}
\usepackage{polyglossia}
\setmainlanguage{greek}
\setromanfont{Minion Pro} %% Select your favourite font
\setotherlanguage{english}
\usepackage{tikz}
% shapes
\usetikzlibrary{shapes}
%arrows
\usetikzlibrary{arrows,arrows.meta}
%decorations
\usetikzlibrary{decorations.text,decorations.pathreplacing,patterns,shadows.blur,fadings}
% miscellaneous
\usetikzlibrary{calc,quotes,positioning,fpu,angles,fit,spy,chains}
\begin{document}
\begin{tikzpicture}[
node distance = 8mm and 16mm,
start chain = A going below,
base/.style = {draw, minimum width=32mm, minimum height=8mm,
align=center, on chain=A,join},
startstop/.style = {ultra thick,double,base, rectangle, rounded corners, fill=white},
process/.style = {ultra thick,base, rectangle, fill=white},
io/.style = {ultra thick,base, trapezium,
trapezium left angle=70, trapezium right angle=110,
fill=white},
decision/.style = {ultra thick,base, diamond, fill=white},
every edge quotes/.style = {auto=right},
every join/.style=-Stealth]
]
\node [startstop] {Έναρξη}; % <-- A-1
\node [io] {Εισαγωγή}; %A-2
\node [decision] {Ερώτηση}; %Α-3
\node [io] {Απάντηση}; %A-4
\node [startstop] {Τέλος}; % <-- A-5
\node [on chain,coordinate, above right=3mm and 20 mm of A-2]{}; % <-- A-6
\draw [arrows=-Stealth]
(A-3) -| node[pos=.25,below]{Κάτι}(A-6)-| (A-2.30);
\draw (A-3) --node[left]{όχι} (A-4);
\end{tikzpicture}
\end{document}
답변2
A-3
노드 "A-6"을 제거하고 에서 까지 화살표를 그리기만 하면 됩니다 A-2
. 나는 또한 로딩 tikz
라이브러리와 이미지에 대한 약간 단순화/단축된 코드를 재배치할 기회를 얻었습니다 .
\documentclass[a4paper,11pt,twoside]{book}
\usepackage[a4paper,
margin=2.5cm]{geometry}
\usepackage{amsmath, amsthm, amssymb}
\usepackage{fontspec}
\usepackage{polyglossia}
\setmainlanguage{greek}
\setromanfont{Minion Pro} %% Select your favorite font
\setotherlanguage{english}
\usepackage{tikz}
\usetikzlibrary{angles, arrows, arrows.meta,
calc, chains,
decorations.text, decorations.pathreplacing,
fadings, fit,
patterns, positioning,
quotes,
shapes, shadows.blur,
spy}
\begin{document}
\centering
\begin{tikzpicture}[
node distance = 8mm and 4mm,
start chain = A going below,
base/.style = {draw, minimum width=32mm, minimum height=8mm,
align=center, on chain=A, join=by -Stealth},
startstop/.style = {ultra thick,double,base, rectangle, rounded corners, fill=white},
process/.style = {ultra thick,base, rectangle, fill=white},
io/.style = {trapezium, trapezium stretches,
trapezium left angle=70, trapezium right angle=110,
base, ultra thick, fill=white},
decision/.style = {ultra thick,base, diamond, fill=white},
every edge quotes/.style = {auto=right}
]
\node [startstop] {Έναρξη}; % <-- A-1
\node [io] {Εισαγωγή};
\node [decision] {Ερώτηση};
\node [io] {Απάντηση};
\node [startstop] {Τέλος}; % <-- A-5
\coordinate[above left=of A-2.east] (aux);
\draw [arrows=-Stealth]
(A-3.east) to ["ναι"] ++ (1,0) |- (aux) -- (aux |- A-2.north);
\path (A-3) to ["όχι"] (A-4);
\end{tikzpicture}
\end{document}
편집 1:XeLaTeX 엔진으로 컴파일되었습니다.
편집 2:MWE에 있는 모든 라이브러리의 라이브러리는 실제로 다음 항목에만 사용됩니다.
\usetikzlibrary{arrows.meta,
chains,
positioning,
quotes,
shapes
}