Похожие вопросы:
Перенос фигуры по вертикали выравнивание текста
Слишком много места вокруг обернутой фигуры
среда wrapfigure vspace над рисунком
Выравнивание графики внутри wrapfigure
Почему моя пользовательская среда wrapfig испорчена?и его последующий вопросwrapfig против intextsep
В вопросах, упомянутых выше, предлагается несколько решений для устранения пробелов, вставленных над wrapfigure
окружениями. Самый очевидный способ — установить \intextsep
глобальное значение на ноль. К сожалению, это также влияет на интервалы вокруг обычных фигур, которые выглядят довольно ужасно с нулевым отступом.
Новая среда, определенная вПочему моя пользовательская среда wrapfig испорчена?не решает эту проблему, как уже было указано в последующем вопросе.
Теперь ни то \begingroup
, ни другое {\setlength{\intextsep}\begin{wrapfigure}...}
(как предлагается в продолжении) не работает для меня, так как я использую wrapfigures прямо над \paragraph{}
большей частью времени, что приводит к ошибкам. Кроме того, я использую много детализированных списков, так как я в основном использую TeX для написания лекционных заметок / резюме, сокращая как можно больше текста до ключевых точек. Поэтому эти решения породят ряд новых проблем, которых я хотел бы избежать.
Решение с использованием \vspace{-\baselineskip}
— это то, как я справлялся с этой проблемой до сих пор. Хотя это и работает, добавлять его в каждую обертку — это больно. Вариант вставки vspace
в wrapfigure
напрямую также неэффективен, так как изображения различаются по размеру и соотношению довольно сильно. Кроме того, vspace
игнорируется, если ширина обертки указана как {0}
(автоматическое изменение размера до изображения / табличная ширина).
Поэтому я пришел к (потенциально неверному) выводу, что лучшим вариантом будет установить\intextsep
на ноль.глобальноно только для wrapfigures (не figures). К сожалению, я не смог найти ответа, который бы объяснял, как я могу этого добиться.
Есть ли способ сделать это - отрегулировать\intextsep
толькодля обертывания фигурок?
Я добавлю MWE, скопированный из одного из моих резюме, на случай, если это поможет:
\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}
Что компилируется как:
Примечание: я использую XeLaTeX, если это имеет значение.
решение1
Один из способов установить\intextsep
глобально, нотолькодля wrap figure
окружающей среды было бы использовать \BeforeBeginEnvironment
из etoolbox
упаковки.
\usepackage{etoolbox}
\BeforeBeginEnvironment{wrapfigure}{\setlength{\intextsep}{0pt}}
Theдо
ипослеприменяется \BeforeBeginEnvironment
:
Примечания:
- В MWE ниже я прокомментировал вашу ручную корректировку
\setlength{\intextsep}{0.0pt plus 2.0pt minus 2.0pt}
. - Вы можете раскомментировать,
\showthe\intextsep
чтобы увидеть эффект. - Эта
demo
опция была указана наgraphicx
упаковке, поскольку у меня нет указанных вами цифр.
Код:
\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}
решение2
Вответ на отдельный вопрос(включая пример), @Ulrike Fischer предложил следующий код для преамбулы, который позволяет избежать intextsep
глобальной настройки и, таким образом, избежать изменения интервала в обычных цифрах.
\usepackage{wrapfig}
\usepackage{etoolbox}
\makeatletter
\patchcmd\WF@putfigmaybe{\lower\intextsep}{}{}{\fail}%
\AddToHook{env/wrapfigure/begin}{\setlength{\intextsep}{0pt}}
\makeatother