[RISOLTO] Semplificazione dei comandi

  • Creatore
    Topic
  • #106111
    Up
    0
    Down
    ::


    Buongiorno a tutti,
    ieri una persona che conosco mi ha chiesto di guardare una tabella che sta realizzando perché aveva qualcosa di anomalo, per comodità riporto solo una riga nel minimo compilabile.
    `
    \documentclass[a4paper]{book}
    \usepackage[italian]{babel}
    \usepackage[utf8]{inputenc}
    \usepackage[T1]{fontenc}
    \usepackage{booktabs}
    \usepackage{longtable}
    \usepackage{array}
    \usepackage{pdfpages}
    \usepackage{enumitem}
    \usepackage[margin=10pt,font=small,labelfont=bf,labelsep=endash,format=hang,justification= justified]{caption}
    \captionsetup[table]{position=bottom}

    \newcolumntype{L}[1]{>{\raggedright\arraybackslash}p{#1}}
    \newcolumntype{T}[1]{>{\raggedright\arraybackslash}p{(\textwidth-#1)/2}}

    \begin{document}

    \mainmatter
    \pagestyle{plain}

    \begin{longtable}{L{2.4cm}T{2.4cm}T{2.4cm}}
    %intestazione iniziale
    \toprule
    \textbf{Tecnica} & \textbf{Vantaggi} &\textbf{Svantaggi}\\
    \midrule
    \endfirsthead
    %intestazione normale
    \multicolumn{3}{l}{\footnotesize\itshape\tablename\thetable: continua dalla pagina precedente}\\
    \toprule
    \textbf{Tecnica} & \textbf{Vantaggi} &\textbf{Svantaggi}\\
    \midrule
    \endhead
    %piede normale
    \midrule
    \multicolumn{3}{r}{\footnotesize\itshape\tablename\thetable:continua nella prossima pagina}\\
    \endfoot
    %piede finale
    \bottomrule
    \multicolumn{2}{r}{\footnotesize\itshape\tablename\thetable:si conclude dalla pagina precedente}\\
    \endlastfoot
    %corpo della tabella
    \midrule
    \textit{Diffrazione a raggi-X}&adattabile&componenti piccoli\\
    &di facile reperibilità&applicabile in laboratorio\\
    &ampio range di materiali&solo misurazioni semplici\\
    &sistema facile da maneggiare&\\
    &grandezza variabile del RS&\\
    \midrule
    \end{longtable}
    \end{document}
    `

    Questa era la prima soluzione, con una mia prima prova di modifica creata definendo le due nuove tipologie di colonne

    `\newcolumntype{L}[1]{>{\raggedright\arraybackslash}p{#1}}
    \newcolumntype{T}[1]{>{\raggedright\arraybackslash}p{(\textwidth-#1)/2}}`

    Tuttavia il risultato non è esteticamente bello così ho provato a modificare la colonna 2 e 3 con dei minipage

    `\midrule
    \textit{Diffrazione a raggi-X}&\begin{minipage}[t]{(\textwidth-2.4cm-4\tabcolsep)/2}%
    \begin{itemize}[noitemsep,leftmargin=*]
    \item adattabile
    \item di facile reperibilità
    \item ampio range di materiali
    \item sistema facile da maneggiare
    \item grandezza variabile del RS
    \end{itemize}
    \end{minipage} &%
    \begin{minipage}[t]{(\columnwidth-2.4cm-4\tabcolsep)/2}%
    \begin{itemize}[noitemsep,leftmargin=*]
    \item componenti piccoli
    \item applicabile in laboratorio
    \item solo misurazioni semplici
    \end{itemize}
    \end{minipage} \\
    \midrule`
    Il risultato è come dovrebbe essere e si capisce che ci sono dei punti; ora la mia domanda è:
    Per non dover riscrivere ogni volta minipage itemize e tutti i parametri che servono, ma senza modificare le impostazioni a livello globale, c’è un modo per creare un nuovo comando? Io in velocità ho provato (ovviamente fallendo) con

    `\newenvironment{casa}[1]{%
    \begin{minipage}[t]{{(\textwidth-#1-4\tabcolsep)/2}%
    \begin{itemize}[noitemsep,leftmargin=*]}%
    {\end{itemize}%
    \end{minipage}}`

    e prima ancora con
    `\newcommand{casa}[1][2.4cm]{%
    \begin{minipage}[t]{{(\textwidth-#1-4\tabcolsep)/2}%
    \begin{itemize}[noitemsep,leftmargin=*]}%
    {\end{itemize}%
    \end{minipage}}`

    Fallito ovviamente.
    Se qualcuno potesse illuminarmi così poi invio alla persona la soluzione sarei molto grato.

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


      Non vedo problemi nel definire un ambiente; per l’ampiezza della [tt]minipage[/tt] puoi usare [tt]\linewidth[/tt]. Ho fatto qualche correzione alle dimensioni.

      `
      \documentclass[a4paper]{book}
      \usepackage[T1]{fontenc}
      \usepackage[utf8]{inputenc}
      \usepackage[italian]{babel}
      \usepackage{showframe}

      \usepackage{booktabs}
      \usepackage{longtable}
      \usepackage{array}
      \usepackage{pdfpages}
      \usepackage{enumitem}
      \usepackage[
      margin=10pt,
      font=small,
      labelfont=bf,
      labelsep=endash,
      format=hang,
      justification=justified
      ]{caption}
      \captionsetup[table]{position=bottom}

      \newcolumntype{L}[1]{>{\raggedright\arraybackslash}p{#1-2\tabcolsep}}
      \newcolumntype{T}[1]{%
      >{\raggedright\arraybackslash}%
      p{(\textwidth-#1-2\tabcolsep)/2}%
      }

      \newenvironment{pippo}
      {\begin{minipage}[t]{\linewidth}\begin{itemize}[noitemsep,leftmargin=*]}
      {\end{itemize}\end{minipage}}

      \begin{document}

      \mainmatter
      \pagestyle{plain}

      \begin{longtable}{@{}L{2.4cm}T{2.4cm}T{2.4cm}@{}}
      %intestazione iniziale
      \toprule
      \textbf{Tecnica} & \textbf{Vantaggi} &\textbf{Svantaggi}\\
      \midrule
      \endfirsthead
      %intestazione normale
      \multicolumn{3}{l}{\footnotesize\itshape\tablename\thetable: continua dalla pagina precedente}\\
      \toprule
      \textbf{Tecnica} & \textbf{Vantaggi} &\textbf{Svantaggi}\\
      \midrule
      \endhead
      %piede normale
      \midrule
      \multicolumn{3}{r}{\footnotesize\itshape\tablename\thetable: continua nella prossima pagina}\\
      \endfoot
      %piede finale
      \bottomrule
      \multicolumn{2}{r}{\footnotesize\itshape\tablename\thetable: si conclude dalla pagina precedente}\\
      \endlastfoot
      %corpo della tabella
      \midrule
      \textit{Diffrazione a raggi-X}
      & adattabile & componenti piccoli \\
      & di facile reperibilità & applicabile in laboratorio \\
      & ampio range di materiali & solo misurazioni semplici \\
      & sistema facile da maneggiare & \\
      & grandezza variabile del RS & \\
      \midrule
      \textit{Diffrazione a raggi-X}
      & \begin{minipage}[t]{(\textwidth-2.4cm-4\tabcolsep)/2}%
      \begin{itemize}[noitemsep,leftmargin=*]
      \item adattabile
      \item di facile reperibilità
      \item ampio range di materiali
      \item sistema facile da maneggiare
      \item grandezza variabile del RS
      \end{itemize}
      \end{minipage}
      & \begin{minipage}[t]{(\columnwidth-2.4cm-4\tabcolsep)/2}%
      \begin{itemize}[noitemsep,leftmargin=*]
      \item componenti piccoli
      \item applicabile in laboratorio
      \item solo misurazioni semplici
      \end{itemize}
      \end{minipage}
      \\
      \midrule
      \textit{Diffrazione a raggi-X}
      & \begin{pippo}
      \item adattabile
      \item di facile reperibilità
      \item ampio range di materiali
      \item sistema facile da maneggiare
      \item grandezza variabile del RS
      \end{pippo}
      & \begin{pippo}
      \item componenti piccoli
      \item applicabile in laboratorio
      \item solo misurazioni semplici
      \end{pippo}
      \\
      \end{longtable}

      \end{document}
      `

      Ciao
      Enrico

    • #106113
      Up
      0
      Down
      ::


      Grazie mille per la rapidità della risposta, sfortunatamente io mi sono appena inoltrato nella programmazione, e quindi sbaglio ancora troppo. Imparerò anche perché la sua guida è davvero ben fatta.

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

Go to top