Ambiente multicol: immagine su due colonne.

  • Creatore
    Topic
  • #101201
    Up
    0
    Down
    ::


    Ciao!

    Sto scrivendo un articolo scientifico in Latex utilizzando il pacchetto multicol per avere la separazione in colonne del testo ma solo da un certo punto in poi.
    Mi spiego, vorrei che titolo, informazioni su autore etc, abstract siano su una colonna (a larghezza normale insomma), mentre obiettivi, procedimento e conclusioni si dividessero su due. Ho tuttavia bisogno che alcune immagini sforino la larghezza della colonna (altrimenti sono troppo piccole e inutili) facendo in modo che il testo “nella colonna invasa”, si adatti. Come posso fare?
    Questo è il mio main:
    `\documentclass[twoside]{article}
    \usepackage[T1]{fontenc} % Use 8-bit encoding that has 256 glyphs
    \usepackage[utf8]{inputenc}
    \usepackage[italian]{babel}

    \usepackage[sc]{mathpazo} % Use the Palatino font
    \linespread{1.05} % Line spacing – Palatino needs more space between lines
    \usepackage{microtype} % Slightly tweak font spacing for aesthetics

    \usepackage[hmarginratio=1:1,top=32mm,columnsep=20pt]{geometry} % Document margins
    \usepackage{multicol} % Used for the two-column layout of the document
    \usepackage{multirow}
    \usepackage[hang, small,labelfont=bf,up,textfont=it,up]{caption} % Custom captions under/above floats in tables or figures
    \usepackage{booktabs} % Horizontal rules in tables
    \usepackage{float} % Required for tables and figures in the multi-column environment – they need to be placed in specific locations with the [H] (e.g. \begin{table}[H])
    \usepackage{graphicx}
    \usepackage{textcomp} %per utilizzare il simbolo di grado

    \usepackage{lettrine} % The lettrine is the first enlarged letter at the beginning of the text
    \usepackage{paralist} % Used for the compactitem environment which makes bullet points with less space between them

    \usepackage{abstract} % Allows abstract customization
    \renewcommand{\abstractnamefont}{\normalfont\bfseries} % Set the “Abstract” text to bold
    \renewcommand{\abstracttextfont}{\normalfont\small\itshape} % Set the abstract itself to small italic text

    \usepackage{titlesec} % Allows customization of titles
    \renewcommand\thesection{\Roman{section}} % Roman numerals for the sections
    \renewcommand\thesubsection{\Roman{subsection}} % Roman numerals for subsections
    \titleformat{\section}[block]{\large\scshape\centering}{\thesection.}{1em}{} % Change the look of the section titles
    \titleformat{\subsection}[block]{\large}{\thesubsection.}{1em}{} % Change the look of the section titles

    \usepackage{fancyhdr} % Headers and footers
    \pagestyle{fancy} % All pages have headers and footers
    \fancyhead{} % Blank out the default header
    \fancyfoot{} % Blank out the default footer
    \fancyhead[C]{Gruppo 3 $\bullet$ \today $\bullet$ Esperienza 5} % Custom header text
    \fancyfoot[RO,LE]{\thepage} % Custom footer text`

    Le immagini le inserisco così invece:
    `\begin{figure}[H]
    \centering
    \includegraphics[width=0.8\columnwidth]{Imm.png}
    \caption{Schema della reazione.}
    \end{figure}`

    So che [H] non andrebbe usato ma ho bisogno che le figure non vaghino troppo certe volte. Ho provato anche a usare figure* (le immagini scompaiono), inserire tutto in un ambiente centre (l’immagine sovrasta le scritte dell’altra colonna) e altro.
    Altrimenti mi conviene twocolumn?

    Grazie per l’attenzione, spero di aver messo tutte le info necessarie

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


        Non puoi avere “la botte piena e la moglie ubriaca”, come dice un vecchio proverbio (ehm, un po’ troppo maschilista:( ).

        L’opzione twocolumn a quanto apre non ti basta e devi usare \twoculum per mettere titolo, autori e sommario/abstract a piena pagina e poi devi proseguire a due colonne. usando l’ambiente figure per figure in colonna, e figure* per figure a giustezza piena.

        O usi una classe per articoli che ti consenta di fare questo (non ho verificato, ma mi pare che IEEEtrans lo faccia, ma sono sicuro che ce ne sono altre); oppure ridefintsci \maketitle in modo usi lui stesso two colum e metta tutto quel che occorre dentro l’argomento facoltativo di twocolumn; oppure usi direttamente \twocolumn e il suo argomento facoltativo mettendoci dentro quel che ti pare, ma senza usare \maketitle.

        L’alternativa è quella di non usare l’opzione twocolumn, oppure usando espressamente l’opzione onecolumn, e poi usando l’ambinete multicols{2} (sfruttando eventualmente anche il suo argomento facoltativo — leggi la documentazione del pacchetto multicol) ma devi fare buon viso a cattivo gioco sapendo che NON puoi usare l’ambiente figure dentro l’ambiente multicols. Non puoi mettere né le fugure con giustezza \columnwidth, né quelle con giustezza \textwidth; c’è un motivo TeXnico per questo comportamento che in due parole TeXniche si traduce nel fatto che non si possono usare ambienti flottanti quando TeX lavora in internal horizontal modoe e nemmeno in internal vertical mode.

        Detto questo puoi però usare figure fisse inserite dentro un ambiente center (che dovrai spostare a mano quando metti a punto la versione finale) dentro le singole colonne di multicols; per la didascalia devi usare il cmando \captionof (definito da diversi pacchetti, compreso il pacchetto float) per queste figure in colonna non hai bisogno di usare ambienti flottanti, e quindi non hai bisogno di usare il codice H che, è vero, non bisogna usare mai se non a ragion molto veduta in via del tutto eccezionale. Per le figura a giustezza piena (\textwidth) devi interrompere l’ambente multicols, inserire l’oggetto flottante con l’opzione di posizione [tbp], assolutamente non H e nemmeno h, e ricominciare l’ambiente multicols cominciando con l’inizio di un capoverso. Molto laborioso ma forse riesci ad ottenere a mano, non in modo automatico, quello che vuoi ottenere.

        Nota che io ho usato spessissimo classi per articoli a due colonne che non prevedono nulla di particolare, tranne il titolo e gli altri a giustezza piena, ma sommario/abstract in colonna, usando il pacchetto fixltx2e, che sistema qualche piccolo inconveniente della routine di uscita che si manifesta quando si compone a due colonne (leggine la documentazione) ma stando attentissimo a come gestire i float in colonna e i float a giustezza piena. Se avessi voluto avere anche il sommario a giustezza piena avrei avuto la capacità di farlo definendo i comandi necessari, ma non sono cose semplici da fare; anche Knuth nella sua appendice D del TeXbook, “Dirty tricks”, insegnava degli sporchi trucchi che non sono banali da immaginare e consitono nell’usare i comandi nativi ti TeX in modo “creativo”.

        Mi pare strano che tu debba scrivere un articolo scientifico er una rivista scientifica che ti impone certe cose, ma accetta file PDF composti con pdfLaTeX e non fornisca ai potenziali autori una classe che faccia le cose che la redazione richiede. Forse la rivista si riferisce a scienze per le quali LaTeX vuol dire “lattice” (che in inglese si chiama davvero latex) 😀

      • #101203
        Up
        0
        Down
        ::


        Molte grazie! 🙂

        Ho chiesto troppo a Latex questa volta, vedrò di rivedere allora come impostare il documento e quindi cosa usare.
        Comunque è un lavoro universitario, non per una rivista quindi mi sono cercato da solo un template su internet che rispettasse i canoni richiesti.

      • #101204
        OldClaudio
        Partecipante
          Up
          0
          Down
          ::



          @Tessera
          , scegliere template da internet di solito complica, invece di semplificare le cose. Net tuo preambolo ci sono pacchetti che probabilmente non useresti mai, che ti ingombrano la memoria e che potrebbero darti dei fastidi di intercompatibilità. In quel che vedo, visto che non hai messo tutto il preambolo, c’è per esempio multirow che verosimilmente non useresti e che sarebbe sempre meglio non usare.

          Non vedo l’utilità di avere twoside fra le opzioni di article, quando poi imposti i margini laterali uguali e con fancyhdr imposti le testatine, le imposti uguali con una intestazione di tua creazione. twoside consentirebbe di avere testatine diverse e margini laterali diversi per poter comporre fronte/retro in modo professionale.

          Ma quel che succede sempre quando si prendono template dalla rete è che si pensa che tutto sia già configurato e quindi non passa nemmeno per l’anticamera del cervello di vedere nelle rispettive documentazioni a che cosa serve ciascun pacchetto caricato. Per esempio, carichi il pacchetto abstract ma, supponendo che il template lo configuri come a te servirebbe, non hai guardato la documentazione.

          Nella pagina 3 c’è il § 2.2 dove si spiega come fare l’abstract e i titolo a giustezza piena senza usare abstract e usando abstract.

          Avresti visto che c’è scritto:

          With the abstract package, instead, you do:
          `\documentclass[twocolumn…]{…}
          \usepackage{abstract}

          \begin{document}
          \twocolumn[
          \maketitle % To typesett full-width title
          \begin{onecolabstract}
          abstract text…
          \end{onecolabstract}
          ]
          \saythanks % typesets any \thanks commands`
          E questo risolve tutti i tuoi problemi. Naturalmente il pacchetto ti consente anche di impostare il font del titolo del sommario (\abstractnamefont), la parola per il titolo del sommario (\abstractname), il font per il corpo del sommario (\bastacttexfont). \saythanks serve per ritardare la stampa delle annotazioni affisse al titolo e agli autori.

          Infatti dopo prosegui su due colonne e tutto va come deve andare, salvo che devi gestire gli oggetti mobili senza usare H, perché ti scombussolerebbe tutto il doppio incolonnamento; in compenso con l’ambiente figure immetti come flottanti gli oggetti mobili a una colonna, e con l’ambiente figure* immetti gli oggetti mobili a giustezza piena. Nota che i primi possono ricevere tutte e quatto (cinque) le opzioni di posizionamento h t b p !, mentre l’ambiente asteriscato ammette solo t e p (forse anche !, ma questo sarebbe meglio non usarlo ne per le giure a giustezza piena né per quelle a una colonna — casomai lo si usa quando si rifinisce il risultato finale, ma non inizialmente).

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

      Go to top