Indice incorniciato

  • Questo topic ha 6 risposte, 3 partecipanti ed è stato aggiornato l'ultima volta 16 anni fa da samiel.
  • Creatore
    Topic
  • #49269
    samiel
    Partecipante
      Up
      0
      Down
      ::


      Per incorniciare un indice in modo che la scatola
      risulti nei margini ho usato il seguente codice
      `\noindent\fboxsep=3mm\framebox{
      \begin{minipage}{\textwidth-2\fboxsep-2\fboxrule}
      \tableofcontents
      \end{minipage}
      }`
      Visto che la distanza imposta da fboxsep ammonta a 3mm,
      come dovrei sistemare opportunamente il codice?
      Cioè come devo calcolare esattamente la distanza da sottrarre
      a textwidth? Perché col codice sopra riportato
      il box sporge a destra oltre il margine…

      Grazie
      M.

    Visualizzazione 5 filoni di risposte
    • Autore
      Risposte
      • #49270
        OldClaudio
        Partecipante
          Up
          0
          Down
          ::


          Probabilmente ti basta mettereeliminare gli spazi dopo le graffe con dei segni di %
          `
          \noindent\fboxsep=3mm\framebox{%
          \begin{minipage}{\textwidth-2\fboxsep-2\fboxrule}
          \tableofcontents
          \end{minipage}%
          }
          `

        • #49271
          OldClaudio
          Partecipante
            Up
            0
            Down
            ::


            Questo codice funziona se hai una versione di pdftex (il vero motore di composizione) sufficientemente recente –la versione 1.40 dovrebbe andare)
            `
            \noindent\fboxsep=3mm\framebox{%
            \begin{minipage}{\dimexpr\textwidth-2\fboxsep-2\fboxrule\relax}
            \tableofcontents
            \end{minipage}%
            }
            `

          • #49272
            Up
            0
            Down
            ::

            Per incorniciare un indice in modo che la scatola
            risulti nei margini ho usato il seguente codice
            `\noindent\fboxsep=3mm\framebox{
            \begin{minipage}{\textwidth-2\fboxsep-2\fboxrule}
            \tableofcontents
            \end{minipage}
            }`
            Visto che la distanza imposta da fboxsep ammonta a 3mm,
            come dovrei sistemare opportunamente il codice?
            Cioè come devo calcolare esattamente la distanza da sottrarre
            a textwidth? Perché col codice sopra riportato
            il box sporge a destra oltre il margine…

            Vedi che succede a non usare la sintassi consigliata da LaTeX? Cioè \setlength{\fboxsep}{3mm}, per essere chiaro.

            Il problema con il tuo codice è che TeX si attende uno spazio dopo l’unità di misura (che poi ignorerà). Perché? Ci sono vari motivi TeXnici, in parecchi casi permette qualche trucco carino. Il token dopo l’unità di misura viene espanso, nel tuo caso è \framebox, con l’effetto che la box viene costruita con il valore precedente di \fboxsep perché l’assegnazione di un nuovo valore non è ancora terminata. Tutto ciò si cura con l’assegnazione eseguita in sintassi LaTeX.

            Secondo problema: ci sono due spazi che non vengono affatto eliminati:
            `\begin{center}
            \setlength{\fboxsep}{3mm}
            \fbox{%
            \begin{minipage}{\textwidth-2\fboxsep-2\fboxrule}
            \tableofcontents
            \end{minipage}%
            }
            \end{center}`
            L’ambiente center permette di evitare il \noindent e stacca la \fbox da ciò che precede e segue.

            Ciao
            Enrico

          • #49273
            samiel
            Partecipante
              Up
              0
              Down
              ::


              `
              samiel@debian:~$ pdftex
              This is pdfTeX, Version 3.1415926-1.40.10 (TeX Live 2009/Debian)
              restricted \write18 enabled.
              **`
              Infatti con l’inserimento dei due % funziona.

              Funziona naturalmente la seconda versione,
              che gli espertissimi assesriscono essere
              quella più sintatticamente corretta.

              In realtà in rete avevo trovato entrambe
              le sintassi, date da qualche parte per equivalenti.

              RIsolto, grazie a entrambi
              M.

            • #49274
              Up
              0
              Down
              ::

              `
              samiel@debian:~$ pdftex
              This is pdfTeX, Version 3.1415926-1.40.10 (TeX Live 2009/Debian)
              restricted \write18 enabled.
              **`
              Infatti con l’inserimento dei due % funziona.

              Funziona naturalmente la seconda versione,
              che gli espertissimi assesriscono essere
              quella più sintatticamente corretta.

              In realtà in rete avevo trovato entrambe
              le sintassi, date da qualche parte per equivalenti.

              RIsolto, grazie a entrambi
              M.

              La scrittura “\begin{minipage}{\textwidth-2\fboxsep-2\fboxrule}” funziona purché sia caricato il pacchetto calc, naturalmente. Quella proposta da Claudio anche senza.

              Ciao
              Enrico

            • #49275
              samiel
              Partecipante
                Up
                0
                Down
                ::


                Sì infatti l’avevo caricato
                (altrimenti no navrebbe funzionato).
                memore di una vecchia discussione
                sulle fancybox…

                M.

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

            Go to top