Ajustar intextsep solo para wrapfigure

Ajustar intextsep solo para wrapfigure

Preguntas relacionadas:

Ajustar la alineación vertical de la figura del texto

Demasiado espacio alrededor de la figura envolvente.

entorno wrapfigure vspace figura anterior

Alinear gráficos dentro de wrapfigure

¿Por qué mi entorno wrapfig personalizado está en mal estado?y su pregunta de seguimientowrapfig y intextsep

En las preguntas mencionadas anteriormente, se ofrecen varias soluciones para eliminar los espacios en blanco insertados sobre wrapfigurelos entornos. La forma más obvia es establecerlo \intextsepen cero globalmente. Desafortunadamente, eso también afecta el espaciado alrededor de las figuras normales, que se ven bastante terribles con relleno 0.

El nuevo entorno definido en¿Por qué mi entorno wrapfig personalizado está en mal estado?no resuelve ese problema, como ya se señaló en la pregunta complementaria.

Ahora ninguno de los dos \begingroupo {\setlength{\intextsep}\begin{wrapfigure}...}(como se sugiere en el seguimiento) funciona bien para mí, ya que uso wrapfigures justo encima \paragraph{}la mayor parte del tiempo, lo que produce errores. Además, estoy usando muchas listas detalladas, ya que uso principalmente TeX para escribir notas de clase/resúmenes, reduciendo la mayor cantidad de texto posible a puntos clave. Entonces estas soluciones generarían una serie de nuevos problemas que me gustaría evitar.

La solución de usar \vspace{-\baselineskip}es la forma en que he manejado el problema hasta ahora. Aunque eso funciona, es complicado agregarlo a cada figura envolvente. La opción de insertar vspacedirectamente wrapfiguretambién es subóptima, ya que las imágenes varían en tamaño y proporción de manera bastante drástica. Además, vspacese ignora si el ancho de la figura envolvente se especifica como {0}(tamaño automático a imagen/ancho tabular).

Así que he llegado a la conclusión (potencialmente errónea) de que la mejor opción sería establecerlo \intextsepen cero.globalmentepero sólo para figuras envolventes (no figuras). Desafortunadamente, no pude encontrar ninguna respuesta que explicara cómo podía lograrlo.

¿Hay alguna manera de hacer esto? Ajustando\intextsep solopara envolver figuras?

Agregaré un MWE copiado de uno de mis resúmenes, en caso de que eso ayude:

\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 se compila como:

ingrese la descripción de la imagen aquí

Nota: estoy usando XeLaTeX, si eso hace alguna diferencia.

Respuesta1

Una forma de establecer el \intextsepglobalmente, perosoloPara el wrap figuremedio ambiente sería utilizar \BeforeBeginEnvironmentdesde el etoolboxpaquete.

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

Elantes

ingrese la descripción de la imagen aquí

ydespuésse \BeforeBeginEnvironmentaplica:

ingrese la descripción de la imagen aquí

Notas:

  • En el MWE a continuación comenté su ajuste manual a \setlength{\intextsep}{0.0pt plus 2.0pt minus 2.0pt}.
  • Puedes descomentar el \showthe\intextseppara ver el efecto.
  • La demoopción se usó en el graphicxpaquete porque no tengo las figuras que incluías.

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}

Respuesta2

en unresponder en una pregunta separada(que incluye un ejemplo), @Ulrike Fischer sugirió el siguiente código para el preámbulo que evita la configuración intextsepglobal y, por lo tanto, evita cambiar el espaciado en figuras normales.

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

información relacionada