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 wrapfigure
los entornos. La forma más obvia es establecerlo \intextsep
en 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 \begingroup
o {\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 vspace
directamente wrapfigure
también es subóptima, ya que las imágenes varían en tamaño y proporción de manera bastante drástica. Además, vspace
se 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 \intextsep
en 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:
Nota: estoy usando XeLaTeX, si eso hace alguna diferencia.
Respuesta1
Una forma de establecer el \intextsep
globalmente, perosoloPara el wrap figure
medio ambiente sería utilizar \BeforeBeginEnvironment
desde el etoolbox
paquete.
\usepackage{etoolbox}
\BeforeBeginEnvironment{wrapfigure}{\setlength{\intextsep}{0pt}}
Elantes
ydespuésse \BeforeBeginEnvironment
aplica:
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\intextsep
para ver el efecto. - La
demo
opción se usó en elgraphicx
paquete 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 intextsep
global 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