List of commits:
Subject Hash Author Date (UTC)
fd deleted 8ba0a92ca38f25f6bb10b68d27e0cfb5b8719a3f Poonam Veeral 2020-04-08 12:36:42
misc updated 37bac44c663e91e07d28a76031aef855907e097d Poonam Veeral 2020-04-08 12:36:01
misc deleted 3a5c7e6b44694169109a1fb71e2f23508708dd67 Poonam Veeral 2020-04-08 12:35:23
rel_mod updated d20af615ee586d57e85b873f28174870cf33d574 Poonam Veeral 2020-04-08 12:34:37
deleted dc4debbc6caa6857438051f3591b692186878392 Poonam Veeral 2020-04-08 12:33:42
rel_mod updated e75e40028412899276f36b55ddf8856d47e1b1dc Poonam Veeral 2020-04-08 12:31:58
uml updated 66ee8ea267cb09112b0eae2b106936f81caa1d79 Poonam Veeral 2020-04-08 12:25:06
uml folder deleted 219c795f28525733c62e7cfffecc9339295c492e Poonam Veeral 2020-04-08 12:22:59
uml folder updated f1a1e6532efb36ac4df1e20ebe6fc7dc21f3d70c Poonam Veeral 2020-04-07 19:55:02
img folder updated 57c7ea4b6eebae552a5ca1667ccdba7c16f18a9d Poonam Veeral 2020-04-07 19:42:45
img folder deleted 79804ff5740d2a8256dd42bfe909e9abd079bd01 Poonam Veeral 2020-04-07 19:41:58
Update lectures_notes.md 764f19778c397d6b592b88945e6c803ea9e33b75 poonamveeral 2020-04-07 19:23:21
Update lectures_notes.md 75ce1301b80c1f8a23dc88b9033c581b7c287de5 poonamveeral 2020-04-07 19:14:57
Update lectures_notes.md c568007f7cecde6171535a30b15f97bc6b561db0 Poonam Veeral 2020-04-07 19:06:47
img Folder Naming Convention Updated 76e82959772152908a87a52a0645783eb6afc0ed Poonam Veeral 2020-04-07 18:54:54
Rename Shiporder.xml to shipOrder.xml 5bc4b056c197102d04eedaac06272a344de7d63b poonamveeral 2020-04-07 18:33:27
Rename Customers.xml to customers.xml 67086df0a0bc3496bb83321a3d0686dadb782519 poonamveeral 2020-04-07 18:33:07
XML Folder Naming Convention Updated 400fae7b0a67422021a95c7759c86fd3a0eb7dc1 Poonam Veeral 2020-04-07 18:27:34
Java Folder Naming Convention Updated bf243536c63090c501bebc93c875ca3c71779afc Poonam Veeral 2020-04-07 18:13:45
Update Naming Convention.md 74ae9c3205601edf825cdcb2eeffca07f1177665 Poonam Veeral 2020-04-03 15:23:42
Commit 8ba0a92ca38f25f6bb10b68d27e0cfb5b8719a3f - fd deleted
Author: Poonam Veeral
Author date (UTC): 2020-04-08 12:36
Committer name: Poonam Veeral
Committer date (UTC): 2020-04-08 12:36
Parent(s): 37bac44c663e91e07d28a76031aef855907e097d
Signer:
Signing key:
Signing status: N
Tree: d0c336a1feb5fc58b0a3bd66f43e2eb0f1dc6736
File Lines added Lines deleted
notes/fig/fd/Course.tex 0 15
notes/fig/fd/Course_Norm1.tex 0 16
notes/fig/fd/DriverExample1.tex 0 13
notes/fig/fd/DriverExample2.tex 0 16
notes/fig/fd/Example.tex 0 16
notes/fig/fd/Example2NF1.tex 0 14
notes/fig/fd/Example2NF2.tex 0 16
notes/fig/fd/Example2NF3.tex 0 16
notes/fig/fd/Notation1.tex 0 25
notes/fig/fd/Notation2.tex 0 17
notes/fig/fd/Notation3.tex 0 19
notes/fig/fd/Print.tex 0 16
notes/fig/fd/Schedule.tex 0 29
notes/fig/fd/StudentExample1.tex 0 14
notes/fig/fd/StudentExample2.tex 0 15
notes/fig/fd/model.tex 0 28
notes/fig/fd/template.def 0 82
notes/fig/fd/tikz-dependency.sty 0 322
File notes/fig/fd/Course.tex deleted (index 015ee6f..0000000)
1 \documentclass[margin=20pt]{standalone}
2 \input{template.def}
3
4 \begin{dependency}
5 \begin{deptext}[TxtBook] % Applying the TxtBook style.
6 |[none]| Course \(\big(\) \& \ul{Teacher} \& \ul{Code} \& Credit Hours \& Textbook \& Difficulty \& |[none]| \(\big)\)\\
7 \end{deptext}
8 \depedge[lvl=2]{2}{5}{}
9 \depedge[lvl=2]{3}{5}{}
10 \depedge[lvl=1]{3}{4}{}
11 \depedge[lvl=2]{2}{6}{}
12 % \depedge[lvl=2]{3}{5}{}
13 \end{dependency}
14
15 \end{document}
File notes/fig/fd/Course_Norm1.tex deleted (index 2991672..0000000)
1 \documentclass[margin=20pt]{standalone}
2 \input{template.def}
3
4 \begin{dependency}
5 \begin{deptext}[TxtBook] % Applying the TxtBook style.
6 |[none]| Course \(\big(\) \& \ul{Teacher} \& \ul{Code} \& Textbook \& Difficulty \& |[none]| \(\big)\) % New Line
7 \& |[none]| CreditHours\(\big(\) \& \ul{Code} \& Credit Hours\& |[none]| \(\big)\)\\
8 \end{deptext}
9 \depedge[lvl=1]{2}{5}{}
10 \depedge[lvl=1]{3}{5}{}
11 \depedge[lvl=1]{2}{4}{}
12 \depedge[lvl=1]{8}{9}{}
13 \depedge[lvl=1, FK, edge above]{8}{3}{}
14 \end{dependency}
15
16 \end{document}
File notes/fig/fd/DriverExample1.tex deleted (index 23f797b..0000000)
1 \documentclass[margin=20pt]{standalone}
2 \input{template.def}
3
4 \begin{dependency}
5 \begin{deptext}[TxtBook] % Applying the TxtBook style.
6 |[none]| DRIVER \(\big(\) \& State \& Driver\_Licence\_Num \& Name \& Governor) \& |[none]| \(\big)\)\\
7 \end{deptext}
8 \depedge[lvl=1]{2}{4}{}
9 \depedge[lvl=1]{3}{4}{}
10 \depedge[lvl=1, edge above]{2}{5}{}
11 \end{dependency}
12
13 \end{document}
File notes/fig/fd/DriverExample2.tex deleted (index dac4ff1..0000000)
1 \documentclass[margin=20pt]{standalone}
2 \input{template.def}
3
4 \begin{dependency}
5 \begin{deptext}[TxtBook] % Applying the TxtBook style.
6 |[none]| DRIVER \(\big(\) \& \ul{State} \& \ul{Driver\_Licence\_Num} \& Name) \& |[none]| \(\big)\) \& |[none]| GOVERNOR \(\big(\) \& \ul{State} \& Governor \& |[none]| \(\big)\)\\
7 \end{deptext}
8 \depedge[lvl=1]{2}{4}{}
9 \depedge[lvl=1]{3}{4}{}
10 \depedge[lvl=1]{7}{8}{}
11 \depedge[lvl=1, FK, edge above]{7}{2}{}
12 \end{dependency}
13
14
15
16 \end{document}
File notes/fig/fd/Example.tex deleted (index bfd444b..0000000)
1 \documentclass[margin=20pt]{standalone}
2 \input{template.def}
3
4 \begin{dependency}
5 \begin{deptext}[TxtBook] % Applying the TxtBook style.
6 |[none]| R \(\big(\) \& A \& B \& C \& D \& E \& |[none]| \(\big)\)\\
7 \end{deptext}
8 \depedge[lvl=1, edge above]{2}{5}{}
9 \depedge[lvl=1, edge above]{3}{5}{}
10 % \depedge[lvl=1]{3}{4}{}
11 % \depedge[lvl=2]{2}{6}{}
12 \depedge[lvl=1]{4}{3}{}
13 \depedge[lvl=2]{6}{2}{}
14 \end{dependency}
15
16 \end{document}
File notes/fig/fd/Example2NF1.tex deleted (index b087bbf..0000000)
1 \documentclass[margin=20pt]{standalone}
2 \input{template.def}
3
4 \begin{dependency}
5 \begin{deptext}[TxtBook] % Applying the TxtBook style.
6 |[none]| \(R \big(\) \& \ul{\(A_1\)} \& \ul{\(A_2\)} \& \(A_3\) \& \(A_4\) \& \(A_5\) \& |[none]| \(\big)\)\\
7 \end{deptext}
8 \depedge[lvl=1, edge above]{2}{6}{}
9 \depedge[lvl=1, edge above]{3}{6}{}
10 \depedge[lvl=1]{3}{4}{}
11 \depedge[lvl=1]{3}{5}{}
12 \end{dependency}
13
14 \end{document}
File notes/fig/fd/Example2NF2.tex deleted (index 26e7160..0000000)
1 \documentclass[margin=20pt]{standalone}
2 \input{template.def}
3
4 \begin{dependency}
5 \begin{deptext}[TxtBook] % Applying the TxtBook style.
6 |[none]| \(R \big(\) \& \ul{\(A_1\)} \& \ul{\(A_2\)} \& \(A_5\) \& |[none]| \(\big)\) \& |[none]| \(R' \big(\) \& \ul{\(A_2\)} \& \(A_3\) \& |[none]| \(\big)\) \& |[none]| \(R'' \big(\) \& \ul{\(A_2\)} \& \(A_4\)\& |[none]| \(\big)\)\\
7 \end{deptext}
8 \depedge[lvl=1]{2}{4}{}
9 \depedge[lvl=1]{3}{4}{}
10 \depedge[lvl=1]{7}{8}{}
11 \depedge[lvl=1]{11}{12}{}
12 \depedge[lvl=1, FK, edge above]{7}{3}{}
13 \depedge[lvl=1, FK, edge above]{11}{3}{}
14 \end{dependency}
15
16 \end{document}
File notes/fig/fd/Example2NF3.tex deleted (index 3e96837..0000000)
1 \documentclass[margin=20pt]{standalone}
2 \input{template.def}
3
4 \begin{dependency}
5 \begin{deptext}[TxtBook] % Applying the TxtBook style.
6 |[none]| \(R \big(\) \& \ul{\(A_1\)} \& \ul{\(A_2\)} \& \(A_5\) \& |[none]| \(\big)\) \& |[none]| \(R' \big(\) \& \ul{\(A_2\)} \& \(A_3\) \& \(A_4\) \& |[none]| \(\big)\)\\
7 \end{deptext}
8 \depedge[lvl=1]{2}{4}{}
9 \depedge[lvl=1]{3}{4}{}
10 \depedge[lvl=1]{7}{8}{}
11 \depedge[lvl=1]{7}{9}{}
12 \depedge[lvl=1, FK, edge above]{7}{3}{}
13 % \depedge[lvl=1, FK, edge above]{11}{3}{}
14 \end{dependency}
15
16 \end{document}
File notes/fig/fd/Notation1.tex deleted (index 1dbe7d0..0000000)
1 \documentclass[margin=20pt]{standalone}
2 \input{template.def}
3
4 \begin{dependency}
5 \begin{deptext}[TxtBook] % Applying the TxtBook style.
6 MARKER.Id \& MARKER.Color \& MARKER.Brand \& MARKER.Owner \\
7 \end{deptext}
8 \depedge[lvl=1]{1}{2}{} % Edge are organized by level.
9 \depedge[lvl=1]{1}{3}{}
10 \depedge[lvl=1]{1}{4}{}
11 \depedge[lvl=1, edge above]{4}{2}{}
12 \depedge[lvl=1, edge above]{4}{3}{}
13 \end{dependency}
14
15 \par
16
17 \begin{dependency}
18 \begin{deptext}[TxtBook] % Applying the TxtBook style.
19 TEACHER.Name \& TEACHER.Office \& TEACHER.Phone \\
20 \end{deptext}
21 \depedge[lvl=1]{2}{1}{}
22 \depedge[lvl=1]{2}{3}{}
23 \end{dependency}
24
25 \end{document}
File notes/fig/fd/Notation2.tex deleted (index ef09a7c..0000000)
1 \documentclass[margin=20pt]{standalone}
2 \input{template.def}
3
4 \begin{dependency}
5 \begin{deptext}[TxtBook] % Applying the TxtBook style.
6 |[none]| MARKER \(\big(\) \& Id \& Color \& Brand \& Owner \& |[none]| \(\big)\) \& |[none]| TEACHER \(\big(\) \& Name \& Office \& Phone \& |[none]| \(\big)\) \\
7 \end{deptext}
8 \depedge[lvl=1]{2}{3}{} % Edge are organized by level.
9 \depedge[lvl=1]{2}{4}{}
10 \depedge[lvl=1]{2}{5}{}
11 \depedge[lvl=1, edge above]{5}{3}{}
12 \depedge[lvl=1, edge above]{5}{4}{}
13 \depedge[lvl=1]{9}{8}{}
14 \depedge[lvl=1]{9}{10}{}
15 \end{dependency}
16
17 \end{document}
File notes/fig/fd/Notation3.tex deleted (index 8535559..0000000)
1 \documentclass[margin=20pt]{standalone}
2 \input{template.def}
3
4 \begin{dependency}
5 \begin{deptext}[TxtBook] % Applying the TxtBook style.
6 |[none]| TRAIN \(\big(\) \& Id \& Model \& |[none]| \(\big)\) \& |[none]| CONDUCTOR \(\big(\) \& Name \& Affected-to \& |[none]| \(\big)\) \\
7 \end{deptext}
8 \depedge[lvl=1]{2}{3}{}
9 \depedge[lvl=1]{6}{7}{}
10 \depedge[lvl=1, FK, edge above]{7}{2}{}
11 % \depedge[lvl=1]{2}{4}{}
12 % \depedge[lvl=1]{2}{5}{}
13 % \depedge[lvl=1, edge above]{5}{3}{}
14 % \depedge[lvl=1, edge above]{5}{4}{}
15 % \depedge[lvl=1]{9}{8}{}
16 % \depedge[lvl=1]{9}{10}{}
17 \end{dependency}
18
19 \end{document}
File notes/fig/fd/Print.tex deleted (index 1be1a25..0000000)
1 \documentclass[margin=20pt]{standalone}
2 \input{template.def}
3
4 \begin{dependency}
5 \begin{deptext}[TxtBook] % Applying the TxtBook style.
6 |[none]| PRINT \(\big(\) \& Author \& Technique \& Title \& Price \& Size \& ShippingCost \& |[none]| \(\big)\)\\
7 \end{deptext}
8 \depedge[lvl=1, edge above]{2}{3}{}
9 \depedge[lvl=1, edge above]{4}{3}{}
10 \depedge[lvl=1]{2}{5}{}
11 \depedge[lvl=1]{4}{5}{}
12 \depedge[lvl=1]{6}{5}{}
13 \depedge[lvl=1, edge above]{6}{7}{}
14 \end{dependency}
15
16 \end{document}
File notes/fig/fd/Schedule.tex deleted (index 6312057..0000000)
1 \documentclass[margin=20pt]{standalone}
2 \input{template.def}
3
4 \begin{dependency}
5 \begin{deptext}[TxtBook] % Applying the TxtBook style.
6 |[none]| SCHEDULE \(\big(\) \& \ul{Period\_Start} \& \ul{Date} \& Room \& Organizer \& Period\_End \& |[none]| \(\big)\) \& |[none]| LENGTH \(\big(\) \& \ul{Period\_Start} \& \ul{Period\_End} \& Length \& |[none]| \(\big)\)
7 \& |[none]| ROOM \(\big(\) \& \ul{Room} \& Building \& |[none]| \(\big)\)\\
8 \end{deptext}
9 \depedge[lvl=1]{2}{4}{}
10 \depedge[lvl=1]{3}{5}{}
11 \depedge[lvl=1]{2}{6}{}
12 \depedge[lvl=1]{9}{11}{}
13 \depedge[lvl=1]{10}{11}{}
14 \depedge[lvl=1]{14}{15}{}
15 % \depedge[lvl=2, FK]{2}{9}{}
16 % \depedge[lvl=1, FK, edge above]{6}{10}{}
17 \end{dependency}
18
19
20 %\{Period\_Start, Date\} | →| Room
21 %\{Period\_Start, Length\} | →| Period\_End
22 %\{Period\_Start, Period\_End\} | →| Length
23 %\{Period\_End, Length\} | →| Period\_Start
24 %\{Date, Period\_Start\} | →| Organizer
25 %Room | →| Building
26 %
27
28
29 \end{document}
File notes/fig/fd/StudentExample1.tex deleted (index ed243e9..0000000)
1 \documentclass[margin=20pt]{standalone}
2 \input{template.def}
3
4 \begin{dependency}
5 \begin{deptext}[TxtBook] % Applying the TxtBook style.
6 |[none]| STUDENT \(\big(\) \& \ul{Login} \& Name \& Major \& Major\_Head) \& |[none]| \(\big)\)\\
7 \end{deptext}
8 \depedge[lvl=1]{2}{4}{}
9 \depedge[lvl=1]{3}{4}{}
10 % \depedge[lvl=1]{2}{5}{}
11 \depedge[lvl=1, edge above]{4}{5}{}
12 \end{dependency}
13
14 \end{document}
File notes/fig/fd/StudentExample2.tex deleted (index 476d5b5..0000000)
1 \documentclass[margin=20pt]{standalone}
2 \input{template.def}
3
4 \begin{dependency}
5 \begin{deptext}[TxtBook] % Applying the TxtBook style.
6 |[none]| STUDENT \(\big(\) \& \ul{Login} \& Name \& Major ) \& |[none]| \(\big)\) \& |[none]| HEAD \(\big(\) \& \ul{Major} \& Major\_Head \& |[none]| \(\big)\)\\
7 \end{deptext}
8 \depedge[lvl=1]{2}{4}{}
9 \depedge[lvl=1]{3}{4}{}
10 \depedge[lvl=1]{7}{8}{}
11 % \depedge[lvl=1, edge above]{4}{5}{}
12 \depedge[lvl=1, FK, edge above]{7}{4}{}
13 \end{dependency}
14
15 \end{document}
File notes/fig/fd/model.tex deleted (index 3240f73..0000000)
1 \documentclass[border=20pt]{standalone}
2 \input{template.def}
3
4 \begin{dependency}
5 \begin{deptext}
6 Ename \& \ul{Ssn} \& BDate \& Address \& Dnumber \& Dname \& Dmgr\_ssn \\
7 \end{deptext}
8 \depedge[lvl=1]{2}{1}{} % Edge are organized by level.
9 \depedge[lvl=1]{2}{3}{}
10 \depedge[lvl=1]{2}{4}{}
11 \depedge[lvl=1]{2}{5}{}
12 \depedge[lvl=2]{5}{6}{}
13 \depedge[lvl=2]{5}{7}{}
14 \end{dependency}
15
16
17 \begin{dependency}
18 \begin{deptext}[TxtBook] % Applying the TxtBook style.
19 \ul{Ssn} \& \ul{Pnumber} \& Hours \& Ename \& Pname \& Plocation \\
20 \end{deptext}
21 \depedge[lvl=1]{1}{3}{}
22 \depedge[lvl=1]{2}{3}{}
23 \depedge[lvl=2]{1}{4}{}
24 \depedge[lvl=3]{2}{5}{}
25 \depedge[lvl=3]{2}{6}{}
26 \end{dependency}
27
28 \end{document}
File notes/fig/fd/template.def deleted (index a352d5c..0000000)
1 \renewcommand\familydefault{\sfdefault} % Default family: serif
2 \usepackage{tikz-dependency} % WARNING: we are using an EDITED version of this package.
3 \usetikzlibrary{arrows.meta}
4 \usepackage{soulutf8}
5 \setul{}{1.1pt}
6
7 % The following is to allow the use of \(…\) with the soul package.
8 % cf. https://tex.stackexchange.com/a/443317/34551
9 \usepackage{expl3}
10
11 \ExplSyntaxOn
12 \tl_new:N \__l_SOUL_argument_tl
13 \cs_set_eq:Nc \SOUL_start:n { SOUL@start }
14 \cs_generate_variant:Nn \SOUL_start:n { V }
15 \cs_set_protected:cpn {SOUL@start} #1
16 {
17 \tl_set:Nn \__l_SOUL_argument_tl { #1 }
18 \regex_replace_all:nnN
19 { \c{\(} (.*?) \c{\)} } % look for \(...\) (lazily)
20 { \cM\$ \1 \cM\$ } % replace with $...$
21 \__l_SOUL_argument_tl
22 \SOUL_start:V \__l_SOUL_argument_tl % do the usual
23 }
24 \ExplSyntaxOff
25
26 \begin{document}
27
28 \depstyle{lvl}{%
29 edge height=2.5ex,
30 % edge unit distance=#1*2.5ex, % Another way of controlling the appearance of the edges.
31 edge below,
32 edge horizontal padding=0,
33 edge start y offset=-(#1-1)*3ex,
34 text only label, % No need for label for functional dependencies.
35 edge slant=0, % Right angles
36 rounded corners=0,
37 edge style={thick, >={Latex[width=2mm,length=2mm]}} % Change the style of the arrowheads.
38 }
39
40 % To deal with multiple parameters, in order to have a difference between the "level" (distance from node)
41 % and the starting point of the arrows, we could start with something like:
42 %\tikzset{/depgraph/lvl/.style 2 args={%<tikz options>},...}
43 %\tikzstyle{lvl} = {%definition}
44 %\depstyle{lvl}{%
45 % edge height=2.5ex,
46 %edge unit distance=(#1-1)*3ex,, % Another way of controlling the appearance of the edges.
47 %edge below,
48 %edge horizontal padding=0,
49 %edge start y offset=-(#1-1)*3ex,
50 %text only label, % No need for label for functional dependencies.
51 %edge slant=0, % Right angles
52 %rounded corners=0,
53 %edge style={thick, >={Latex[width=2mm,length=2mm]}} % Change the style of the arrowheads.
54 %}
55 %}
56
57 \depstyle{FK}{%
58 color=red,
59 edge slant = 3pt,
60 rounded corners = 2
61 }
62
63 \depstyle{none}{%
64 draw=none,
65 fill=none
66 }
67
68 \tikzset{
69 matrix/.append style={column sep=0.4cm, row sep=2em} % Adding some distance between the attributes.
70 }
71
72 \tikzstyle{TxtBook}=[% Style to mimic the textbook Fundamentals of Database Systems.
73 column sep=0cm, % No distance between two attributes.
74 nodes={%
75 fill=gray!20,
76 draw=black,
77 inner xsep=3ex,
78 inner ysep=1ex
79 }
80 ]
81
82
File notes/fig/fd/tikz-dependency.sty deleted (index 067fb2c..0000000)
1 % Copyright 2011 by Daniele Pighin
2 %
3 % This file may be distributed and/or modified
4 %
5 % 1. under the LaTeX Project Public License and/or
6 % 2. under the GNU Public License.
7 %
8 % See the file doc/generic/tikz-dependency/licenses/LICENSE for more details.
9 %
10 % Changelog
11 %
12 % 1.2 (Nov 3, 2016)
13 % - It's been a while :) Integrated a patch submitted by Jan Strunk <jan.strunk@uni-koeln.de>
14 % (thanks a lot Jan!) fixing a bug with the behavior of "edge end x offset".
15 %
16 % 1.1 (Jan 17, 2012)
17 % - Added the possibility to use simple arcs as edges (keys: arc edge/segmented edge)
18 % - Added "edge start x offset" and "edge end x offset" to fine tune edge start/end point position
19 % - Added \depstyle to define styles more easily
20 % - Added "simple" theme, based on the parse on page 1 of [Nivre and McDonald, 2008 ACL-HLT]
21 % - Added instructions to draw bubble parses
22 % - Fixed bug that would cause groupedges not to be straight under some circumstances;
23 %
24 % 1.0 (Nov 26, 2011)
25 % - First public release
26
27 \ProvidesPackage{tikz-dependency}[2011/01/08 v1.1 Macros to draw dependency trees]
28 \NeedsTeXFormat{LaTeX2e}[1999/12/01]
29
30 \RequirePackage{tikz,environ}
31 \usetikzlibrary{matrix,arrows,backgrounds,calc,patterns,positioning,fit,shapes}
32
33 \pgfdeclarelayer{depgroups}
34 \pgfsetlayers{depgroups,main}
35
36 \newcounter{dt@labelid}
37 \newif\ifdt@linkbelow
38 \newif\ifdt@arcedge
39 \tikzset{
40 /depgraph/.cd,
41 /depgraph/.search also = {/tikz},
42 dep id/.code = {\def\dt@depid{#1}},
43 dep id = dependency,
44 % fix the distance of the edge
45 edge height/.code = {\pgfmathsetlengthmacro{\dt@linkheight}{#1}},
46 edge height = 0pt,
47 % the distant of the horizontal line of the edge style for two adjacent words
48 edge unit distance/.code = {\pgfmathsetlengthmacro{\dt@linkstep}{#1}},
49 edge unit distance = 3ex,
50 % the horizontal offset defining the trapezoidal look
51 edge slant/.code = {\pgfmathsetlengthmacro{\dt@linkslant}{#1}},
52 edge slant = 3pt,
53 % the horizontal offset defining the starting/ending position of the edge style
54 edge horizontal padding/.code = {\pgfmathsetlengthmacro{\dt@linkoffset}{#1}},
55 edge horizontal padding = 4pt,
56 % vertical offset of the edge style from the word
57 edge vertical padding/.code = {\pgfmathsetlengthmacro{\dt@linkdist}{#1}},
58 edge vertical padding = 0ex,
59 % should links be placed above or below the sentence
60 edge below/.is if = dt@linkbelow,
61 edge below/.default=true,
62 edge above/.code = {\dt@linkbelowfalse},
63 % arc edge
64 arc edge/.is if = dt@arcedge,
65 segmented edge/.code = {\dt@arcedgefalse},
66 arc angle/.store in = \dt@arcangle,
67 arc angle = 60,
68 % an explicit offset to compensate the y position of the edge
69 edge start y offset/.code = {\pgfmathsetlengthmacro{\dt@EdgeStartOffsetY}{#1}},
70 edge start y offset = 0,
71 % an explicit offset to compensate the x position of the edge
72 edge start x offset/.code = {\pgfmathsetlengthmacro{\dt@EdgeStartOffsetX}{#1}},
73 edge start x offset = 0,
74 edge end x offset/.code = {\pgfmathsetlengthmacro{\dt@EdgeEndOffsetX}{#1}},
75 edge end x offset = 0,
76 % the layer that links should connect
77 % (should be set to "1" for edge above, and to the number of rows
78 % in the matrix for edge below)
79 target layer/.store in = \dt@tgtlayer,
80 target layer/.default = 0,
81 target layer = 0,
82 % styling options
83 reserved/edge style/.style = {->, >=stealth, black, solid, rounded corners = 2, line cap = round, segmented edge},
84 edge style/.style = {reserved/edge style/.append style = {#1}},
85 reserved/label style/.style = {
86 anchor = mid,
87 draw, solid,
88 black,
89 scale = .7,
90 text height = 1.5ex, text depth = 0.25ex, % needed to center text vertically
91 inner sep=.5ex,
92 outer sep = 0pt,
93 rounded corners = 2pt,
94 text = black,
95 fill = white},
96 label style/.style = {reserved/label style/.append style = {#1}},
97 hide label/.style = {reserved/label style/.append style = {opacity = 0, text opacity = 0}},
98 show label/.style = {reserved/label style/.append style = {opacity = 1, text opacity = 1}},
99 text only label/.style = {reserved/label style/.append style = {opacity=0, text opacity=1}},
100 reserved/text style/.style = {
101 text height=1.5ex, text depth = 0.25ex, % needed to center text vertically
102 inner sep = .5ex},
103 text style/.style = {reserved/text style/.append style = {#1}},
104 % group styling
105 reserved/group style/.style = {
106 inner sep = 0,
107 draw, solid,
108 outer sep = .5ex,
109 rounded corners = 2pt},
110 group style/.style = {reserved/group style/.append style = {#1}},
111 % themes for text
112 text theme/.is choice,
113 text theme/default/.style = {text style={black}},
114 text theme/brazil/.style = {text style={blue!60!black}},
115 text theme/iron/.style = {text style={black!80}},
116 text theme/copper/.style = {text style={brown!60!black}},
117 text theme/night/.style = {text style={black}},
118 text theme/grassy/.style = {text style={green!40!black}},
119 text theme/simple/.style = {text style={black}},
120 % themes for labels
121 label theme/.is choice,
122 label theme/default/.style = {label style={fill=white, draw=black}},
123 label theme/night/.style = {label style={text=white, fill=black, font=\bfseries}},
124 label theme/brazil/.style = {label style={thick, black, fill=yellow, text=black, font=\bfseries}},
125 label theme/iron/.style = {label style={top color=black!60, bottom color=black!80, draw=black!80, text=white, font=\bfseries}},
126 label theme/copper/.style = {label style={top color=brown!80!pink, bottom color=brown!60!black, draw=brown!80, text=white, font=\bfseries}},
127 label theme/grassy/.style = {label style={bottom color=green!60!black, top color=green!20!black, draw=green!40!black, text=white, font=\bfseries}},
128 label theme/simple/.style = {label style={draw=none,fill=none,above,font=\scriptsize}},
129 % themes for edges
130 edge theme/.is choice,
131 edge theme/default/.style = {edge style={thin,black}},
132 edge theme/night/.style = {edge style={thick}},
133 edge theme/brazil/.style = {edge style={thick,green!60!black}},
134 edge theme/iron/.style = {edge style={thick, black!80}},
135 edge theme/copper/.style = {edge style={thick, brown!80}},
136 edge theme/grassy/.style = {edge style={thick, green!40!black}},
137 edge theme/simple/.style = {arc edge, arc angle=79},
138 % themes styles
139 theme/.style = {label theme = #1, edge theme = #1, text theme = #1},
140 }
141
142 \newcommand{\depstyle}[2]{\tikzset{#1/.style = {/depgraph/.cd, #2}}}
143
144
145 \newenvironment{dependency}[1][]{%
146 \begin{tikzpicture}[/depgraph/.cd, #1]
147 \begin{scope}
148 }{%
149 \end{scope}%
150 \end{tikzpicture}%
151 }
152
153 \NewEnviron{deptext}[1][]{%
154 \begin{scope}
155 \matrix (\dt@depid)[%
156 nodes = {/depgraph/reserved/text style},
157 column sep = 0,
158 row sep = -.5ex,
159 matrix of nodes,
160 ampersand replacement = \&,
161 nodes in empty cells,
162 #1] {
163 \BODY%
164 };%
165 \pgfmathtruncatemacro\dt@tmp{\pgfmatrixcurrentrow}
166 \xdef\dt@numrows{\dt@tmp}
167 \end{scope}%
168 }
169
170 \newcommand{\depkeys}[1]{\tikzset{/depgraph/.cd, #1}}
171
172 \newcommand{\settgtlayer}{%
173 \ifnum\dt@tgtlayer=0%
174 \ifdt@linkbelow%
175 \pgfmathtruncatemacro{\dt@tgtlayer}{\dt@numrows}%
176 \else%
177 \pgfmathtruncatemacro{\dt@tgtlayer}{1}%
178 \fi%
179 \fi%
180 }
181
182 \newcommand{\deproot}[3][]{% options, root offset, root reserved/label style
183 \begin{scope}
184 \depkeys{#1}
185 \pgfmathsetmacro{\offa}{#2}
186 \settgtlayer
187 \def\anchorpoint{north}
188 \ifdt@linkbelow
189 \def\anchorpoint{south}
190 \fi
191 \def\source{\dt@depid-\dt@tgtlayer-#2}
192
193 \ifdim\dt@linkheight=0pt
194 \pgfmathsetmacro{\distance}{\dt@linkstep * 4}
195 \else
196 \pgfmathsetlengthmacro{\distance}{\dt@linkheight}
197 \fi
198 \pgfmathsetlengthmacro{\dt@startdist}{\dt@linkdist}
199 \ifdt@linkbelow
200 \pgfmathsetmacro{\distance}{-(\dt@linkstep * 4)}
201 \pgfmathsetlengthmacro{\dt@startdist}{-\dt@startdist}
202 \fi
203 \node at (\source) (\rootref) [yshift=\distance, /depgraph/.cd, reserved/label style, #1] {#3};
204 \draw [/depgraph/.cd, reserved/edge style, #1] (\rootref) -- ($(\source.\anchorpoint) + (0, \dt@startdist)$);
205 \end{scope}
206 }
207
208 \newcommand{\depedge}[4][]{% options, source offset, target offset, dep name
209 \begin{scope}
210 \depkeys{#1}
211 \pgfmathsetmacro{\offa}{#2}
212 \pgfmathsetmacro{\offb}{#3}
213 \settgtlayer
214 \def\source{\wordref{\dt@tgtlayer}{#2}}
215 \def\dest{\wordref{\dt@tgtlayer}{#3}}
216 \def\depname{#4}
217 \ifdim\dt@linkheight=0pt
218 \pgfmathsetlengthmacro{\distance}{abs(\offb - \offa)*\dt@linkstep}
219 \else
220 \pgfmathsetlengthmacro{\distance}{\dt@linkheight}
221 \fi
222 \groupedge[#1]{\source}{\dest}{\depname}{\distance}
223 \end{scope}}
224
225 \newlength{\xca}
226 \newlength{\yca}
227 \newlength{\xcb}
228 \newlength{\ycb}
229
230 \newcommand{\wordref}[2]{\dt@depid-#1-#2}
231
232 \newcommand{\rootref}{\dt@depid-root}
233
234 \newcommand{\matrixref}{\dt@depid}
235
236 % \storelabelnode
237 %
238 % \edef#1 the name of the last reserved/label style, stored in \dt@lastlabel
239 %
240 % #1 - a macro
241 \newcommand{\storelabelnode}[1]{\edef#1{\dt@lastlabel}}
242
243 \newcommand{\storefirstcorner}[1]{\edef#1{\dt@lastlabel-edge-first-corner}}
244 \newcommand{\storesecondcorner}[1]{\edef#1{\dt@lastlabel-edge-second-corner}}
245
246 \newcommand{\wordgroup}[5][]{% options, layer, col-start, col-end, identifier
247 \begin{scope}[/depgraph/.cd, #1]
248 \pgfonlayer{depgroups}
249 \node (#5) [fit = (\wordref{#2}{#3}) (\wordref{#2}{#4}), /depgraph/.cd, reserved/group style, #1] {};
250 \endpgfonlayer
251 \end{scope}
252 }
253
254 \newcommand{\groupedge}[5][]{% options, source, target, depname, distance
255 \begin{scope}[/depgraph/.cd, #1]
256 \def\anchorpoint{north}
257 \ifdt@linkbelow
258 \def\anchorpoint{south}
259 \fi
260 \pgfextractx{\xca}{\pgfpointanchor{#2}{\anchorpoint}}
261 \pgfextractx{\xcb}{\pgfpointanchor{#3}{\anchorpoint}}
262 \pgfextracty{\yca}{\pgfpointanchor{#2}{\anchorpoint}}
263 \pgfextracty{\ycb}{\pgfpointanchor{#3}{\anchorpoint}}
264 \pgfmathsetlengthmacro{\ydiff}{\yca-\ycb}
265 \ifdim\xca>\xcb
266 \pgfmathsetlengthmacro{\doff}{-\dt@linkoffset}
267 \pgfmathsetlengthmacro{\dslant}{-\dt@linkslant}
268 \else
269 \pgfmathsetlengthmacro{\doff}{\dt@linkoffset}
270 \pgfmathsetlengthmacro{\dslant}{\dt@linkslant}
271 \fi
272 \addtocounter{dt@labelid}{1}
273 \xdef\dt@lastlabel{\dt@depid-\the\value{dt@labelid}}
274 \pgfmathsetlengthmacro{\dt@startdist}{\dt@linkdist}
275 \pgfmathsetlengthmacro{\dt@enddist}{#5}
276 \ifdt@linkbelow
277 \pgfmathsetlengthmacro{\dt@startdist}{-\dt@startdist}
278 \pgfmathsetlengthmacro{\dt@enddist}{-\dt@enddist}
279 \fi
280
281 % Calculate edge anchors. -edge-first-corner and -edge-second-corner are only
282 % meaningful for segmented edge, but we also draw the nodes for arc edge, someone
283 % may always find these anchors useful...
284 \node (\dt@lastlabel-edge-origin) [coordinate] at ($(#2.\anchorpoint) + (\doff,\dt@startdist) + (\dt@EdgeStartOffsetX,0) + (0,\dt@EdgeStartOffsetY)$) {};
285 \node (\dt@lastlabel-edge-first-corner) [coordinate] at ($(\dt@lastlabel-edge-origin) + (\dslant,\dt@enddist)$) {};
286 \node (\dt@lastlabel-edge-second-corner) [coordinate] at ($(#3.\anchorpoint) + (\dt@EdgeEndOffsetX,0) + (0,\dt@EdgeStartOffsetY) + (-\dslant,\dt@enddist+\dt@startdist+\ydiff)$) {};
287 \node (\dt@lastlabel-edge-endpoint) [coordinate] at ($(#3.\anchorpoint) + (0,\dt@startdist) + (\dt@EdgeEndOffsetX,0)$) {};
288
289 \ifdt@arcedge
290 % link above, left to right
291 \pgfmathsetmacro{\dt@arcin}{180-\dt@arcangle}
292 \pgfmathsetmacro{\dt@arcout}{\dt@arcangle}
293 \ifdt@linkbelow
294 % link below
295 \pgfmathsetmacro{\dt@arcin}{-\dt@arcin}
296 \pgfmathsetmacro{\dt@arcout}{-\dt@arcout}
297 \fi
298 \ifdim\xca>\xcb
299 % right to left
300 \pgfmathsetmacro{\dt@temp}{\dt@arcin}
301 \pgfmathsetmacro{\dt@arcin}{\dt@arcout}
302 \pgfmathsetmacro{\dt@arcout}{\dt@temp}
303 \fi
304 %\draw [/depgraph/.cd, reserved/edge style, rounded corners = #5/5, #1]
305 \draw [out=\dt@arcout, in=\dt@arcin,/depgraph/.cd, reserved/edge style, rounded corners = #5/5, #1]
306 (\dt@lastlabel-edge-origin)
307 to node (\dt@lastlabel) [/depgraph/.cd, #1, reserved/label style] {#4}
308 (\dt@lastlabel-edge-endpoint);
309
310 \else
311 \draw [/depgraph/.cd, reserved/edge style, rounded corners = #5/5, #1]
312 (\dt@lastlabel-edge-origin) --
313 (\dt@lastlabel-edge-first-corner) --
314 (\dt@lastlabel-edge-second-corner) --
315 (\dt@lastlabel-edge-endpoint);
316 \node (\dt@lastlabel) [/depgraph/.cd, #1, reserved/label style] at
317 ($ .5*(\dt@lastlabel-edge-second-corner) + .5*(\dt@lastlabel-edge-first-corner) $)
318 {#4};
319 \fi
320 \end{scope}
321 }
322
Hints:
Before first commit, do not forget to setup your git environment:
git config --global user.name "your_name_here"
git config --global user.email "your@email_here"

Clone this repository using HTTP(S):
git clone https://rocketgit.com/user/caubert/CSCI_3410

Clone this repository using ssh (do not forget to upload a key first):
git clone ssh://rocketgit@ssh.rocketgit.com/user/caubert/CSCI_3410

Clone this repository using git:
git clone git://git.rocketgit.com/user/caubert/CSCI_3410

You are allowed to anonymously push to this repository.
This means that your pushed commits will automatically be transformed into a merge request:
... clone the repository ...
... make some changes and some commits ...
git push origin main