Robitex's Blog

Ideas in the web

Un modello di pagina per appunti


Prendere appunti

Per qualsiasi studente prendere appunti si rivela un attività importante per utilizzare al meglio i momenti di spiegazione da parte dei docenti, ma anche i partecipanti ad una conferenza od ad un incontro aziendale possono avvantaggiarsi con l’applicazione di un metodo che per forza di cose deve essere personalizzato.

Vi sono diversi metodi che si traducono in un modello di pagina con cui, durante la lezione, applicare le regole che consistono essenzialmente nel rimanere concentrati capendo i concetti che si stanno ascoltando e nel riportarli per importanza e struttura, e nel ripassare il prima possibile per aggiungere particolari e fissare i contenuti.

Il web è una fonte di informazioni utile, ma occorre sempre sperimentare e raffinare. Molto utili per esempio, sono frecce e schemi anche molto semplici, simboli di abbreviazione ed aree di pagina a diversa priorità.

Il modello che ho messo a punto si suddivide in due aree affiancate: la principale detta Notes è quella dove vengono trascritti i concetti principali eventualmente adottando un identazione (a questo scopo utilizzo dei piccoli puntini sulla riga come vedremo tra poco), ed un area laterale destra detta Secondary dove inserire brevi note su curiosità, dettagli od altri riferimenti.

Download modello pagina singola

Download modello pagina fronte/retro

Codice Metapost

Dall’idea di disegnare pagine di quaderno per la scuola elementare, descritta in questo mio post, ne ho tratto il seguente codice Metapost facilmente personalizzabile che realizza il modello descritto.

Il codice è suddiviso in tre sezioni: l’avvio con la definizione dei principali parametri geometrici del modulo, la sezione delle funzioni ed il disegno vero e proprio degli elementi della pagina. Con questa organizzazione, è semplice modificare un parametro iniziale (per esempio la distanza tra le righe Notes), mentre la definizione di funzioni di disegno rende più compatta e concettuale l’operazione di disegno.

Da notare anche come si è fatto uso del font monospaziato Inconsolata utilizzando nel preambolo l’istruzione verbatimtex (che ho tratto da un post del forum del GuIT), quindi per far girare il codice occorre una distribuzione abbastanza completa del sistema TeX, che naturalmente comprende l’eseguibile di Metapost chiamato mpost.

prologues:=3;

verbatimtex
\documentclass{minimal}
\usepackage{inconsolata}
\nofiles
etex; 

outputtemplate := "%j.mps";

% Modello per appunti
beginfig(1)
   
   %%% sezione definizione costanti dimensionali
   
   % dimensione di pagina
   pagewidth := 210mm;
   pageheight:= 297mm;
   
   % margini delle linee area Notes
   sxNotes := 16mm; % sinistro
   dxNotes := 52mm; % destro
   tpNotes := 23mm; % superiore
   btNotes := 15mm; % inferiore
   
   dxSecondary := 10mm; % bordo destro area secondaria
   gap := 2mm;          % distanza linee Notes e Secondary
   
   % distanza dei punti di livello
   d := 12mm;
   
   % altezza linea principale
   q := 6mm;
   
   %%% sezione definizione funzioni

   % funzione di disegno riga orizzontale
   def notesLine(expr y)=
      % spessore linea
      sp := 0.28pt;
      
      % disegno linea
      draw (sxNotes,y+2.25mm)--
           (sxNotes + sp/2,y)--
           (pagewidth-dxNotes-sp/2,y)
               withpen pencircle scaled sp
               withcolor 0.4white;

      % disegno punti di struttura
      drawdot (sxNotes+d,y)
         withpen pencircle scaled 1.5sp
         withcolor 0.4white;

      drawdot (sxNotes+2d,y)
         withpen pencircle scaled 1.5sp
         withcolor 0.4white;
   enddef;
   
   % funzione di disegno riga area Secondary
   def secondaryLine(expr y)=
      % spessore linea
      sp := 0.2pt;
      
      % disegno linea
      draw (pagewidth-dxNotes-sp/2 + gap,y)--
           (pagewidth-dxSecondary-sp/2,y)
         withpen pencircle scaled sp
         withcolor 0.6white;
   enddef;
   
   def labLine(expr a, txt, l)=
      label.urt(txt, a) withcolor 0.5white;
      
      lg := 1pt;
      draw a+(-lg, 4mm-lg)--
           a-(lg, lg)--
           a+(l, -lg)
           withcolor 0.5white;
   enddef;
   
   
   %%% disegno punti di bounding box pagina
   drawdot (1pt,1pt)
      withpen pencircle scaled 0.5pt
      withcolor white;
   drawdot (pagewidth-1pt,pageheight-1pt)
      withpen pencircle scaled 0.5pt
      withcolor white;
   
   %%% disegno modulo degli appunti
   
   % numero di linee del notes
   nn := floor((pageheight-tpNotes-btNotes)/q);
   
   %
   % Notes: area principale linee orizzontali
   for i=0 upto nn:
      notesLine( btNotes + i * q);
      secondaryLine( btNotes + i * q );
   endfor;
   
   refsx := pagewidth-dxNotes+gap;
   labY    := 10.5mm;
   labGap  := 5mm;
   
   % lesson label
   labLine((refsx,pageheight- labY),
          btex \ttfamily Lesson: etex,
          dxNotes-gap-dxSecondary);

   labLine((refsx,pageheight-labY-labGap),
           btex \ttfamily Date: etex,
          dxNotes-gap-dxSecondary);

   labLine((refsx,pageheight-labY-2*labGap),
           btex \ttfamily Page: etex,
          dxNotes-gap-dxSecondary);
   
   % speaker label

   labLine((sxNotes,pageheight-labY),
           btex \ttfamily Speaker: etex,
           pagewidth-dxNotes-sxNotes);

   labLine((sxNotes,pageheight-labY-labGap),
           btex \ttfamily Istitute: etex,
           pagewidth-dxNotes-sxNotes);

   labLine((sxNotes,pageheight-labY-2*labGap),
           btex \ttfamily Contact info: etex,
           pagewidth-dxNotes-sxNotes);
   
   % disegno circoli di foratura
   circleDist := 80mm;
   circleBottom := (pageheight - 3*circleDist)/2;
   
   for i=0 upto 3:
      draw fullcircle
         scaled 4mm
         shifted (12.75mm, i * circleDist + circleBottom)
         withpen pencircle scaled 0.5pt
         withcolor 0.5 white;
   endfor;
   
   % altezza y dei segni mediani dei fori
   circlei := circleBottom+circleDist/2;
   circleii:= circlei+2*circleDist;
   
   % disegno marche orizzontali di foratura
   draw (11mm, circlei)--(14mm, circlei)
      withpen pencircle scaled 0.5pt
      withcolor 0.5 white;
   draw (11mm, circleii)--(14mm, circleii)
      withpen pencircle scaled 0.5pt
      withcolor 0.5 white;
endfig;
end

Buona lezione…

14 risposte a “Un modello di pagina per appunti

  1. Pietro 13/02/2011 alle 18:27

    Complimenti, mi sembra un’ottima idea!

    • robitex 13/02/2011 alle 20:07

      Grazie molte Pietro.
      Se posso vorrei chiederti se hai operato modifiche ricompilando il sorgente Metapost.
      Sarei ancor più contento se ti fossi impegnato direttamente con il codice.
      Ciao e grazie ancora (e buono studio).
      R.

      • Pietro 15/02/2011 alle 21:48

        Ho solo dato un’occhiata finora, mi chiedevo perché la prima riga fosse così bassa, ed in generale aspetto di stampare qualche foglio per confrontarmi con gli spazi.

      • robitex 16/02/2011 alle 08:33

        Ciao Pietro,
        la prima riga andrebbe infatti eliminata semplicemente aumentando di pochissimo l’interlinea principale, ed è la stessa cosa che pensavo durante una pausa ad un corso importante mentre riguardavo il modello con gli appunti appena presi.
        Il codice infatti, riempie dal basso verso l’alto il foglio fino ad occupare lo spazio disponibile. Quell’ultima riga viene così disegnata ma è, come segnali tu, dannosa.
        Naturalmente, puoi fare tu stesso la modifica se disponi di una installazione di TeX e compagni, modificando il valore della variabile numerica q.
        Personalmente mi trovo bene con un interlinea di soli 6mm, quindi un nuovo valore di q pari a 6.1mm dovrebbe risolvere.
        Oppure si potrebbe fermare il riempimento una riga prima oppure partire a riempire le riga dall’alto verso il basso modificando opportunamente il codice.
        Grazie mille.
        Ciao

  2. Pietro 16/02/2011 alle 15:04

    Cominciamo dall’inizio!
    non avendo ancora mai usato metapost, e guardando un poò in rete, ho seguito la seguente procedura per ottenere il pdf relativo al tuo codice:
    mpost tex=latex appunti.mp
    epstopdf appunti.mps

    È corretto?
    Come ottieni le pagine sinistre?

  3. matteo 08/01/2013 alle 21:06

    ciao quando creo mpost nome file si blocca e dice
    ! Unable to make mpx file.
    l.107 labLine((refsx,pageheight- labY),btex
    \ttfamily Lesson: etex,dxNotes-g…

    • robitex 08/01/2013 alle 21:42

      Ciao.
      Hai problemi con l’installazione di LaTeX.
      Forse ti mancano alcuni font.
      Togli btex,etex ed il caricamento dei pacchetti.
      Prova anche a disegnare una semplice linea.
      R.

      • matteo 09/01/2013 alle 09:46

        grazie per la risposta io uso linux distribuzione gentoo.
        Ho provato a commentare la funzione labLine e tutto funziona ma quando voglio scrivere del testo mpost si blocca, sai quali sono i pacchetti da installare?

      • robitex 09/01/2013 alle 10:20

        Bella gentoo…
        Leggi il manuale di METAPOST, su come fare ad inserire un testo ed addatta la funzione labLine ripiegando su un codice più semplice.
        Altrimenti ti serve una TeX Live 2012 completa.
        R.

      • matteo 09/01/2013 alle 10:27

        grazie adesso proverò.
        tu hai usato texlive2011?

      • robitex 09/01/2013 alle 11:05

        Non ricordo credo di si.
        Quando avrai la TeX Live 2012 leggi il mio post per produrre il pdf con una singola compilazione dal codice METAPOST, con ConTeXt mkiv.
        Sarebbe utile un tuo feedback sull’installazione di TeX Live su gentoo, posso scriverti se ne avrò bisogno?

      • matteo 09/01/2013 alle 11:44

        certo mandami una email ti posso aiutare a creare delle guide per gentoo

      • robitex 09/01/2013 alle 11:51

        Ok grazie.
        Eventualmente, mi servirà solamente la verifica della procedura di installazione sul sistema di TeX Live da CTAN.
        Grazie.

Lascia un commento

Inserisci i tuoi dati qui sotto o clicca su un'icona per effettuare l'accesso:

Logo WordPress.com

Stai commentando usando il tuo account WordPress.com. Chiudi sessione / Modifica )

Foto Twitter

Stai commentando usando il tuo account Twitter. Chiudi sessione / Modifica )

Foto di Facebook

Stai commentando usando il tuo account Facebook. Chiudi sessione / Modifica )

Google+ photo

Stai commentando usando il tuo account Google+. Chiudi sessione / Modifica )

Connessione a %s...

%d blogger cliccano Mi Piace per questo: