Ordinare le mie note con datatool

  • Creatore
    Topic
  • #66722
    Up
    0
    Down
    ::


    Ho composto un modello di documento per organizzare le mie note in modo sequenziale ed ordinato. Utilizzo il potentissimo pacchetto datatool per fornire un input testuale esterno al documento.
    Personalmente, dopo aver aggiunto una nota al file txt clicco su un file batch che mi lancia l’eseguibile pdflatex per uan compilazione immediata senza passare dall’editor di testi.
    Lo condivido sperando possa servire a qualcuno per migliorare la propria produttività. Ovviamente si accettano suggerimenti e critiche.

    note.tex
    `\newcommand{\inputfile}{000.txt}
    \documentclass[a4paper,10pt]{article}
    \usepackage[a4paper,top=15mm,left=15mm,right=15mm,bottom=23mm]{geometry}
    \usepackage[latin1]{inputenc}
    \usepackage[greek,italian]{babel}
    \usepackage{fancyhdr}
    \usepackage{datatool}
    \usepackage{lastpage}
    \DTLsetseparator{|}
    \begin{document}
    \newcounter{dtlcurrent} %nuovo contatore con valore di \DTLcurrentindex da decrementare
    \pagestyle{fancy}
    \renewcommand{\headrulewidth}{0pt}% remove default line at top
    \DTLloaddb{titolo}{\inputfile}
    \DTLforeach*[\value{DTLrowi}<1]{titolo}{\1=data,\2=titolo,\3=nota}{% salta prima riga
    \xdef\titolo{\1}
    }
    \cfoot{\emph{\titolo} \hfill \thepage\slash\pageref{LastPage}}
    \begin{center}
    \Large\textbf{\titolo}\\
    \footnotesize
    \DTLloaddb{lista}{\inputfile}
    \newcounter{totrows} %nuovo contatore con valore di \DTLrowcount{lista} da decrementare
    \setcounter{totrows}{\DTLrowcount{lista}}
    \addtocounter{totrows}{-1}
    \emph{(\arabic{totrows} note)}
    \normalsize
    \bigskip %spazio tra titolo e prima nota
    \DTLforeach*{lista}{\1=data,\2=titolo,\3=nota}{\ifthenelse{\value{DTLrowi}>1}{% inizia dalla 2a riga
    \setcounter{dtlcurrent}{\DTLcurrentindex}
    \addtocounter{dtlcurrent}{-1}
    \fbox{\begin{minipage}[l]{0.98\textwidth}
    \textbf{[\arabic{dtlcurrent}] – \2} \hfill \emph{\textbf{\footnotesize\1}}\\
    \3
    \end{minipage}}\\
    \medskip %spazio tra le note
    }{}}
    \end{center}
    \end{document} `

    000.txt
    `data|titolo|nota
    Titolo documento||
    24-11-2011 01:33|titolo nota uno|testo della nota uno
    24-11-2011 01:35|titolo nota due|testo della nota due`

  • Devi essere connesso per rispondere a questo topic.

Go to top