[Risolto] Come fissare posizioni corrispondenti tra righe?

  • Creatore
    Topic
  • #53777
    Up
    0
    Down
    ::


    Ciao a tutti.

    Premetto che è relativamente poco che uso LaTeX. La mia distribuzione è TexLive 2010, e il mio sistema operativo è Arch Linux.

    Mi sono trovato benissimo, ma sono incappato in un problema che non riesco a risolvere. Sto cercando di “riconvertire” in LaTeX un documento che avevo scritto in openoffice, ma c’è una parte del documento che non ho idea di come “tradurre”.

    Questa è un’immagine che ho ritagliato dal pdf ottenuto dal documento originale in openoffice.

    Per spiegare meglio il mio problema: le lettere rappresentano le basi di una sequenza di DNA, e la posizione delle lettere deve necessariamente corrispondere tra le righe (per via della storia dell’appaiamento A-T C-G). Il problema sta nelle frecce: in pratica c’è necessità che la freccia superiore cada esattamente tra la G e la A, e la freccia inferiore tra la A e la G (rappresentano la posizione dove un enzima taglia il DNA).

    In openoffice avevo risolto la cosa in maniera molto grossolana inserendo spazi fino a posizionare le frecce nella posizione voluta, ma non ho idea di come ottenere un risultato in LaTeX. Magari anche in modo più elegante. Ho cercato a lungo su internet, ma non ho trovato spunti. L’allineamento sicuro tra le lettere l’ho ottenuto costruendo una tabella con \tabular, ma come posso inserire le frecce in modo che siano “fissate” tra le due lettere, in quella posizione? C’è un modo per farlo, o sono costretto a inserire una figura?

Visualizzazione 1 filone di risposte
  • Autore
    Risposte
    • #53778
      Up
      0
      Down
      ::

      Ciao a tutti.

      Premetto che è relativamente poco che uso LaTeX. La mia distribuzione è TexLive 2010, e il mio sistema operativo è Arch Linux.

      Mi sono trovato benissimo, ma sono incappato in un problema che non riesco a risolvere. Sto cercando di “riconvertire” in LaTeX un documento che avevo scritto in openoffice, ma c’è una parte del documento che non ho idea di come “tradurre”.

      Questa è un’immagine che ho ritagliato dal pdf ottenuto dal documento originale in openoffice.

      Per spiegare meglio il mio problema: le lettere rappresentano le basi di una sequenza di DNA, e la posizione delle lettere deve necessariamente corrispondere tra le righe (per via della storia dell’appaiamento A-T C-G). Il problema sta nelle frecce: in pratica c’è necessità che la freccia superiore cada esattamente tra la G e la A, e la freccia inferiore tra la A e la G (rappresentano la posizione dove un enzima taglia il DNA).

      In openoffice avevo risolto la cosa in maniera molto grossolana inserendo spazi fino a posizionare le frecce nella posizione voluta, ma non ho idea di come ottenere un risultato in LaTeX. Magari anche in modo più elegante. Ho cercato a lungo su internet, ma non ho trovato spunti. L’allineamento sicuro tra le lettere l’ho ottenuto costruendo una tabella con \tabular, ma come posso inserire le frecce in modo che siano “fissate” tra le due lettere, in quella posizione? C’è un modo per farlo, o sono costretto a inserire una figura?

      Metti questo nel preambolo.
      `\newcommand{\after}[1]{\multicolumn{1}{r}{%
      \rlap{\hspace{\tabcolsep}\makebox[0pt]{#1}}}}`
      La tua tabella può allora diventare
      `\begin{center}
      \setlength{\tabcolsep}{1.5pt}
      \begin{tabular}{cccccc}
      \after{$\downarrow$}\\[-2pt]
      $5'$-G & A & A & T & T & C-$3'$ \\
      $3'$-C & T & T & A & A & G-$5'$ \\[-4pt]
      & & & & \after{$\uparrow$}
      \end{tabular}
      \end{center}`
      Gli aggiustamenti “manuali” sono purtroppo necessari. Se volessi frecce più alte, scrivi \big\downarrow e \big\uparrow, ma te lo sconsiglio.

      Spiegazione del trucco. Con \after{$\downarrow$} diciamo parecchie cose: prima di tutto trasformiamo la cella in una con allineamento a destra; da questa cella facciamo sporgere sulla destra (con \rlap) un testo che contiene lo spostamento che ci porta esattamente a metà dello spazio tra le due colonne; qui componiamo una box di ampiezza zero che contiene il simbolo (in questo caso la freccia), in modo che sia centrato rispetto al punto in cui cadrà (ma non occuperà spazio, agli occhi di TeX).

      Benvenuto!

      Ciao
      Enrico

    • #53779
      Up
      0
      Down
      ::


      Grazie del benvenuto, della risposta rapida e dell’aiuto prezioso 🙂 Onestamente non credo che sarei riuscito a farlo da solo, mi sa che ho bisogno di ancora un po’ di esperienza… nel frattempo, mediterò il codice che mi hai suggerito! Ho imparato qualcosa di nuovo! LaTeX è davvero potente.

      Grazie di nuovo!

Visualizzazione 1 filone di risposte
  • Devi essere connesso per rispondere a questo topic.

Go to top