Immagini larghe e margni

  • Creatore
    Topic
  • #57051
    franen
    Partecipante
      Up
      0
      Down
      ::


      Ciao,
      inserendo un’immagine più larga di \textwidth LaTeX la fa “debordare” nel margine destro (classe book, ambiente figure).
      C’è un modo per far sì che le immagini vadano a debordare, eventualmente, sempre nel margine esterno?

      Grazie.
      Francesco

    Visualizzazione 3 filoni di risposte
    • Autore
      Risposte
      • #57052
        OldClaudio
        Partecipante
          Up
          0
          Down
          ::


          Il numero della pagina non è noto finché la pagina non viene accodata al file di uscita; tuttavia il numero dovrebbe essere noto (è un’ipotesi) nel momento in cui il programma di composizione comincia ad eseguire la routine di uscita; per cui ptrebbe funzionare questo codice:
          `
          \begin{figure}

          \ifodd\value{page}\makebox[\textwidth][l]{\includegraphics[…]{}}\else
          \makebox[\textwidth][r]{\includegraphics[…]{…}}\fi

          \caption{…}
          \label{…}
          \end{figure}
          `

          \se non funzionasse si potrebbe lavorare sul numero di pagina che compare nel label, e verificare quel numero. Solo che le macro di basso livello che bisogna creare sono diverse a seconda che si usi o non si usi il pacchetto hyperref. Se non lo si usa, il numero di pagina è il secondo di due argomenti di una certa macro interna; se lo si usa il numero di pagina è il secondo di 5 argomenti di una certa macro.

        • #57053
          franen
          Partecipante
            Up
            0
            Down
            ::


            Grazie Claudio, purtroppo non funziona.
            `\documentclass[a4paper]{book}
            \usepackage{geometry}
            \geometry{textwidth=355pt,textheight=673pt, marginparsep=18pt, includehead, marginparwidth=90pt}
            \usepackage{graphicx}
            \usepackage{lipsum}
            \usepackage{hyperref}
            \begin{document}
            \lipsum[1-5]
            \begin{figure}
            \ifodd\value{page}\makebox[{\textwidth}][l]{\includegraphics[width=400pt]{logo}}\else
            \makebox[{\textwidth}][r]{\includegraphics[width=400pt]{logo}}\fi
            \caption{…}
            \label{…}
            \end{figure}
            \end{document}`

            Allinea sempre a sinistra e le immagini sforano nel margine destro.
            Ho trovato questa discussione http://www.guit.sssup.it/phpbb/viewtopic.php?t=9408 in cui Enrico e Ivan hanno scritto un codice per lo stesso mio problema, però per le tabelle. Provo a studiarci un po’ su, anche se lo trovo molto criptico per le mie limitate conoscenze di TeX.

            Francesco

          • #57054
            Up
            0
            Down
            ::

            Grazie Claudio, purtroppo non funziona.
            `\documentclass[a4paper]{book}
            \usepackage{geometry}
            \geometry{textwidth=355pt,textheight=673pt, marginparsep=18pt, includehead, marginparwidth=90pt}
            \usepackage{graphicx}
            \usepackage{lipsum}
            \usepackage{hyperref}
            \begin{document}
            \lipsum[1-5]
            \begin{figure}
            \ifodd\value{page}\makebox[{\textwidth}][l]{\includegraphics[width=400pt]{logo}}\else
            \makebox[{\textwidth}][r]{\includegraphics[width=400pt]{logo}}\fi
            \caption{…}
            \label{…}
            \end{figure}
            \end{document}`

            Allinea sempre a sinistra e le immagini sforano nel margine destro.
            Ho trovato questa discussione http://www.guit.sssup.it/phpbb/viewtopic.php?t=9408 in cui Enrico e Ivan hanno scritto un codice per lo stesso mio problema, però per le tabelle. Provo a studiarci un po’ su, anche se lo trovo molto criptico per le mie limitate conoscenze di TeX.

            Francesco

            L’idea è abbastanza semplice: usare il sistema label+pageref.
            `\usepackage{ifthen}
            \newcounter{largefigure}
            \newenvironment{largefigure}[1][htp]
            {\begin{figure}[#1]
            \refstepcounter{largefigure}\label{lf@\thelargefigure}
            \ifthenelse{\isodd{\pageref{lf@\thelargefigure}}}
            {\def\largefigureside{l}}{\def\largefigureside{r}}}
            {\end{figure}}
            \newcommand{\largeincludegraphics}[2][]{%
            \makebox[\columnwidth][\largefigureside]{\includegraphics[#1]{#2}}}`
            Userai l’ambiente largefigure come figure e al suo interno \largeincludegraphics come \includegraphics. Occorrono un paio di compilazioni perché tutto si allinei, visto che si usa \label con \pageref.

            Ciao
            Enrico

          • #57055
            franen
            Partecipante
              Up
              0
              Down
              ::


              Grazie mille, funziona bene.
              Fran

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

          Go to top