- Questo topic ha 7 risposte, 2 partecipanti ed è stato aggiornato l'ultima volta 12 anni, 10 mesi fa da .
-
Topic
-
Vorrei realizzare una linea del tempo con TikZ, perciò ho bisogno di scalare le date in modo tale che rientrino nella linea in maniera proporzionale. Ho scelto di usare il pacchetto [tt]pgfcalendar[/tt] che permette di convertire una data in numero intero e pone il risultato in un contatore. Questo numero va poi diviso per un coefficiente che fa corrispondere al valore 1 la data più alta ammissibile e, nelle mie intenzioni, il risultato va moltiplicato per la lunghezza della linea in modo da ottenere l’ascissa del suo estremo destro.
Finora ho scritto questo codice nel quale vi invito a prendere per buoni i numeri:
`\documentclass{article}
\usepackage{tikz}
\usepackage{pgfcalendar}
\newcount\datax % è il contatore che conserva il numero di giorni che intercorrono da \datamin
\newcount\datamin % è il contatore che conserva la data più piccola
\pgfcalendardatetojulian{1920-01-01}{\datamin} % scrive in \datax il numero di giorni da \datamin
\newcommand\tfdata[1]{
\pgfcalendardatetojulian{#1}{\datax}
\advance\datax -\datamin\relax
}
\begin{document}
\tfdata{2013-12-01} % è la data più alta. Mi aspetto che dia 1 in un intervallo tra 0 e 1
\begin{tikzpicture}
\draw (\datax/34303,0) — (-90:1mm);
\end{tikzpicture}
\end{document}`
ma ottengo l’errore di dimensione troppo grande per TikZ.
Come posso fare per scalare l’intervallo 1/1/1920 -> 1/12/2013 in [0,1]?Lo so che con i contatori sono scarso 🙁
Grazie
- Devi essere connesso per rispondere a questo topic.