Seite 1 von 1

[pgfgantt] Meilenstein gesondert mit Datum markieren

Verfasst: Di 22. Okt 2013, 01:25
von MoonKid
X-Post: http://texwelt.de/wissen/fragen/2132/pg ... -markieren

Ich möchte die Meilensteine in meinem Gantt-Chart gesondert mit einem Datum (also ein Label) versehen.

Am liebsten wäre mir eine vertikale Linie durch den Meilenstein, an dessen unterem Ende ein Datum steht. Also was wie die TODAY-Linie. Soweit ich weiß, kann man von der TODAY-Linie aber nur eine einzige Zeichnen. Ich benötige mehrere.

Alternativ könnte ich auch das Label der Meilensteine in das Gantt-Chart direkt (links) neben dem Meilenstein zeichnen (sieh auskommentierten Code). Hierbei ist aber das Problem, dass sich das für alle Chart-Elemente so verhält. Also auch die Labels der Bars rutschen vom Rand des Charts, dann direkt in die Bar.

Ich muss auf die Meilensteine einfach irgendwie einen Text mit Datum setzen können. Alternativ würde ich auch ein zweites Label draufsetzen.

Gibt es da pgfgantt-spezifische Möglichkeiten?
\documentclass{scrartcl}

\usepackage{pgfgantt}
\usetikzlibrary{shadows}
\usetikzlibrary{shadings}
\usetikzlibrary{shapes}

\usepackage{xltxtra}
\defaultfontfeatures{Mapping=tex-text}
\usepackage{polyglossia}
\setdefaultlanguage[spelling=new]{german}

\begin{document}
\begin{ganttchart}
    [
    today=2013-12-31, today label={},   % Jahreswechsel
    x unit=1mm,                         % timeslot breite
    milestone left shift=-0.7,
    milestone right shift=1.7,
    %inline,milestone inline label node/.append style={left=5mm},
    time slot format=isodate]           % Datumsformat
    {2013-09-22}{2014-01-19}

    \gantttitlecalendar{year, month=shortname}\\

    \ganttmilestone{Auftrag einreichen}{2013-10-28}\\
    \ganttbar{Bar}{2013-10-15}{2014-01-05}
\end{ganttchart}

\end{document}
Falls das mit pgfgantt nicht geht, könnte ich ja selbst noch per tikz was reinzeichnen. Aber wie komme ich an den Node, des Meilenstein bzw. welchen Namen hat er oder wie kann ich ihn adressieren, wenn ich über ihm ein eigenen Text schreiben möchte?

Als ganz schlechten Workaround würde auch ein Zeilenumbruch im Label gehen. Aber das läuft nicht, \\, \newline und \linebreak werden ignoriert.

Verfasst: Mi 23. Okt 2013, 11:04
von MoonKid
Zwei schöne Lösungen, wobei ich die erste reine Tikz-Lösung bevorzuge.

http://texwelt.de/wissen/fragen/2132/pg ... -markieren

Verfasst: Mo 10. Feb 2014, 17:33
von MoonKid
Kleine Nachfrage zu dieser Lösung. Das ganze wollte ich in ein extra Makro packen. Irgendwas stört ihn aber daran.

Die zweite Variante funktioniert. Aber das Makrio \mymile geht nicht.
% mile.tex
\documentclass{scrartcl}

\usepackage{pgfgantt}

\usepackage{xltxtra}
\usepackage{polyglossia}
\setdefaultlanguage[spelling=new]{german}

% Gantt
\newcounter{mymileC}
\setcounter{mymileC}{0}
\newcommand{\mymile}[2]{%
    \addtocounter{mymileC}{1}
    \ganttmilestone[name=m\the\mymileC]{#1}{#2} \\
    \node (datum\the\mymileC) [below=0 of m\the\mymileC] {\emph{#2}};
}

\begin{document}
\begin{ganttchart}{1}{10}

    \mymile{Test}{7}

    %\ganttmilestone[name=x]{Meilenstein}{4} \\
    %\node (datumx) [below=0 of x] {\emph{4}};
\end{ganttchart}

\end{document}

Verfasst: Mo 10. Feb 2014, 17:45
von Johannes_B
\documentclass{scrartcl}
\usepackage{pgfgantt}
\usepackage{xltxtra}
\usepackage{polyglossia}
\setdefaultlanguage[spelling=new]{german}
% Gantt
\newcounter{mymileC}
%\setcounter{mymileC}{0}%defaults to zero
\newcommand{\mymile}[2]{%
    \stepcounter{mymileC}%stepcounter 
    \ganttmilestone[name=m\themymileC]{#1}{#2} \\
    \node (datum\themymileC) [below=0 of m\themymileC] {\emph{#2}};
}

\begin{document}

Achte auf den korrekten Zugriff auf den Wert des Counters: 
 \newcounter{Hallo} \par
 \theHallo
 \stepcounter{Hallo}
 \theHallo

 \begin{verbatim} \newcounter{Hallo}
 \theHallo
 \stepcounter{Hallo}
 \theHallo
 \end{verbatim}



\begin{ganttchart}{1}{10}

\mymile{Test}{7}
\mymile{TestB}{8}

\end{ganttchart}

\end{document}

Verfasst: Mo 10. Feb 2014, 17:55
von MoonKid
Prima so gehts.

Ich habe beide Varianten von \the. Mit und ohne \ danach. Einen Unterschied konnte ich bisher nicht festellten bzw. mir auch keiner erklären.

Verfasst: Mo 10. Feb 2014, 17:57
von Johannes_B
Ich habe oben noch ein wenig ergänzt.
Ich habe beide Varianten von \the. Mit und ohne \ danach. Einen Unterschied konnte ich bisher nicht festellten bzw. mir auch keiner erklären.
Wie meinst du das?

Nähere Informationen: texdoc latex2e (Schau dir bitte auch refstepcounter an)