% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%% %
% Begin Header
%
% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %
\documentclass[a4paper,11pt,tikz]{article}
\usepackage[margin=0.5cm]{geometry}
\usepackage{tikz-qtree}
% bestimmt das Aussehen eines Dokuments
\usepackage[ngerman]{babel} % Neue deutsche Rechtschreibung
\usepackage[T1]{fontenc} % Bessere Schriftdarstellung
\usepackage{lmodern} % Aktuelle Schrift
\usepackage[intlimits]{amsmath} % Zusaetzliche Matheumgebungen
\usepackage{amssymb} % Mathematische Symbole
\usepackage{graphicx} % notwendig fuer \includegraphics
\usepackage{fancyhdr} % Kopf- und Fusszeile
\usepackage{lastpage} % erzeugt Referez zu der letzten Seite
\usepackage{moreverb} % verbatimtab Umgeung
%\usepackage{tikz}
\usetikzlibrary{decorations.pathmorphing,shapes,decorations.text,decorations,calc,positioning,automata,matrix,arrows}
% Seiteneinstelungen
\setlength\textwidth{165mm} % Breite
\setlength\textheight{235mm} % Hoehe
\setlength\headheight{41pt} % Hoehe der Kopfzeile
\setlength\topmargin{-12mm} % Abstand oben
\setlength\oddsidemargin{-20mm} % Linker Rand
\setlength\parindent{0pt} % und ohne Einrueckung
\setlength\parskip{1.7\medskipamount} % Absaetze abgesetzt
\sloppy\pagestyle{fancy}
%Kopf- und Fusszeileeinstellungen
\renewcommand{\headrulewidth}{0.4pt} %obere Trennlinie
\fancyfoot[C]{Seite:~\thepage~von~\pageref{LastPage}} %Seitennummer
\renewcommand{\footrulewidth}{0.4pt} %untere Trennlinie
% Ein paar hilfreiche Zeichen
\newcommand{\R}{\mathbb{R}} % reelle Zahlen
\newcommand{\N}{\mathbb{N}} % natuerliche Zahlen
\newcommand{\e}{\text{e}} % eulersche Zahl
\newcommand{\E}[1]{\cdot10^{#1}} % x 10^{...}
\newcommand{\qed}{\hspace*{\fill}q.e.d.} % Beweis fertig
\newcommand{\ON}[1]{{\cal O}(#1)} %O-Notation
%\newcommand{\Aufgabe}[1]{{\vskip5mm\bf Aufgabe #1.\\}}
\def\vblatt{~}
\def\vtermin{~}
\def\vbriefkasten{~}
%Blattnummer, Abgabedatum und Namen mir Matrikelnummern in der Kopfzeile anpassen
\newcommand{\dreinamen}[6]{\fancyhead[R]{#1 (#2)\\#3 (#4)\\#5 (#6)}} %Kopfzeile rechts
\fancyhead[C]{\large{\bf{Blatt \vblatt }}}
\fancyhead[L]{\textbf{Datenstrukturen und Algorithmen}\\ Sommersemester 2017 \\ \"Ubungsgruppe: \vtermin%\\Briefkasten: \vbriefkasten
}
\newcommand{\blatt}[1]{\def\vblatt{#1}}
\newcommand{\termin}[1]{\def\vtermin{#1}}
\newcommand{\briefkasten}[1]{\def\vbriefkasten{#1}}
%!!!!Neu Einfaches einbinden von Quelltexten
\usepackage{listings}
%Algorithmennotation als Quelltext verwenden.
\lstdefinelanguage{alglang}
{keywords={if, then, endif, else, repeat, until, endrepeat, while, do, endwhile, var, module, endmodule, mod, return, pre, post, reads, changes, mem, Type, Functions, Preconditions, Axioms},
emph={Integer, Bool, Real, Char, String},
sensitive=false,
morecomment=[l]{--},
morecomment=[s]{\{}{\}},
morestring=[d]"
}
\lstdefinestyle{algstyle}{
mathescape=true,
basicstyle=\normalfont\sffamily,
commentstyle=\normalfont\sffamily,
keywordstyle=\sffamily\bfseries,
identifierstyle=\sffamily\itshape,
emphstyle=\normalfont\sffamily,
stringstyle=,
showstringspaces=false,
columns=[l]fullflexible
}
\newcommand{\lstjava}{\lstset { numbers=left,language=java,tabsize=2,numberstyle=\tiny ,numbersep=5pt,basicstyle=\scriptsize}}
\newcommand{\lstalg}{\lstset { numbers=left,language=alglang,tabsize=2,numberstyle=\tiny,style=algstyle}}
\newcounter{aufgabe}
\setcounter{aufgabe}{0}
\newcommand{\Aufgabe}{\noindent\newline\addtocounter{aufgabe}{1}\textbf{Aufgabe \vblatt.\theaufgabe}\\
%\input{\theaufgabe}\bigskip
}
% Unteraufgaben (mit Enumeration)
\def\labelenumi{(\arabic{enumi})}
\parindent0mm % keine Absatzeinrückung
% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %
% Ende Header %
% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %
%!!!!anpassen an das Betriebssystem!!!, um Umlaute zu verwenden
\usepackage[utf8]{inputenc} %Linux
%\usepackage[latin1]{inputenc} %Windows
%\usepackage[applemac]{inputenc} %Mac
%Namen und Matrikelnummern anpassen
\dreinamen{aaa}{1111111}{bbb}{2222222}{zzz}{3333333} %3er Gruppe
%Termin der Uebungsgruppe und Raum anpassen z. B. \termin{Mo 10:15-11:45, BB 915}
\termin{Do 10:00-12:00}
%Blattnummer anpassen z. B. \blatt{1}
\blatt{2}
\usetikzlibrary{arrows}
\tikzset{
every node/.style={minimum size=4mm, inner sep=0.5mm, font=\sffamily},
level 1/.style={every child/.style=,
sibling distance=10em},
level 2/.style={every child/.style=,
sibling distance=10em},
level 3/.style={every child/.style=,
sibling distance=3em},
level 4/.style={every child/.style=,
sibling distance=5em},
}
\begin{document}
%Hier kommt der Text des Dokuments......
\lstjava %Setzen des Aussehens des Listings für Java
%\lstinputlisting{Sort.java}
\Aufgabe
\begin{center}
\resizebox{1.5\textwidth}{!}{
\begin{tikzpicture}[<-,>=stealth']
\node {algorithm}
child {
node {declaration}
child[fill=none]{ edge from parent[draw=none] }
child { node {var} }
child {
node {declarationlist}
child[fill=none]{ edge from parent[draw=none] }
child {
node {namelist}
child[fill=none]{ edge from parent[draw=none] }
child {
node {name}
child {
node {letter}
child {node{a}}
}
}
child {
node {'}
}
child[fill=none] {edge from parent[draw=none]}
child {
node {namelist}
child[fill=none]{
edge from parent[draw=none] }
child {
node {name}
child {
node {letter}
child {
node{c}
}
}
}
}
}
child { node {:} }
child {
node {type}
child {node{integer}}
}
}
}
child {
node {;}
child[fill=none]{ edge from parent[draw=none] }
}
child {
node {statement}
child {
node {assignment}
child { node {name}
child {node {letter}
child {node {a}
}
}
}
child[fill=none] {edge from parent[draw=none]}
child { node {:=}}
child[fill=none] {edge from parent[draw=none]}
child { node {expression}
child {node {arithmetic expr.}
child {node {operand}
child {node {signed number}
child {node {number}
child {node {1}
}
}
}
}
}
}
child[fill=none] {edge from parent[draw=none]}
}
}
child {
node {;}
child[fill=none]{ edge from parent[draw=none] }
}
child {
node {statement}
child {
node {iteration}
child {
node {repeatloop}
child[fill=none]{ edge from parent[draw=none] }
child {node {repeat}}
child[fill=none] {edge from parent[draw=none]}
child {
node {statement}
child {
node {assignment}
child {
node{name}
child {
node{letter}
child {node{c}}
}
}
child {node{:=}}
child {
node{expession}
child {
node{arithmetic expr.}
child {
node{arithmetic expr.}
child {
node{operand}
child {
node{name}
child {
node {letter}
child {
node{c}
}
}
}
}
}
child {
node{arithmetic op.}
child {
node{-}
}
}
child {
node{arithmetic expr.}
child {
node{operand}
child {
node{name}
child {
node {letter}
child {
node{a}
}
}
}
}
}
}
}
}
}
child { node {until} }
child {
node {boolean expr.}
child {
node{arithmetic expr.}
child {
node {operand}
child {
node {name}
child {
node {letter}
child {
node {c}
}
}
}
}
}
child {
node{comparison}
child {
node {<}
}
}
child {
node{arithmetic expr.}
child {
node {operand}
child {
node {name}
child {
node {letter}
child {
node {a}
}
}
}
}
}
}
}
}
}
;
\end{tikzpicture}
}
\end{center}
\end{document}
I've tried to move the margin value at the beginning of the code, but the syntax tree position doesn't changed. Just the header and footer. Also, Any idea how to make it not overlapping each other? I also already adjust the sibling distance but it always like that. Any help would be appreciated ;)
geometry
. How cangeometry
do its job if you sneak behind its back and change everything when it isn't looking?