tabelle: bordi verticali

  • Creatore
    Topic
  • #19509
    Up
    0
    Down
    ::


    Salve a tutti, vorrei porre un problema che sembra che nessun utilizzatore di LaTeX si sia mai posto (probabilmente perché è una cosa banalissima, almeno spero). Devo costruire delle tabelle in cui i bordi verticali non coprono tutta la lunghezza della tabella, ma solo una limitata area. Detto così sembra complicato, in realtà l’idea è molto semplice.

    Immaginate una struttura tabellare nella quale non è evidenziata nessuna linea che suddivide le celle. Ora immaginate di prendere una porzione di celle all’interno della tabella, l’una adiacente all’altra, ad es. un quadrato costituito da 2×2 celle. Vogliamo circondare questo quadrato da un bordo. Ad esempio:

    cella01 cella02 cella03 cella04
    cella05 cella06 cella07 cella08
    cella09 cella10 cella11 cella12
    cella13 cella14 cella15 cella 16

    Prendiamo il quadrato costituito dalle celle 06, 07, 10 e 11, e proviamo a circondarlo da un bordo. Come agiamo?
    Dobbiamo creare 2 linee orizzontali e 2 verticali. Sinchè dobbiamo fare le orizzontali non c’è problema, c’è il comando \cline (se così si chiama, ora non ricordo esattamente). Ma… per le veticali??????

    Potremmo indicare a tabular il parametro {c|cc|c} ma, così facendo, le linee verticali sarebbero disposte su tutta l’altezza della tabella. Io invece voglio che la linea verticale vada solo da cella06 a cella10 e non che si estenda anche a cella02 e a cella14.

    Non so sinceramente se ho esposto chiaramente il problema… qualcuno avrebbe un consiglio da darmi?

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

      Salve a tutti, vorrei porre un problema che sembra che nessun utilizzatore di LaTeX si sia mai posto (probabilmente perché è una cosa banalissima, almeno spero). Devo costruire delle tabelle in cui i bordi verticali non coprono tutta la lunghezza della tabella, ma solo una limitata area. Detto così sembra complicato, in realtà l’idea è molto semplice.

      Immaginate una struttura tabellare nella quale non è evidenziata nessuna linea che suddivide le celle. Ora immaginate di prendere una porzione di celle all’interno della tabella, l’una adiacente all’altra, ad es. un quadrato costituito da 2×2 celle. Vogliamo circondare questo quadrato da un bordo. Ad esempio:

      cella01 cella02 cella03 cella04
      cella05 cella06 cella07 cella08
      cella09 cella10 cella11 cella12
      cella13 cella14 cella15 cella 16

      Prendiamo il quadrato costituito dalle celle 06, 07, 10 e 11, e proviamo a circondarlo da un bordo. Come agiamo?
      Dobbiamo creare 2 linee orizzontali e 2 verticali. Sinchè dobbiamo fare le orizzontali non c’è problema, c’è il comando \cline (se così si chiama, ora non ricordo esattamente). Ma… per le veticali??????

      Potremmo indicare a tabular il parametro {c|cc|c} ma, così facendo, le linee verticali sarebbero disposte su tutta l’altezza della tabella. Io invece voglio che la linea verticale vada solo da cella06 a cella10 e non che si estenda anche a cella02 e a cella14.

      Non so sinceramente se ho esposto chiaramente il problema… qualcuno avrebbe un consiglio da darmi?

      `\begin{tabular}{cccc}
      aaa&aaa&aaa&aaa\\
      \cline{2-3}
      aaa&\multicolumn{1}{|c}{aaa}&\multicolumn{1}{c|}{aaa}&aaa\\
      aaa&\multicolumn{1}{|c}{aaa}&\multicolumn{1}{c|}{aaa}&aaa\\
      \cline{2-3}
      aaa&aaa&aaa&aaa
      \end{tabular}`
      Se non vuoi scriverti quella roba terribile ogni volta, puoi definire un comando:
      `\newcommand{\1}[2]{\multicolumn{1}{#1}{#2}}
      \begin{tabular}{cccc}
      aaa&aaa&aaa&aaa\\
      \cline{2-3}
      aaa&\1{|c}{aaa}&\1{c|}{aaa}&aaa\\
      aaa&\1{|c}{aaa}&\1{c|}{aaa}&aaa\\
      \cline{2-3}
      aaa&aaa&aaa&aaa
      \end{tabular}`
      Non occorre che sia \1, l’ho fatto solo per comodità. L’importante è che sia il primo token (eccetto gli spazi che sono ignorati) dopo &; TeX espande sempre il primo token dopo &, per motivi TeXnici che sarebbe un po’ lungo spiegare, ma sono gli stessi su cui si basa \multicolumn.

      Ciao
      Enrico

    • #19511
      Up
      0
      Down
      ::


      Grazie mille! 😆

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

Go to top