Memoir: figure nel margine non ordinate

  • Creatore
    Topic
  • #119022
    Up
    0
    Down
    ::


    Salve a tutti,

    sperimentando con la classe memoir ho provato a creare un documento con ampi margini che possano contenere anche figure.

    Ho usato il pacchetto marginfix per ovviare al noto problema degli oggetti nel margine che eccedono oltre il bordo inferiore della pagina; questo però ha comportato la perdita di ordinamento delle figure.
    Se infatti uso sia l’ambiente figure che l’ambiente marginfigure molto vicini tra loro può capitare che i due oggetti vengano in ordine scambiati.

    Ho provato a usare il pacchetto marginfit al posto di margifix, ripristinando l’ordinamento, ma questo ha portato al problema ben peggiore di sovrapposizione degli oggetti.

    Ecco un esempio minimo

    `
    \documentclass[a4paper, oneside, article]{memoir}

    \usepackage{calc}

    %%%%%%%%%%%%%%%%%%%
    %%% Page layout %%%
    %%%%%%%%%%%%%%%%%%%
    \settrims{0pt}{0pt}
    \settypeblocksize{*}{0.5\paperwidth}{*}
    \setlrmargins{62pt}{*}{*}
    \setulmarginsandblock{*}{87pt}{0.5}
    \setheadfoot{8pt}{8pt}
    \setheaderspaces{*}{8pt}{*}
    \setmarginnotes{10pt}{195pt}{8pt}
    \checkandfixthelayout

    %%%%%%%%%%%%%%%%%%%%%%%%%
    %%% Headers & footers %%%
    %%%%%%%%%%%%%%%%%%%%%%%%%
    \newlength{\headerwidth}
    \setlength{\headerwidth}{\textwidth + \marginparsep + \marginparwidth}

    %%%%%%%%%%%%%%%%%%%%%
    %%% Side material %%%
    %%%%%%%%%%%%%%%%%%%%%
    \usepackage{marginfix}
    \footnotesinmargin

    \sidecapmargin{outer}
    \setsidecappos{t}
    \setsidecaps{10pt}{195pt}

    %%%%%%%%%%%%%%%
    %%% General %%%
    %%%%%%%%%%%%%%%

    \usepackage[italian]{babel}
    \usepackage{mwe}
    \usepackage{antanilipsum}

    %%%%%%%%%%%%%%%%
    %%% Document %%%
    %%%%%%%%%%%%%%%%

    \begin{document}

    \pagestyle{headings}

    Antani\footnote{\antani[8]}
    \antani[2]\footnote{\antani[1]}

    \chapter{antani}

    \antani[1-2]

    \section{prematurata}

    \antani[1]

    \begin{marginfigure}
    \centering
    \includegraphics[width=\linewidth]{example-image-a}
    \caption{Caption }
    \end{marginfigure}

    \antani[1]

    \begin{marginfigure}
    \centering
    \includegraphics[width=\linewidth]{example-image-a}
    \caption{\antani[1] }
    \end{marginfigure}

    \antani[1]

    \begin{marginfigure}
    \centering
    \includegraphics[width=\linewidth]{example-image-a}
    \caption{Caption }
    \end{marginfigure}

    \begin{figure}
    \begin{sidecaption}{\antani[1]}
    \centering
    \includegraphics[width=\linewidth]{example-image-a}
    \end{sidecaption}
    \end{figure}

    \antani[1]

    \subsection{supercazzola}
    \antani[5]

    \end{document}

    `

Visualizzazione 2 filoni di risposte
  • Autore
    Risposte
    • #119023
      OldClaudio
      Partecipante
        Up
        0
        Down
        ::


        Infatti gli “insert” usati da memoir e da LaTeX in generale per inserire cose nei margini, non hanno nulla a che vedere con la coda delle figure, ma hanno una coda tutta loro. Infatti nella pagina 175 della documentazione di memoir, c’è scritto che gli ambienti marginfigure e margintable fanno uso di marginpar. Il problema che lamenti sarebbe risolto se la numerazione delle figure e tabelle marginali fosse gestito da un contatore diverso. L’unica cosa sarebbe quella di ridefinire quei due ambienti in questo senso, per cui i numeri di figure e tabelle marginali, magari etichettati con un “numero” letterale, oppure romano, non interferirebbero con quelle delle figure e tabelle ordinarie.
        Non mi pare di avere visto nella documentazione di memoir nessuna indicazione per cambiare la numerazione degli oggetti flottanti nei margini.

      • #119024
        Up
        0
        Down
        ::

        OldClaudio” post=119481 Il problema che lamenti sarebbe risolto se la numerazione delle figure e tabelle marginali fosse gestito da un contatore diverso.

        In realtà il fatto che abbiano lo stesso contatore mi va bene. Provo a spiegarmi meglio: nelle mie intenzioni marginfigure e figure sono due ambienti che indicano lo stesso oggetto posizionato o nel blocco del testo o nel margine. La posizione della figura non deve importare ai fini del conteggio, quello che importa è che le figure siano nell’ordine corretto. Nell’esempio minimo che ho allegato la figura 4 è a pagina 2 mentre la figura 3, che si trova nel margine, è a pagina 3.

        Ora, l’esempio che ho allegato è decisamente un caso patologico e certamente è possibile, con piccole correzioni manuali o modifiche del contenuto, fare in modo che l’ordine delle figure venga rispettato; una soluzione simile però non mi soddisfa e spero che esista una maniera più elegante/automatizzata di gestire il posizionamento degli oggetti. Come ho già detto, il pacchetto marginfit risolve il problema per introdurne uno ben peggiore, forse perché, come si legge nella documentazione, viene reimplementata la gestione dei margini. Purtroppo non ho le conoscenze TeXniche per comprendere il funzionamento interno di questi pacchetti e capire cosa genera il problema.

      • #119025
        OldClaudio
        Partecipante
          Up
          0
          Down
          ::


          Te l’ho spiegato: le code delle figure normali e delle figure marginali sono diverse; LaTeX è bravissimo nello svuotare in ordine ciascuna coda, ma non è capace di svuotare in ordine code diverse.
          Per ottenere quello che desideri le figure rmali e quelle marignali numerato, quindi obbligatoriamente con lo stesso cotatore dovrebbero andare a finisre nello stesso stack di tipo FIFO, First In First Out; ma il posizionamento delle note marginali è difficilissimo e richiede azioni particolari.
          Non escludo che si possano gestire entrambe senza ricorrere alle macro per le note marginali e ai loro “insert”, oggetti speciali descritti nel TeXbook, ma che in più di 30 di lavoro con LaTeX non ho mai usato e di cui non sento il bisogno. Forse potresti ricorrere al pacchetto wrapfig scegliendo opportune opzioni, per esempio, che la percentuale di “intrusione” nel testo sia impostata a zero, ma onestamente anche questo non è affidabile e, avendolo usato, so per certo che può produrre risultati assai bizzarri.
          La classe tufte forse potrebbe venirti incontro, ma è talmente originale, che dubito possa servire a chicchessia oltre al book designer Tufte in persona.

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

      Go to top