gallery2.tex 6.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189
  1. % Author: Tom Bombadil
  2. % Source: http://tex.stackexchange.com/a/74495/5645
  3. % View edits made by Martin Thoma
  4. \documentclass{scrartcl}
  5. \usepackage[margin=10mm]{geometry}
  6. \usepackage{tikz}
  7. \usetikzlibrary{arrows,positioning}
  8. \usepackage{filecontents}
  9. \usepackage{xifthen}
  10. \usepackage{xcolor}
  11. \definecolor{myLightGray}{HTML}{F9F9F9}
  12. \definecolor{borderColor}{HTML}{CCCCCC}
  13. \pgfdeclarelayer{background}
  14. \pgfsetlayers{background,main}
  15. \newcommand{\getsizes}%
  16. { \path (current bounding box.south west);
  17. \pgfgetlastxy{\xsw}{\ysw}
  18. \path (current bounding box.north east);
  19. \pgfgetlastxy{\xne}{\yne}
  20. \pgfmathsetlengthmacro{\picwidth}{\xne-\xsw}
  21. \pgfmathsetlengthmacro{\picheight}{\yne-\ysw}
  22. %\pgfmathsetmacro{\picscale}{\picwidth>\picheight ? (0.3*\textwidth)/\picwidth : (0.3*\textwidth)/\picheight}
  23. \pgfmathsetmacro{\picscale}{\picwidth>\picheight ? (1.05-\picturesperrow*0.05)/\picturesperrow*\textwidth/\picwidth : (1.05-\picturesperrow*0.05)/\picturesperrow*\textwidth/\picheight}
  24. \pgfmathsetlengthmacro{\biggervalue}{\picwidth>\picheight ? \picwidth : \picheight}
  25. \xdef\scalefactor{\picscale}
  26. \xdef\picdimension{\biggervalue}
  27. }
  28. \newcommand{\grayback}%
  29. { \begin{pgfonlayer}{background}
  30. \filldraw[color=myLightGray,draw=borderColor] (current bounding box.center) ++(-\picdimension/2,-\picdimension/2) rectangle ++(\picdimension,\picdimension);
  31. \end{pgfonlayer}
  32. }
  33. \newcommand{\adjustedtikzsize}[2]% draw commands, caption
  34. { \stepcounter{galleryitem}
  35. \smash{\vphantom{
  36. \begin{tikzpicture}
  37. #1
  38. \getsizes
  39. \end{tikzpicture}
  40. }}
  41. \begin{tikzpicture}[scale=\scalefactor,baseline=(captionnode.north)]
  42. #1
  43. \grayback
  44. \node[below right] (captionnode) at (current bounding box.south west) {#2};
  45. \end{tikzpicture}
  46. \pgfmathtruncatemacro{\breaktest}{mod(\thegalleryitem,\picturesperrow)}
  47. \ifthenelse{\breaktest=0}{\par}{\hfill}%{\hspace{0.02\textwidth}}
  48. }
  49. \newcounter{galleryitem}
  50. \setcounter{galleryitem}{0}
  51. \newenvironment{tikzgallery}[2]% gallery title, pics per row
  52. {{\Huge\textbf{#1}}\par\xdef\picturesperrow{#2}}%
  53. {\par\vspace{1cm}}
  54. \begin{filecontents}{picone.tex}
  55. \tikzset{
  56. %Define standard arrow tip
  57. >=stealth',
  58. % Define arrow style
  59. pil/.style={->,thick}
  60. }
  61. \draw[fill=green!30] (0,0) -- (90:.75cm) arc (90:27:.75cm);
  62. \draw[pil,color=black] (0,0) -- node[right=2pt] {$\vec a$} (27:2.2cm);
  63. \draw[pil,color=black] (0,0) -- node[near end, right=-3pt] {$\vec b$} (90:2cm);
  64. \draw(60:0.5cm) node {$\varphi$};
  65. \end{filecontents}
  66. \begin{filecontents}{pictwo.tex}
  67. \tikzset{
  68. %Define standard arrow tip
  69. >=stealth',
  70. % Define arrow style
  71. pil/.style={->,thick}
  72. }
  73. \draw[fill=gray!30] (27:0.90) -- node[right=-0.28cm, near end] {$\cdot$} (27:1.08)
  74. arc (27:117:.18cm);
  75. \draw[fill=green!30] (0,0) -- (90:.55cm) arc (90:27:.55cm);
  76. \draw[pil,color=red] (0,0) -- node[right=2pt] {$\vec a$} (27:3cm);
  77. \draw[pil,color=blue] (0,0) -- node[near end, right=-3pt] {$\vec b$} (90:2cm);
  78. \draw[pil,color=violet] (0,0) -- node[near start, right=7pt] {$\vec b_{\vec a}$} (27:0.90cm);
  79. \draw[color=gray, dashed] (27:0.90) -- node[near end, right] {} (90:2cm);
  80. \draw(60:0.35cm) node {$\varphi$};
  81. \end{filecontents}
  82. \begin{filecontents}{picthree.tex}
  83. \tikzset{
  84. %Define standard arrow tip
  85. >=stealth',
  86. % Define arrow style
  87. pil/.style={->,thick}
  88. }
  89. \draw[pil] (0,0) -- node[near end, above] {$\vec a$} (3cm, 0cm);
  90. \draw[pil] (0,0.5cm) -- node[near end, above] {$\vec b$} (2cm,0.5cm);
  91. \end{filecontents}
  92. \begin{filecontents}{picfour.tex}
  93. \tikzset{
  94. %Define standard arrow tip
  95. >=stealth',
  96. % Define arrow style
  97. pil/.style={->,thick}
  98. }
  99. \draw[fill=gray!30, label=$a$] (0,0) -- node[above, near start] {$\cdot$} (0.5,0)
  100. arc (0:90:0.5cm);
  101. \draw[pil] (0,0) -- node[near end, above] {$\vec e_1$} (2cm, 0);
  102. \draw[pil] (0,0) -- node[near end, right] {$\vec e_2$} (0, 2cm);
  103. \end{filecontents}
  104. \begin{document}
  105. \parindent0mm
  106. \parskip0mm
  107. \begin{tikzgallery}{Geometrie}{6}
  108. \adjustedtikzsize{\input{picone}}{one}
  109. \adjustedtikzsize{\input{pictwo}}{two}
  110. \adjustedtikzsize{\input{picthree}}{three}
  111. \adjustedtikzsize{\input{picfour}}{four}
  112. \adjustedtikzsize{\input{picfour}}{zero}
  113. \adjustedtikzsize{\input{pictwo}}{un}
  114. \adjustedtikzsize{\input{picthree}}{deux}
  115. \adjustedtikzsize{\input{picone}}{trois}
  116. \adjustedtikzsize{\input{picone}}{one}
  117. \adjustedtikzsize{\input{pictwo}}{two}
  118. \adjustedtikzsize{\input{picthree}}{three}
  119. \adjustedtikzsize{\input{picfour}}{four}
  120. \adjustedtikzsize{\input{picfour}}{zero}
  121. \adjustedtikzsize{\input{pictwo}}{un}
  122. \adjustedtikzsize{\input{picthree}}{deux}
  123. \adjustedtikzsize{\input{picone}}{trois}
  124. \adjustedtikzsize{\input{picone}}{one}
  125. \adjustedtikzsize{\input{pictwo}}{two}
  126. \adjustedtikzsize{\input{picthree}}{three}
  127. \adjustedtikzsize{\input{picfour}}{four}
  128. \adjustedtikzsize{\input{picfour}}{zero}
  129. \adjustedtikzsize{\input{pictwo}}{un}
  130. \adjustedtikzsize{\input{picthree}}{deux}
  131. \adjustedtikzsize{\input{picone}}{trois}
  132. \end{tikzgallery}
  133. \begin{tikzgallery}{Ti\textit{k}Z-Spielerei}{4}
  134. \adjustedtikzsize{\input{picone}}{one}
  135. \adjustedtikzsize{\input{pictwo}}{two}
  136. \adjustedtikzsize{\input{picthree}}{three}
  137. \adjustedtikzsize{\input{picfour}}{four}
  138. \adjustedtikzsize{\input{picfour}}{zero}
  139. \adjustedtikzsize{\input{pictwo}}{un}
  140. \adjustedtikzsize{\input{picthree}}{deux}
  141. \adjustedtikzsize{\input{picone}}{trois}
  142. \adjustedtikzsize{\input{picone}}{one}
  143. \adjustedtikzsize{\input{pictwo}}{two}
  144. \adjustedtikzsize{\input{picthree}}{three}
  145. \adjustedtikzsize{\input{picfour}}{four}
  146. \adjustedtikzsize{\input{picfour}}{zero}
  147. \adjustedtikzsize{\input{pictwo}}{un}
  148. \adjustedtikzsize{\input{picthree}}{deux}
  149. \adjustedtikzsize{\input{picone}}{trois}
  150. \adjustedtikzsize{\input{picone}}{one}
  151. \adjustedtikzsize{\input{pictwo}}{two}
  152. \adjustedtikzsize{\input{picthree}}{three}
  153. \adjustedtikzsize{\input{picfour}}{four}
  154. \adjustedtikzsize{\input{picfour}}{zero}
  155. \adjustedtikzsize{\input{pictwo}}{un}
  156. \adjustedtikzsize{\input{picthree}}{deux}
  157. \adjustedtikzsize{\input{picone}}{trois}
  158. \end{tikzgallery}
  159. \clearpage
  160. \begin{tikzgallery}{Riesige Bilder}{2}
  161. \adjustedtikzsize{\input{picone}}{one}
  162. \adjustedtikzsize{\input{pictwo}}{two}
  163. \adjustedtikzsize{\input{picthree}}{three}
  164. \adjustedtikzsize{\input{picfour}}{four}
  165. \adjustedtikzsize{\input{picfour}}{zero}
  166. \adjustedtikzsize{\input{pictwo}}{un}
  167. \adjustedtikzsize{\input{picthree}}{deux}
  168. \adjustedtikzsize{\input{picone}}{trois}
  169. \end{tikzgallery}
  170. \end{document}