\captionsetup [RISOLTO]

  • Questo topic ha 2 risposte, 2 partecipanti ed è stato aggiornato l'ultima volta 12 anni fa da Marco.
  • Creatore
    Topic
  • #96267
    Up
    0
    Down
    ::


    Buongiorno a tutti,

    sto cercando di risolvere un problema con \captionsetup all’interno di un wrapfloat.
    Nel mio documento tutte le didascalie sono formattate “hang” nel preambolo ma avrei bisogno di imporre il formato “plain” per la didascalia di una wrapfig (che, essendo molto piccola, ha una didascalia molto stretta).
    Utilizzando \captiosetup{format=plain} all’interno della {wrapfig}, prima di \caption, la didascalia non cambia affatto.
    Ho provato ad utilizzare il comando altrove all’interno del documento e funziona a dovere (ovviamente, su tutte le didascalie).

    Mi sfugge qualcosa? Come posso forzare l’impostazione?

    Allego preambolo e codice “incriminato”.

    Grazie!!

    `
    \documentclass[a4paper,10pt,cleardoublepage=empty]{book}
    \usepackage[english]{babel}
    \usepackage[T1]{fontenc}
    \usepackage[utf8x]{inputenc}
    \usepackage{setspace}
    \usepackage{hyperref}
    \usepackage{booktabs}
    \usepackage{graphicx}
    \usepackage{indentfirst}
    \usepackage{subfig}
    \usepackage{emptypage}
    \usepackage[super,comma,sort&compress]{natbib}
    \usepackage{titlesec}
    \usepackage{array}
    \usepackage[format=hang,labelfont={bf},font={sf}]{caption}
    \usepackage{keyval}
    \usepackage{microtype}
    \usepackage[binding=5mm]{layaureo}
    \usepackage{mparhack,relsize}
    \usepackage{changepage,calc}
    \usepackage{longtable}
    \usepackage{wrapfig}
    \usepackage{fancyhdr}
    \usepackage{fixltx2e}
    \usepackage{verbatim}

    \titleformat{\chapter}[hang]{\normalfont\huge\bfseries}{\thechapter.}{20pt}{\Huge}[\titlerule]

    \pagestyle{fancy}
    \renewcommand{\chaptermark}[1]{\markboth{\MakeUppercase{\thechapter. \ #1}}{}}
    \fancyhead{}
    \fancyfoot[C]{\thepage}
    \fancyhead[RO,LE]{\leftmark}

    \begin{document}

    \begin{wrapfloat}{figure}{i}{0pt}
    \includegraphics[scale=0.2]{img/JB523}
    \captionsetup{format=plain}
    \caption[Epifluorescence microscopy image of activated \textit{E. coli} JB523.]{Epifluorescence microscopy image of \textit{E. coli} JB523 activated by OXO-C6 HSL. Courtesy of \citet{Andersen:2001}.}
    \end{wrapfloat}

    \end{document}
    `

Visualizzazione 1 filone di risposte
  • Autore
    Risposte
    • #96268
      GKT
      Partecipante
        Up
        0
        Down
        ::

        Dezzu” post=95943Buongiorno a tutti,

        sto cercando di risolvere un problema con \captionsetup all’interno di un wrapfloat.
        Nel mio documento tutte le didascalie sono formattate “hang” nel preambolo ma avrei bisogno di imporre il formato “plain” per la didascalia di una wrapfig (che, essendo molto piccola, ha una didascalia molto stretta).
        Utilizzando \captiosetup{format=plain} all’interno della {wrapfig}, prima di \caption, la didascalia non cambia affatto.
        Ho provato ad utilizzare il comando altrove all’interno del documento e funziona a dovere (ovviamente, su tutte le didascalie).

        Mi sfugge qualcosa? Come posso forzare l’impostazione?

        […]

        Benvenuto/a sul forum!
        Il problema è già stato affrontato sul vecchio forum: puoi guardare questa discussione. Ti riassumo comunque lo stratagemma adottato: si tratta di creare un ambiente ad hoc da usare per le sole figure che avranno la didascalia tipo [tt]plain[/tt].`\documentclass[a4paper]{book}

        \usepackage[T1]{fontenc}
        \usepackage[utf8]{inputenc}
        \usepackage[italian]{babel}
        \usepackage[format=hang,labelfont={bf},font={sf}]{caption}
        \usepackage[demo]{graphicx}
        \usepackage{wrapfig}
        \usepackage{lipsum}

        % Ambiente da usare quando hai figure piccole, con didascalia plain
        \newenvironment{mywrapfigure}
        {\captionsetup[figure]{format=plain,labelfont={bf},font={sf}}%
        \wrapfigure}
        {\endwrapfigure}

        % questo serve solo per far apparire bianche le figure fittizie inserite con graphicx
        \makeatletter
        \AtBeginDocument{%
        \def\Ginclude@graphics#1{%
        \begingroup\fboxsep=-\fboxrule
        \fbox{\rule{\@ifundefined{Gin@@ewidth}{200pt}{\Gin@@ewidth}}{0pt}%
        \rule{0pt}{\@ifundefined{Gin@@eheight}{160pt}{\Gin@@eheight}}}\endgroup}}
        \makeatother

        \begin{document}

        \begin{mywrapfigure}[12]{i}[0pt]{0cm}
        \includegraphics[width=4cm,height=3.5cm]{}
        \caption[Figura più piccola.]{Figura più piccola con didascalia \emph{plain}.}
        \end{mywrapfigure}
        \lipsum[1]
        \begin{wrapfloat}{figure}{i}{0pt}
        \includegraphics[width=8cm,height=6cm]{}
        \caption[Figura più grande.]{Figura molto più grande della precedente e con didascalia \emph{hang}.}
        \end{wrapfloat}
        \end{document}`
        Lorenzo

      • #96269
        Up
        0
        Down
        ::


        Grazie del benvenuto e dell’aiuto!

        Effettivamente non avevo pensato alla definizione di un nuovo ambiente… Ora funziona a dovere!

    Visualizzazione 1 filone di risposte
    • Devi essere connesso per rispondere a questo topic.

    Go to top