Ajuste o intextsep apenas para wrapfigure

Ajuste o intextsep apenas para wrapfigure

Perguntas relacionadas:

Quebrar figura com alinhamento vertical do texto

Muito espaço ao redor da figura envolvente

ambiente wrapfigure vspace acima da figura

Alinhando gráficos dentro do wrapfigure

Por que meu ambiente wrapfig personalizado está bagunçado?e sua pergunta de acompanhamentowrapfig vs intextsep

Nas questões citadas acima, diversas soluções são oferecidas para eliminar os espaços em branco inseridos acima wrapfiguredos ambientes. A maneira mais óbvia é zerar \intextsepglobalmente. Infelizmente, isso também afeta o espaçamento em torno dos números normais, que parecem terríveis com preenchimento 0.

O novo ambiente definido emPor que meu ambiente wrapfig personalizado está bagunçado?não resolve esse problema, como já foi apontado na pergunta de acompanhamento.

Agora nenhum \begingroupou {\setlength{\intextsep}\begin{wrapfigure}...}(como sugerido no acompanhamento) funciona bem para mim, já que estou usando wrapfigures logo acima na \paragraph{}maioria das vezes, o que produz erros. Além disso, estou usando muitas listas detalhadas, pois uso principalmente o TeX para escrever notas/resumos de palestras, reduzindo o máximo de texto possível aos pontos-chave. Então essas soluções gerariam um conjunto de novos problemas, que eu gostaria de evitar.

A solução do uso \vspace{-\baselineskip}é como lidei com o problema até agora. Embora isso funcione, é difícil adicioná-lo a cada figura envolvente. A opção de inserir vspacediretamente wrapfiguretambém não é ideal, pois as imagens variam drasticamente em tamanho e proporção. Além disso, vspaceé ignorado se a largura do wrapfigure for especificada como {0}(dimensionamento automático para imagem/largura tabular).

Então cheguei à conclusão (potencialmente errada) de que a melhor opção seria definir \intextsepcomo zeroglobalmentemas apenas para figuras envolventes (não figuras). Infelizmente, não consegui encontrar nenhuma resposta que explicasse como eu poderia conseguir isso.

Existe alguma maneira de fazer isso - ajustando\intextsep apenaspara figuras envolventes?

Adicionarei um MWE copiado de um dos meus resumos, caso isso ajude:

\documentclass[11pt,a4paper]{article}
\usepackage[headheight=13.6pt,left=2cm,right=2cm,top=2cm,bottom=2cm]{geometry}

\usepackage{quoting,polyglossia}
    \setmainlanguage[spelling=new]{german}

\usepackage{unicode-math}
    \setmathfont{xits-math.otf}

\usepackage{multirow,
            tabularx,booktabs,array,
            multicol,
            wrapfig,float,subcaption}
        \setlength{\multicolsep}{3.0pt plus 2.0pt minus 1.5pt}
        \setlength{\floatsep}{0.0pt plus 2.0pt minus 2.0pt} %default: \setlength{\floatsep}{12.0pt plus 2.0pt minus 2.0pt} 
        \setlength{\textfloatsep}{0.0pt plus 2.0pt minus 4.0pt} %default: \setlength{\textfloatsep}{20.0pt plus 2.0pt minus 4.0pt} 
        \setlength{\intextsep}{0.0pt plus 2.0pt minus 2.0pt} %default: \setlength{\intextsep}{12.0pt plus 2.0pt minus 2.0pt}

    \usepackage[skip=2pt,figurename=Abb.,tablename=Tab.]{caption}
        \usepackage[export]{adjustbox}
            \captionsetup[figure]{font=footnotesize,labelfont=it}
                \captionsetup[subfigure]{skip=2pt,font=scriptsize,labelfont=it}

\usepackage[compact]{titlesec}

\usepackage[inline]{enumitem}
    \setitemize{noitemsep,topsep=2pt,parsep=0pt,partopsep=2pt,leftmargin=*}
\setenumerate{noitemsep,topsep=2pt,parsep=0pt,partopsep=2pt,leftmargin=*}

\newcommand{\arr}{$\rightarrow{}$}

\begin{document}
\begin{figure}[ht]
\centering
\includegraphics[frame,width=0.92\linewidth]{Path2-Pictures/3-6.png}
\caption{Basissymptome nach Kolsterkötter, 1992; 2012}
   %\vspace{-0.5\baselineskip}  --> a vspace I inserted before I set \intextsep to 0; this figure still has sufficient padding (why is unclear to me though)
\end{figure}
Diese Rückkehrhemmung ist bei Schizophrenen gestört \arr Aachen-Studien mit Covert Orienting of Attention Task; Gouzoulis-Mayfrank (2004, 2006, 2007): Gemessen wurde die RT beim Auffinden bestimmter Objekte an der alten Position \arr Schizophrene sind \emph{schneller} 

Interpretation: Schizophrene können verschiedene Filter nicht anwenden, weshalb sie immer wieder auf basale Information zurückkehren müssen \arr Rückkehrhemmung bei Schizophrenen

\begin{wrapfigure}[7]{r}{0.3\textwidth}
   %\vspace{-\baselineskip}   --> this wrapfigure is now where I want it with \intextsep 0
\centering
\includegraphics[frame,width=0.99\linewidth]{Path2-Pictures/3-8.png}
\caption{Moritz, 2006}
\end{wrapfigure}
\paragraph{Gedächtnisfehler \& Korrektheitskonfidenz} Studie von Moritz (2006): Bild wird gezeigt, dann entfernt; Frage: Erinnern sie sich an ...? Wie sicher sind sie sich?
\begin{itemize}
\item Gesunde Kontrollen waren sich nicht signifikant sicherer bei korrekten Antworten \arr gesehene Objekte erkennen bzw. nicht gesehene als solche bezeichnen
\item Schizophrene Patienten sind sich viel sicherer, wenn die Antwort \emph{inkorrekt ist} \arr signifikanter Unterschied
    \begin{itemize}
    \item Falsche Korrektheitskonfidenz \arr Gedächtnisfehler
    \item Alles Nicht-Wahn Inhalte in Studie
    \end{itemize}
\end{itemize}

\subsubsection{Basissymptome als Verlaufstest}
\paragraph{Hypothese:} Overinclusion als "symptomnahe Basisstörung" ist bei akuter Psychose besonders ausgeprägt \& wird im Verlauf schwächer \arr \textbf{Overinclusion:} Irrelevante Konzept-Merkmale werden integriert \arr Übereinschluss in Konzepte; Begriffe, Sachverhalte, Figuren, Schemata. 
   %\vspace{-0.8\baselineskip}  --> this figure now is way too close to the text above with \intextsep 0
\begin{figure}[hb]
\begin{subfigure}{0.52\linewidth}
\includegraphics[frame,width=0.99\linewidth]{Path2-Pictures/3-11.png}
\caption{Maercker, 1987; Kawohl, 2010}
\end{subfigure}
\begin{subfigure}{0.47\linewidth}
\includegraphics[frame,width=0.99\linewidth]{Path2-Pictures/3-12.png}
\caption{Maercker, 1987; Kawohl, 2010}
\end{subfigure}
\end{figure}

\end{document}

Que compila como:

insira a descrição da imagem aqui

Nota: estou usando o XeLaTeX, se isso faz alguma diferença.

Responder1

Uma maneira de definir \intextsepglobalmente, masapenaspara o wrap figuremeio ambiente seria usar \BeforeBeginEnvironmentda etoolboxembalagem.

\usepackage{etoolbox}
\BeforeBeginEnvironment{wrapfigure}{\setlength{\intextsep}{0pt}}

Oantes

insira a descrição da imagem aqui

edepoiso \BeforeBeginEnvironmenté aplicado:

insira a descrição da imagem aqui

Notas:

  • No MWE abaixo comentei seu ajuste manual para \setlength{\intextsep}{0.0pt plus 2.0pt minus 2.0pt}.
  • Você pode descomentar \showthe\intextseppara ver o efeito.
  • A demoopção foi usada na graphicxembalagem porque não tenho os números que você incluiu.

Código:

\documentclass[11pt,a4paper]{article}
\usepackage[headheight=13.6pt,left=2cm,right=2cm,top=2cm,bottom=2cm]{geometry}

\usepackage[demo]{graphicx}
\usepackage{etoolbox}
\BeforeBeginEnvironment{wrapfigure}{\setlength{\intextsep}{0pt}}


\usepackage{quoting,polyglossia}
    \setmainlanguage[spelling=new]{german}

\usepackage{unicode-math}
    \setmathfont{xits-math.otf}

\usepackage{multirow,
            tabularx,booktabs,array,
            multicol,
            wrapfig,float,subcaption}
        \setlength{\multicolsep}{3.0pt plus 2.0pt minus 1.5pt}
        \setlength{\floatsep}{0.0pt plus 2.0pt minus 2.0pt} %default: \setlength{\floatsep}{12.0pt plus 2.0pt minus 2.0pt} 
        \setlength{\textfloatsep}{0.0pt plus 2.0pt minus 4.0pt} %default: \setlength{\textfloatsep}{20.0pt plus 2.0pt minus 4.0pt} 
        %\setlength{\intextsep}{0.0pt plus 2.0pt minus 2.0pt} %default: \setlength{\intextsep}{12.0pt plus 2.0pt minus 2.0pt}

    \usepackage[skip=2pt,figurename=Abb.,tablename=Tab.]{caption}
        \usepackage[export]{adjustbox}
            \captionsetup[figure]{font=footnotesize,labelfont=it}
                \captionsetup[subfigure]{skip=2pt,font=scriptsize,labelfont=it}

\usepackage[compact]{titlesec}

\usepackage[inline]{enumitem}
    \setitemize{noitemsep,topsep=2pt,parsep=0pt,partopsep=2pt,leftmargin=*}
\setenumerate{noitemsep,topsep=2pt,parsep=0pt,partopsep=2pt,leftmargin=*}

\newcommand{\arr}{$\rightarrow{}$}

\begin{document}
\begin{figure}[ht]
\centering
\includegraphics[frame,width=0.92\linewidth]{Path2-Pictures/3-6.png}
\caption{Basissymptome nach Kolsterkötter, 1992; 2012}
   %\vspace{-0.5\baselineskip}  --> a vspace I inserted before I set \intextsep to 0; this figure still has sufficient padding (why is unclear to me though)
\end{figure}
Diese Rückkehrhemmung ist bei Schizophrenen gestört \arr Aachen-Studien mit Covert Orienting of Attention Task; Gouzoulis-Mayfrank (2004, 2006, 2007): Gemessen wurde die RT beim Auffinden bestimmter Objekte an der alten Position \arr Schizophrene sind \emph{schneller} 

Interpretation: Schizophrene können verschiedene Filter nicht anwenden, weshalb sie immer wieder auf basale Information zurückkehren müssen \arr Rückkehrhemmung bei Schizophrenen

\begin{wrapfigure}[7]{r}{0.3\textwidth}
   %\vspace{-\baselineskip}   --> this wrapfigure is now where I want it with \intextsep 0
\centering
%\showthe\intextsep% <-- uncomment to see the change
\includegraphics[frame,width=0.99\linewidth]{Path2-Pictures/3-8.png}
\caption{Moritz, 2006}
\end{wrapfigure}
\paragraph{Gedächtnisfehler \& Korrektheitskonfidenz} Studie von Moritz (2006): Bild wird gezeigt, dann entfernt; Frage: Erinnern sie sich an ...? Wie sicher sind sie sich?
\begin{itemize}
\item Gesunde Kontrollen waren sich nicht signifikant sicherer bei korrekten Antworten \arr gesehene Objekte erkennen bzw. nicht gesehene als solche bezeichnen
\item Schizophrene Patienten sind sich viel sicherer, wenn die Antwort \emph{inkorrekt ist} \arr signifikanter Unterschied
    \begin{itemize}
    \item Falsche Korrektheitskonfidenz \arr Gedächtnisfehler
    \item Alles Nicht-Wahn Inhalte in Studie
    \end{itemize}
\end{itemize}

\subsubsection{Basissymptome als Verlaufstest}
\paragraph{Hypothese:} Overinclusion als "symptomnahe Basisstörung" ist bei akuter Psychose besonders ausgeprägt \& wird im Verlauf schwächer \arr \textbf{Overinclusion:} Irrelevante Konzept-Merkmale werden integriert \arr Übereinschluss in Konzepte; Begriffe, Sachverhalte, Figuren, Schemata. 
   %\vspace{-0.8\baselineskip}  --> this figure now is way too close to the text above with \intextsep 0
\begin{figure}[hb]
\begin{subfigure}{0.52\linewidth}
\includegraphics[frame,width=0.99\linewidth]{Path2-Pictures/3-11.png}
\caption{Maercker, 1987; Kawohl, 2010}
\end{subfigure}
\begin{subfigure}{0.47\linewidth}
\includegraphics[frame,width=0.99\linewidth]{Path2-Pictures/3-12.png}
\caption{Maercker, 1987; Kawohl, 2010}
\end{subfigure}
\end{figure}

\end{document}

Responder2

Em umresponda em uma pergunta separada(que inclui um exemplo), @Ulrike Fischer sugeriu o seguinte código para o preâmbulo que evita a configuração intextsepglobal e, portanto, evita a alteração do espaçamento nas figuras normais.

\usepackage{wrapfig}
\usepackage{etoolbox}
\makeatletter
\patchcmd\WF@putfigmaybe{\lower\intextsep}{}{}{\fail}%
\AddToHook{env/wrapfigure/begin}{\setlength{\intextsep}{0pt}}
\makeatother

informação relacionada