Ambiente addmargin do KOMA-Script em combinação com o comando caption

Ambiente addmargin do KOMA-Script em combinação com o comando caption

Quero usar o ambiente addmargin do KOMA-Script (apenas documento unilateral) para às vezes escrever coisas usando toda a largura do meu documento, que é dividido em 2/3 da área de texto e 1/3 da margem.

Isso funciona... até que percebi que o comando de legenda não ocupa toda a largura que eu quero, veja (meu código atual (apenas as partes necessárias, eu acho)):

\documentclass[fontsize=12pt,twoside=false,paper=a4,DIV=15,BCOR=0mm,twocolumn=false,footinclude=true,headinclude=true,mpinclude=false]{scrreprt}% KOMAScript
\AfterCalculatingTypearea{%
    %% Margin
    \addtolength{\evensidemargin}{-\marginparwidth}%
    \addtolength{\textwidth}{\marginparwidth}%
    \setlength{\marginparwidth}{.333\textwidth}%
    \addtolength{\textwidth}{-\marginparwidth}%
    \addtolength{\evensidemargin}{\marginparwidth}%
}\recalctypearea%


\newlength{\overhang}%
\setlength{\overhang}{\marginparwidth}%
\addtolength{\overhang}{\marginparsep}%
\newenvironment{fullwidth}{%
    \begin{addmargin}[0em]{-\overhang}%
}{%
    \end{addmargin}%
}%


\usepackage{graphics}
\usepackage{graphicx}
\usepackage{caption}


\usepackage{float}
\usepackage{showframe}
\usepackage{lipsum}
\begin{document}
    %% Works as intended
    \lipsum[1]
    \begin{fullwidth}
        \lipsum[1]
    \end{fullwidth}
    %% Problem with caption
    \newpage
    \begin{figure}[H]\centering
        \includegraphics[width=0.5\linewidth]{example-image-a}
        \caption{This caption is centered as it should be. \lipsum[1]}
    \end{figure}
    \begin{figure}[H]
        \begin{fullwidth}\centering
            \includegraphics[width=0.5\linewidth]{example-image-a}
            \caption{The image is centered, but the caption is NOT ugh... \lipsum[1]}
        \end{fullwidth}
    \end{figure}
\end{document}

A saída é:insira a descrição da imagem aquiinsira a descrição da imagem aquiinsira a descrição da imagem aqui Alguém pode me explicar como resolver esse problema? Eu só quero que a legenda use toda a largura da imagem, obviamente. Se possível com o ambiente addmargin, pois já o utilizo com muita frequência em meu documento. :D

Responder1

addmarginé um trivlist. AFAIK, isso muda, \linewidthmas nem \textwidthnem \hsize. Mas a \captionlargura parece depender disso. Então, use por exemplo:

\documentclass[fontsize=12pt,twoside=false,paper=a4,DIV=15,BCOR=0mm,twocolumn=false,footinclude=true,headinclude=true,mpinclude=false]{scrreprt}% KOMAScript
\AfterCalculatingTypearea{%
    %% Margin
    \addtolength{\evensidemargin}{-\marginparwidth}%
    \addtolength{\textwidth}{\marginparwidth}%
    \setlength{\marginparwidth}{.333\textwidth}%
    \addtolength{\textwidth}{-\marginparwidth}%
    \addtolength{\evensidemargin}{\marginparwidth}%
}\recalctypearea%


\newlength{\overhang}%
\setlength{\overhang}{\marginparwidth}%
\addtolength{\overhang}{\marginparsep}%
\newenvironment{fullwidth}{%
  \begin{addmargin}[0em]{-\overhang}%
    \textwidth\linewidth\hsize\linewidth% added
}{%
    \end{addmargin}%
}%


\usepackage{graphics}
\usepackage{graphicx}
\usepackage{caption}


\usepackage{float}
\usepackage{showframe}
\usepackage{lipsum}
\begin{document}
    %% Works as intended
    \lipsum[1]
    \begin{fullwidth}
        \lipsum[1]
    \end{fullwidth}
    %% Problem with caption
    \newpage
    \begin{figure}[H]\centering
        \includegraphics[width=0.5\linewidth]{example-image-a}
        \caption{This caption is centered as it should be. \lipsum[1]}
    \end{figure}
    \begin{figure}[H]
        \begin{fullwidth}\centering
            \includegraphics[width=0.5\linewidth]{example-image-a}
            \caption{The image is centered, but the caption is NOT ugh... \lipsum[1]}
        \end{fullwidth}
    \end{figure}
\end{document}

usando toda a largura do addmargin para a legenda

informação relacionada