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 |
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 |