Allineare le linee di base di due colonne in multicol

  • Creatore
    Topic
  • #102305
    Up
    0
    Down
    ::


    Salve a tutti 🙂
    ho scritto un layout prendendo ispirazione da Internazionale, tanto per provare. Mi piace com’è venuto e visto che rimane un solo problema che però non riesco a sistemare, chiedo il vostro aiuto.

    Questo è il mio codice:
    `\documentclass{scrartcl}
    \usepackage{lipsum}
    \usepackage[utf8]{inputenx}
    \usepackage{microtype}
    \usepackage[top=57.7029pt,left=40.8pt,right=40.8pt,bottom=57.7029pt]{geometry}
    \usepackage{graphicx}
    \graphicspath{{graphicxstuff/}}
    \usepackage[dvipsnames,svgnames,x11names,table]{xcolor}
    \usepackage{titling}
    \setlength{\droptitle}{-31.5pt}% aligns the top of the title with the top of the right column
    \preauthor{}
    \author{}
    \postauthor{}
    \predate{}
    \date{}
    \postdate{}
    \pretitle{\noindent\bfseries\fontsize{40pt}{0pt}\selectfont}
    \title{Title}
    \posttitle{\vspace{0pt plus 13.6pt}}
    \usepackage{multicol}
    \setlength{\columnsep}{20.4pt}
    \setlength{\columnseprule}{.4pt}
    \usepackage{lettrine}
    \renewcommand{\LettrineTextFont}{\upshape}
    \renewcommand{\LettrineFontHook}{\color[gray]{0.5}}
    \setcounter{DefaultLines}{3}
    \usepackage[osfI,sups]{XCharter}
    \usepackage[T1]{fontenc}

    \frenchspacing
    \setlength{\parskip}{0pt}
    \setlength{\parindent}{1em}

    \begin{document}
    \begin{figure}[t]
    \includegraphics[width=\textwidth]{picture2}
    \end{figure}
    \begin{multicols}{2}
    \maketitle
    \lettrine{L}{orem} \lipsum
    \end{multicols}
    \end{document}`

    Viene fuori una cosa così:

    Voglio aumentare lo spazio bianco sotto al titolo in modo che le linee di base delle due colonne si allineino. Avevo provato a usare il pacchetto gridset ma non riesco a farlo funzionare come vorrei.
    Grazie!

    PS come si fa a scrivere codice in linea (come su TeX.sx con i backtick) in questo forum?

Visualizzazione 7 filoni di risposte
  • Autore
    Risposte
    • #102306
      franen
      Partecipante
        Up
        0
        Down
        ::


        Hai scoperto uno dei punti deboli di LaTeX.
        Purtroppo allineare le linee di base non è cosa semplice (come allo stesso modo non è facile fare in modo che le righe di testo su due pagine fronte-retro risultino alla stessa altezza).Di solito il pacchetto grid aiuta. Prova a dare un’occhiata.
        Il trucco è dare a tutti gli elementi (Titoli, immagini+didascalie, formule) delle altezza che siano multipli interi dell’interlinea.

      • #102307
        Up
        0
        Down
        ::


        grid non gestisce le float come vorrei. Speravo di ottenere qualcosa da gridset o da multicol da solo. Con un immagine più piccola, e solo multicol, le colonne si allineavano (credo sia per via del glue che ho messo in \posttitle, 13.6pt è la \baselineskip). Per quel che riguarda inserire gli spazi “su misura”, non so quanto spazio LaTeX metta tra le figure e il titolo e il titolo e le figure, e quanto alto sia in effetti, il titolo.

        Ho aggiunto un post scriptum al primo post. Va bene se metto pezzetti di codice senza formattazione o c’è un modo per evidenziarli?

      • #102308
        Up
        0
        Down
        ::

        Arch Stanton” post=102119PS come si fa a scrivere codice in linea (come su TeX.sx con i backtick) in questo forum?

        Usando il tag [tt]tt[/tt] invece del [tt]code[/tt] che hai usato per il codice fuori corpo. Cita il mio messaggio per vedere come ho usato il tag [tt]tt[/tt], se non hai ancora capito 😉

      • #102309
        franen
        Partecipante
          Up
          0
          Down
          ::

          Arch Stanton” post=102122 non so quanto spazio LaTeX metta tra le figure e il titolo e il titolo e le figure,

          http://tex.stackexchange.com/questions/39017/how-to-influence-the-position-of-float-environments-like-figure-and-table-in-lat una lettura fondamentale, ora tradotta anche in italiano per l’ultimo numero di ArsTeXnica 🙂

        • #102310
          OldClaudio
          Partecipante
            Up
            0
            Down
            ::


            Visto che sono uno dei traduttori del documento che hai linkato, conosco benissimo il contenuto della traduzione italiana si ArsTeXnica; Ma benché scritto originarimente da Frank Mittelbach, quell’articolo è forse più chiaro ma non dice nula di più di quello che ho scritto nella traduzione italiana del manuale di LaTeX di Leslie Lamport, Il LaTeX Reference Manual commentato, guida tematica scaricabile liberamante dalla sezione Documentazione di questo sito.

            In realtà lo spazio che LaTeX lascia prima e dopo i ititoli e prima e dopo i float sono due cose abbastanza distinte, anche se possono interagire.
            La difficoltà che incontra @Arch Stanton non dipendono in realtà da quegli spazi, ma dalla loro elasticità (allungabilità e contrattilità).
            Nell’immagine che @Arch Stanton ha allegato si vedo solo la parte alta della pagina, e non si vede se la colonna sotto Title contiene solo una frazione di capoverso o diversi capoversi.

            Multicol allinea perfettamente le righe finale di due o più colonne affiancate purché ci sia abbastanza allungabilità e contrattilità negli spazi bianchi che separano verticalmente le varie cose presenti nelle colonne. Multicol non rispetta nessuna griglia, quindi se deve allungare una colonna, lo fa lavorando sullo spazio elastico, non perché mette le righe in una griglia; ma almeno le righe finali sono allineate.

          • #102311
            Up
            0
            Down
            ::


            Grazie per il link, ho appena finito di leggerlo ma mi prendo un altro paio di giorni per leggere degli altri articoli che ho trovato, non ho tanto tempo in mezzo allo studio… Potrò tornare a lavorarci solo tra un paio di settimane… Poi vedo come impostare un tentativo di soluzione.

            Elrond” post=102124Usando il tag [tt]tt[/tt] invece del [tt]code[/tt] che hai usato per il codice fuori corpo. Cita il mio messaggio per vedere come ho usato il tag [tt]tt[/tt], se non hai ancora capito 😉

            Thanks! 🙂

          • #102312
            Up
            0
            Down
            ::


            Ciao Arch Stanton,
            hai poi trovato una soluzione? Mi sono imbattuto nella tua stessa difficoltà, e così…

            grazie

          • #102313
            Up
            0
            Down
            ::

            Yokanaan” post=104776Ciao Arch Stanton,
            hai poi trovato una soluzione? Mi sono imbattuto nella tua stessa difficoltà, e così…

            grazie

            Ciao, scusa per il ritardo a rispondere ma non ho più avuto tempo da dedicare al LaTeX.
            Non sono riuscito a far funzionare il codice che avevo scritto all’inizio. L’errore però era a monte, nel voler mettere il titolo in una colonna, così
            1) c’è la complicazione dell’allineamento delle righe, e
            2) il titolo, a meno che non sia una parola sola, va sempre a caporiga, mentre dovrebbe stare su una riga sola.
            Il documento viene bene mettendo il titolo fuori dall’ambiente multicols (Internazionale in effetti è fatto così). Per riallineare le righe dopo una tabella o una figura uso il comando \vskipnextgrid del pacchetto gridset (NB ho provato con una tabella e funziona – compilando più volte – a meno che non la metta in un float (nell’ambiente table), in tal caso sparisce dal documento. Non capisco perché ma non ho intenzione di mettermi a sistemare il problema a breve [Edit] Il motivo è che i normali meccanismi dei float sono parzialmente disattivati nell’ambiente multicols, v. l’Arte, p. 179).
            Per non disturbare l’allineamento quando inserisco il titolo di sezioni e sottosezioni ho copiato le definizioni di quelle di grid:
            `%% grid's sections. See ctan.mirror.garr.it/mirrors/CTAN/macros/latex/contrib/grid/grid.sty
            \makeatletter
            \renewcommand\section{\@startsection {section}{1}{\z@}%
            {-.999\baselineskip}%
            {0.001\baselineskip}%
            {\bfseries\mathversion{bold}}}
            \renewcommand\subsection{\@startsection{subsection}{2}{\z@}%
            {\baselineskip}%
            {-.35\baselineskip}%
            {\bfseries\unskip}}
            \renewcommand\subsubsection{\@startsection{subsubsection}{3}{\z@}%
            {\baselineskip}%
            {-.35\baselineskip}%
            {\itshape\unskip}}
            \makeatother`
            Occhio che non sono al 100% consapevole di quello che faccio 😛

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

        Go to top