Advertisement
Guest User

Untitled

a guest
Apr 24th, 2017
167
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.87 KB | None | 0 0
  1. documentclass{article}
  2.  
  3. usepackage{tikz}
  4. usetikzlibrary{shapes.multipart}
  5. usetikzlibrary{matrix}
  6. usetikzlibrary{positioning}
  7. usetikzlibrary{shadows}
  8. usetikzlibrary{calc}
  9.  
  10. tikzset{
  11. entity/.code={
  12. tikzset{
  13. rounded corners,
  14. name=#1,
  15. inner sep=2pt,
  16. every entity/.try,
  17. }%
  18. defentityname{#1}%
  19. },
  20. entity anchor/.style={matrix anchor=#1},
  21. every entity/.style={
  22. draw,
  23. },
  24. every property/.style={
  25. inner xsep=0.20cm, inner ysep=0.075cm, anchor=west, text width=1.75in
  26. }
  27. }
  28. defproperty#1{node[name=entityname-#1, every property/.try]{propertysplit#1;};}
  29. defproperties{begingroupcatcode`_=11relaxprocessproperties}
  30. defprocessproperties#1{endgroup%
  31. gdefpropertycode{}%
  32. foreach p in {#1}{%
  33. expandafterexpandafterexpandaftergdefexpandafterexpandafterexpandafterpropertycode%
  34. expandafterexpandafterexpandafter{expandafterpropertycodeexpandafterpropertyexpandafter{p}\}%
  35. }%
  36. propertycode%
  37. }
  38. defpropertysplit#1:#2;{#1:hfill#2}
  39.  
  40. defentitynamenode{%
  41. node[every entity name/.try] (entityname-name) {entityname};
  42. draw (entityname-name.south west) -- (entityname-name.south east);
  43. \[1ex]
  44. }
  45. tikzset{
  46. every entity name/.style={every property/.try, align=center}
  47. }
  48. begin{document}
  49. begin{tikzpicture}[every node/.style={font=ttfamily}, node distance=0.5in]
  50. matrix [entity=Employee] {
  51. entitynamenode
  52. properties{
  53. Username:,
  54. Password :  varchar(255),
  55. Name :  varchar(255),
  56. LastName :  varchar(255)
  57. }
  58. };
  59. matrix [entity=Student] {
  60. entitynamenode
  61. properties{
  62. Username:,
  63. Password :  varchar(255),
  64. Name :  varchar(255),
  65. LastName :  varchar(255)
  66. }
  67. };
  68. %draw [one to omany] (Employee-Username:) to node[above]{label} (Student-Username:);
  69. end{tikzpicture}
  70. end{document}
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement