図は次のようになると思います。
しかし、私が作成した図はこの説明と一致しません これが私の試みです
\documentclass[]{article}
\usepackage[left=.5cm,right=.5cm,top=3cm,bottom=1cm]{geometry}
\usepackage{tikz}
\usepackage{tkz-euclide}
\usepackage{amsmath}
\usepackage{amssymb}
\usepackage{amsfonts}
\usepackage{esvect}
\usepackage{ifthen}
\usepackage{stmaryrd}
\usepackage{xspace}
\usepackage{mathtools}
\newcommand{\lm}[2]{\displaystyle{\lim_{{#1}\to {#2}}}}
\begin{document}
\begin{center}
\begin{tikzpicture}
\node[rectangle, draw=brown, fill=brown!75, minimum height=1cm, minimum width=5cm, rounded corners] (1) {$\lm{x}{\infty}f(x) = a$};
\node[rectangle, draw=brown, fill=brown!75, minimum height=1cm, minimum width=5cm, rounded corners, right= 1cm of 1] (2) {$\lm{x}{\infty}f(x) = \infty$};
\node[rectangle, draw=brown, fill=brown!75, minimum height=1cm, minimum width=5cm, rounded corners, right= 1cm of 2] (3) {$\lm{x}{a}f(x) = a$};
\node[rectangle, draw=cyan, fill=cyan!50, minimum height=1cm, minimum width=5cm, rounded corners, below left= 1cm and 0cm of 2] (4) {$\lm{x}{\infty}\left[f(x) - (ax - b)\right] = 0$};
\node[rectangle, draw=cyan, fill=cyan!50, minimum height=1cm, minimum width=4cm, rounded corners, right= 1mm of 4] (5) {$\lm{x}{\infty}\dfrac{f(x)}{x} = a \ ; \ a \neq 0$};
\node[rectangle, draw=cyan, fill=cyan!50, minimum height=1cm, minimum width=3cm, rounded corners, right= 1mm of 5] (6) {$\lm{x}{\infty}\dfrac{f(x)}{x} = \infty$};
\node[rectangle, draw=cyan, fill=cyan!50, minimum height=1cm, minimum width=3cm, rounded corners, right= 1mm of 6] (7) {$\lm{x}{\infty}\dfrac{f(x)}{x} = 0$};
\node[rectangle, draw=cyan, fill=cyan!50, minimum height=1cm, minimum width=3cm, rounded corners, below left= 1cm and -2cm of 5] (8) {$\lm{x}{\infty}\left[f(x) - ax\right] = b$};
\node[rectangle, draw=cyan, fill=cyan!50, minimum height=1cm, minimum width=3cm, rounded corners, right= 1mm of 8] (9) {$\lm{x}{\infty}\left[f(x) - ax\right] = \infty$};
\node[rectangle, draw=green, fill=green!50, minimum height=5cm, rounded corners, below left = 1cm and 2cm of 8] (10) {
\begin{minipage}{2.5cm}
$(C_f)$ admet une \\ asymptote horizontale \\ d'équation $y=a$ \\ au voisinage de $\infty$
\end{minipage}};
\node[rectangle, draw=green, fill=green!50, minimum height=5cm, rounded corners, right = 1mm of 10] (11) {
\begin{minipage}{2.5cm}
$(C_f)$ admet une \\ asymptote oblique \\ d'équation $y=ax+b$ \\ au voisinage de $\infty$
\end{minipage}};
\node[rectangle, draw=green, fill=green!50, minimum height=5cm, rounded corners, right = 1mm of 11] (12) {
\begin{minipage}{2.5cm}
$(C_f)$ admet une \\ branche parabolique \\ de direction la droite \\ d'équation $y=ax$ \\ au voisinage de $\infty$
\end{minipage}};
\node[rectangle, draw=green, fill=green!50, minimum height=5cm, rounded corners, right = 1mm of 12] (13) {
\begin{minipage}{2.5cm}
$(C_f)$ admet une \\ branche parabolique \\ de direction l'axe des ordonnées \\ d'équation $y=ax$ \\ au voisinage de $\infty$
\end{minipage}};
\node[rectangle, draw=green, fill=green!50, minimum height=5cm, rounded corners, right = 1mm of 13] (14) {
\begin{minipage}{2.5cm}
$(C_f)$ admet une \\ branche parabolique \\ de direction l'axe des abscisses \\ d'équation $y=ax$ \\ au voisinage de $\infty$
\end{minipage}};
\node[rectangle, draw=green, fill=green!50, minimum height=5cm, rounded corners, right = 1mm of 14] (15) {
\begin{minipage}{2.5cm}
$(C_f)$ admet une \\ asymptote verticale \\ d'équation $x=a$
\end{minipage}};
\draw[blue, very thick,-latex] ([xshift=-2cm]1.south) -- ([xshift=-1cm] 10.north);
\draw[blue, very thick,-latex] ([xshift=2cm]3.south) -- ([xshift=1cm] 15.north);
\draw[blue, very thick,-latex] ([xshift=-1mm]2.south) -- (4.north);
\draw[blue, very thick,-latex] (2.south) -- (5.north);
\draw[blue, very thick,-latex] ([xshift=1mm]2.south) -- (6.north);
\draw[blue, very thick,-latex] ([xshift=3mm]2.south) -- (7.north);
\draw[blue, very thick,-latex] (5.south) -- (8.north);
\draw[blue, very thick,-latex] (5.south) -- (9.north);
\draw[blue, very thick,-latex] (4.south) -- (11.north);
\draw[blue, very thick,-latex] (8.south) -- (11.north);
\draw[blue, very thick,-latex] (9.south) -- (12.north);
\draw[blue, very thick,-latex] (6.south) -- (13.north);
\draw[blue, very thick,-latex] (7.south) -- (14.north);
\end{tikzpicture}
\end{center}
\end{document}
答え1
これを行う 1 つの方法は、可能な限り既存のアプローチを再利用することです。ただし、配置に関しては、より優れた一貫性のある代替手段があります。少なくとも、これはより良い出発点です。
私のコメントに従ってくださいflow of changes
:
% ~~~ REFACTORING ~~~~~~~~~~~~
% * commented out unsused packages
% * defining styles to simplify code (you can still remove or vary all those \\)
% * adjusted code indenting and formatting for better visibility of what's going on
% * tried \def vs. \newcommand, which seems to be a bit faster during compile
% (Tikz seems to prefer TeX-notation here)
% * demonstrated refactoring for the connectors: (2) -- (4), (5) -- (8)
The styles
色、サイズなどに関連する部分はさらにリファクタリングできるかもしれませんが、現時点ではこれで十分です。シフトについても同様です。
Please look up
これらすべての詳細を並行してpgfマニュアル。
For the brown row
私はあなたのアプローチを採用し、シフトを簡素化し、つまりあなたの選択権を置き換えました(これにより、前述のようにエラーが発生していました)。
For the other ones
アプローチは異なります:
- 最初の(一番左の)ものを
\node
絶対位置に配置する XSBL
などで定義される間にいくらかの xshift を挟んで、東から西に置きます。
The text in the green boxes
text width=
Tikzではと を使ってより適切に制御できますalign=
。pgfマニュアル私のアプローチではこれらは\\
もはや必要ありませんが、テキストフローをより適切に制御するために引き続き使用できます。
The changes for the connectors
線と についてはデモンストレーションを行いました(2) -- (4)
が(5) -- (8)
、詳細な調整は皆さんにお任せします。
- 最初のものは単純明快です
- 2番目は、相対座標で与えられた中間点を必要とする。
- ! 下方向へのシフトとコーナー半径により、アーティファクトが発生する可能性があります。
The key syntax here
極座標を使用しています<node name>.<angle>
。例えば、(2.185)
ノード (2) を取り、このノードの中心と角度 (または海事用語では西より少し遠い角度) からビームを放射し185deg
、ノードの境界と交差するまで放射します。この方法では、開始点と終了点を好きなように移動できます。
Lots is left for you
調整に関しては、基本的には次のようになります。
- の変化
XSB
、XSBL
およびXSG
- 各ノードの極角
- おそらく左ノードの絶対位置
Putting an arrow midway
可能ですが、何らかの装飾が必要となり、ほとんどの場合コンパイル時間が長くなります。本当に必要ですか?
Finally
最初からクリーンなコーディングを行い、できるだけ頻繁にリファクタリングすることが常に良い考えです。
% ~~~ REFACTORING ~~~~~~~~~~~~
% * commented out unsused packages
% * defining styles to simplify code (you can still remove or vary all those \\)
% * adjusted code indenting and formatting for better visibility of what's going on
% * tried \def vs. \newcommand, which seems to be a bit faster during compile
% (Tikz seems to prefer TeX-notation here)
% * demonstrated refactoring for the connectors: (2) -- (4), (5) -- (8)
\documentclass[]{article}
\usepackage[left=.5cm,right=.5cm,top=3cm,bottom=1cm]{geometry}
\usepackage{tikz}
\usetikzlibrary{arrows.meta} % <<<
%\usepackage{tkz-euclide}
\usepackage{amsmath}
\usepackage{amssymb}
\usepackage{amsfonts}
%\usepackage{esvect}
%\usepackage{ifthen}
%\usepackage{stmaryrd}
%\usepackage{xspace}
%\usepackage{mathtools}
%\newcommand{\lm}[2]{\displaystyle{\lim_{{#1}\to {#2}}}}
\def\lm#1#2{\displaystyle{\lim_{{#1}\to {#2}}}}
\begin{document}
\begin{center}
\begin{tikzpicture}[
DIM/.style={ minimum height=1cm, minimum width=5cm, rounded corners},
A/.style={draw=brown, fill=brown!75,DIM},
B/.style={draw=cyan, fill=cyan!50, DIM,minimum width=3cm},
C/.style={draw=green, fill=green!50, minimum height=5cm,
rounded corners,align=center,text width=25mm},
XSB/.style ={xshift=73mm},
XSBL/.style={anchor=west,xshift=2mm},
XSG/.style ={anchor=west,xshift=4mm},
ARR/.style ={blue, very thick,->,rounded corners=16pt},
> = {Stealth},
]
% ~~~ brown row ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
\node[A,anchor=west] (1) at (0,0) {$\lm{x}{\infty}f(x) = a$};
\node[A] (2) at ([XSB] 1) {$\lm{x}{\infty}f(x) = \infty$};
\node[A] (3) at ([XSB] 2) {$\lm{x}{a}f(x) = a$};
% ~~~ 1st blue row ~~~~~~~~~~~~~~~~~~~~~~~~~
\node[B,anchor=west] (4) at (2,-3) {$\lm{x}{\infty}\left[f(x) - (ax - b)\right] = 0$};
\node[B,XSBL] (5) at (4.east) {$\lm{x}{\infty}\dfrac{f(x)}{x} = a \ ; \ a \neq 0$};
\node[B,XSBL] (6) at (5.east) {$\lm{x}{\infty}\dfrac{f(x)}{x} = \infty$};
\node[B,XSBL] (7) at (6.east) {$\lm{x}{\infty}\dfrac{f(x)}{x} = 0$};
% ~~~ 2nd blue row ~~~~~~~~~~~~~
\node[B,anchor=west] (8) at (4,-6) {$\lm{x}{\infty}\left[f(x) - ax\right] = b$};
\node[B,XSBL] (9) at (8.east) {$\lm{x}{\infty}\left[f(x) - ax\right] = \infty$};
% ~~~ green row ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
\node[C,anchor=west] (10) at (0,-12){
$(C_f)$ admet une asymptote horizontale
d'équation $y=a$ \\ au voisinage de $\infty$};
\node[C,XSG] (11) at (10.east) {
$(C_f)$ admet une \\ asymptote oblique \\
d'équation $y=ax+b$ \\ au voisinage de $\infty$};
\node[C,XSG] (12) at (11.east) {
$(C_f)$ admet une \\ branche parabolique \\
de direction la droite \\ d'équation $y=ax$ \\
au voisinage de $\infty$};
\node[C,XSG] (13) at (12.east) {
$(C_f)$ admet une \\ branche parabolique \\
de direction l'axe des ordonnées \\ d'équation
$y=ax$ \\ au voisinage de $\infty$};
\node[C,XSG] (14) at (13.east) {
$(C_f)$ admet une \\ branche parabolique \\
de direction l'axe des abscisses \\
d'équation $y=ax$ \\ au voisinage de $\infty$};
\node[C,XSG] (15) at (14.east) {
$(C_f)$ admet une \\ asymptote verticale
\\ d'équation $x=a$};
% % ~~~ connectors ~~~~~~~~~~~~~~~~
\draw[ARR] ([xshift=-2cm]1.south) -- ([xshift=-1cm] 10.north);
\draw[ARR] ([xshift=2cm]3.south) -- ([xshift=1cm] 15.north);
% ~~~ TO DO: rework all other \draw's like this one: ~~~~~~~~~
\draw[ARR] (2.185) -| (4.20);
\draw[blue, very thick,-latex] (2.south) -- (5.north);
% \draw[blue, very thick,-latex] ([xshift=1mm]2.south) -- (6.north);
% \draw[blue, very thick,-latex] ([xshift=3mm]2.south) -- (7.north);
\draw[ARR] (5.230) -- ++(0,-.6) -| (8.north);
% \draw[blue, very thick,-latex] (5.south) -- (9.north);
% \draw[blue, very thick,-latex] (4.south) -- (11.north);
% \draw[blue, very thick,-latex] (8.south) -- (11.north);
% \draw[blue, very thick,-latex] (9.south) -- (12.north);
% \draw[blue, very thick,-latex] (6.south) -- (13.north);
% \draw[blue, very thick,-latex] (7.south) -- (14.north);
\end{tikzpicture}
\end{center}
\end{document}