[Longtable – carattere ‘_’ ]

  • Creatore
    Topic
  • #83812
    Up
    0
    Down
    ::


    Salve a tutti,
    mi chiamo Enrico, frequento il 5 anni di Ingegneria Informatica a Pisa, sono un nuovo iscritto.
    Spero di poter trovare/dare ausilio in questa comunità che mi pare molto valida.

    Presento il mio primo problema:

    Dispongo di un file txt che sostanzialmente è una tabella di valori del tipo:

    TOT_TUNN;EXP_N;Lmin;LMax;OPQ_N;Lmin;LMax;QTTL_N;Lmin;LMax;AS_NAME;
    15;15;1;4;0;–;–;0;–;–;AS1267_AS1267-MNT;

    Quello che voglio fare io è creare a partire da questa tabella un file .tex ed in particolare un pdf.

    Il file tex lo creo a partire da uno script bash che processa tutti i valori mediante cut.
    I valori sono molti, dunque la tabella non entrerà su una sola pagina, ho dunque optato per il pacchetto:
    longtable.

    Questa la dichiarazione della tabella:
    `\begin{longtable}{|p{1cm}|p{1cm}|p{1cm}|p{1cm}|p{1cm}|p{1cm}|p{1cm}|p{1cm}|p{1cm}|p{1cm}|p{5cm}|}`
    Come potete notare ho fissato i valori della larghezza delle colonne, quando però compilo ottengo
    la 4 colonna più larga di un cm!
    Allego l’immagine.
    [attachment=627]tab_as.pdf[/attachment]

    ******

    Secondo problema:
    Nel file txt vi sono diversi nomi di AS, del tipo XX_YY , latex non sopporta il ‘ _ ‘ ,c’è qualcosa che posso inserire nel preambolo in modo da far interpretare _ come \_ ,ossia trattarlo come un carattere normale?

    Grazie

    Saluti

    Enrico

    Attachments:
    You must be logged in to view attached files.
Visualizzazione 6 filoni di risposte
  • Autore
    Risposte
    • #83813
      Up
      0
      Down
      ::

      edge7″ post=83007Salve a tutti,
      mi chiamo Enrico, frequento il 5 anni di Ingegneria Informatica a Pisa, sono un nuovo iscritto.
      Spero di poter trovare/dare ausilio in questa comunità che mi pare molto valida.

      Presento il mio primo problema:

      Dispongo di un file txt che sostanzialmente è una tabella di valori del tipo:

      TOT_TUNN;EXP_N;Lmin;LMax;OPQ_N;Lmin;LMax;QTTL_N;Lmin;LMax;AS_NAME;
      15;15;1;4;0;–;–;0;–;–;AS1267_AS1267-MNT;

      Quello che voglio fare io è creare a partire da questa tabella un file .tex ed in particolare un pdf.

      Il file tex lo creo a partire da uno script bash che processa tutti i valori mediante cut.
      I valori sono molti, dunque la tabella non entrerà su una sola pagina, ho dunque optato per il pacchetto:
      longtable.

      Questa la dichiarazione della tabella:
      `\begin{longtable}{|p{1cm}|p{1cm}|p{1cm}|p{1cm}|p{1cm}|p{1cm}|p{1cm}|p{1cm}|p{1cm}|p{1cm}|p{5cm}|}`
      Come potete notare ho fissato i valori della larghezza delle colonne, quando però compilo ottengo
      la 4 colonna più larga di un cm!
      Allego l’immagine.
      [attachment=627]tab_as.pdf[/attachment]

      ******

      Secondo problema:
      Nel file txt vi sono diversi nomi di AS, del tipo XX_YY , latex non sopporta il ‘ _ ‘ ,c’è qualcosa che posso inserire nel preambolo in modo da far interpretare _ come \_ ,ossia trattarlo come un carattere normale?

      Grazie

      Saluti

      Enrico

      Benvenuto, omonimo! 🙂

      Puoi mostrare un esempio un po’ più lungo di come hai ottenuto la tabella nel PDF? Bastano tre o quattro righe del corpo. Se poi includi anche qualche riga in più del file .txt è forse possibile trovare la soluzione più semplice a entrambi i tuoi problemi.

      Ciao
      Enrico

    • #83814
      Up
      0
      Down
      ::


      Grazie per la celere risposta.

      Al secondo problema ho risolto mediante:

      `sed -i 's/_/\\_/g' “tab_as.tex”`

      Il primo ancora è irrisolto.

      Allego:
      il file bash che processa.
      Il file txt processato.
      Il file tex generato.
      Il file Pdf.

      [attachment=628]tabella_AuS.txt[/attachment]

      [attachment=629]tab_as.tex[/attachment]

      [attachment=630]tab_as_2013-03-15.pdf[/attachment]

      [attachment]tab.bash[/attachment]

      Enrico

      Attachments:
      You must be logged in to view attached files.
    • #83815
      Up
      0
      Down
      ::

      edge7″ post=83009Grazie per la celere risposta.

      Al secondo problema ho risolto mediante:

      `sed -i 's/_/\\_/g' “tab_as.tex”`

      Il primo ancora è irrisolto.

      Allego:
      il file bash che processa.
      Il file txt processato.
      Il file tex generato.
      Il file Pdf.

      [attachment=628]tabella_AuS.txt[/attachment]

      [attachment=629]tab_as.tex[/attachment]

      [attachment=630]tab_as_2013-03-15.pdf[/attachment]

      [attachment]tab.bash[/attachment]

      Enrico

      Se scrivi

      `\begin{longtable}{|p{1cm}|p{1cm}|p{1cm}|p{2cm}|p{1cm}|p{1cm}|p{1cm}|p{1cm}|p{1cm}|p{1cm}|p{5cm}|}`

      mi sembra abbastanza normale che la quarta colonna sia più larga delle altre. O no? 🙂

      Ciao
      Tommaso

    • #83816
      Up
      0
      Down
      ::


      Era una prova quella, anche se metto 0.5 resta uguale.

      Enrico

    • #83817
      Up
      0
      Down
      ::

      edge7″ post=83011Era una prova quella, anche se metto 0.5 resta uguale.

      Enrico

      Prova o no, io ho copiato il tuo codice, l’ho incollato nel mio editor e ho compilato. La quarta colonna era il doppio delle altre appunto perché l’avevi dichiarata larga 2 cm. Ho corretto in 1 cm e ho ricompilato ed è diventata larga 1 cm come le altre. Che editor usi? Sistema operativo?

      Ciao
      Tommaso

    • #83818
      Up
      0
      Down
      ::


      Utilizzo Archlinux:
      3.5.3-1-ARCH

      Editor, Gedit anche se in questo caso il .tex lo genero da uno script bash.

      Compilo con pdflatex.

      Grazie

      Enrico

    • #83819
      Up
      0
      Down
      ::

      edge7″ post=83009Grazie per la celere risposta.

      E adesso arriva il bello. 🙂

      Il pacchetto datatool permette di manipolare i tuoi file di testo in modo piuttosto buono. C’è il problema dell’ultima riga, che si risolve leggendo due volte il file, la prima per memorizzare l’ultima riga che viene poi tolta dalla rappresentazione interna.

      Unica vera modifica: avere due campi con lo stesso nome non mi pare una buona idea, così ho arbitrariamente deciso di cambiarli nel tuo file .txt; visto che è generato, non dovrebbe essere difficile cambiare il modo di scrivere i titoli dei campi.

      `\documentclass[a4paper,12pt]{article}
      \usepackage[T1]{fontenc}
      \usepackage[utf8]{inputenc}
      \usepackage[italian]{babel}

      \usepackage{datatool}
      \usepackage{longtable}
      \usepackage[top=3.0cm,right=0.5cm,bottom=3.0cm,left=0.5cm]{geometry}
      \setlength{\LTleft}{0pt}

      \title{AS Table \LaTeX}

      \author{Scamper}

      \begin{document}

      \maketitle

      \DTLsetseparator{;}
      \chardef\uscode=\catcode`_
      \catcode`\_=11
      \DTLloaddb{mytable}{enrico.txt}
      \DTLforeach{mytable}{\tottunn=TOT_TUNN}{%
      \DTLiflastrow
      {\expandafter\gdef\expandafter\lasttableentry\expandafter{\tottunn}%
      \DTLremovecurrentrow}
      {}%
      }

      \begin{longtable}{|*{11}{l|}}
      \caption{As tunnel} \\
      \hline
      \textbf{T} & \textbf{EX} & \textbf{Lm} & \textbf{LM} & \textbf{OPQ} &
      \textbf{Lm} & \textbf{LM} & \textbf{QT} & \textbf{Lm} & \textbf{LM} & \textbf{As} \\
      \hline
      \endfirsthead
      \multicolumn{11}{l}%
      {\tablename\ \thetable\ — \textit{Continued from previous page}} \\
      \hline
      \textbf{T} & \textbf{EX} & \textbf{Lm} & \textbf{LM} & \textbf{OPQ} & \textbf{Lm} &
      \textbf{LM} & \textbf{QT} & \textbf{Lm} & \textbf{LM} & \textbf{As} \\
      \hline
      \endhead
      \hline \multicolumn{11}{l}{\textit{Continued on next page}} \\
      \endfoot
      \hline
      \multicolumn{11}{|l|}{\lasttableentry}\\\hline
      \endlastfoot
      \DTLforeach{mytable}{%
      \tottunn=TOT_TUNN,
      \expn=EXP_N,
      \lmina=LminA,
      \lmaxa=LMaxA,
      \opqn=OPQ_N,
      \lminb=LminB,
      \lmaxb=LMaxB,
      \qttln=QTTL_N,
      \lminc=LminC,
      \lmaxc=LMaxC,
      \asname=AS_NAME}{%
      \tottunn & \expn & \lmina & \lmaxa & \opqn & \lminb &
      \lmaxb & \qttln & \lminc & \lmaxc & \asname
      \DTLiflastrow
      {}
      {\\}%
      }
      \end{longtable}
      \catcode`\_=\uscode

      \end{document}`
      Un paio di trucchetti biechi per evitare problemi con [tt]_[/tt] e la tabella è servita. 😉

      Queste le prime righe del file .txt modificato:
      `TOT_TUNN;EXP_N;LminA;LMaxA;OPQ_N;LminB;LMaxB;QTTL_N;LminC;LMaxC;AS_NAME;
      15;15;1;4;0;–;–;0;–;–;AS1267_AS1267-MNT;
      2;2;–;2;0;–;–;0;–;–;AS1273_CW-EUROPE-GSOC;`

      Ciao
      Enrico

Visualizzazione 6 filoni di risposte
  • Devi essere connesso per rispondere a questo topic.

Go to top