wrapfigure のみの intextsep を調整する

wrapfigure のみの intextsep を調整する

関連する質問:

テキストの縦方向の配置を折り返す

ラップ図の周囲にスペースが多すぎる

wrapfigure 環境 図上の vspace

wrapfigure 内のグラフィックの配置

カスタム wrapfig 環境が台無しになっているのはなぜですか?そしてそれに続く質問wrapfig と intextsep の比較

上記の質問では、wrapfigure環境の上に挿入された空白を削除するためのいくつかの解決策が提案されています。最も明白な方法は、\intextsepグローバルに 0 に設定することです。残念ながら、これは通常の数字の周囲のスペースにも影響し、0 パディングでは見た目がかなり悪くなります。

で定義された新しい環境カスタム wrapfig 環境が台無しになっているのはなぜですか?すでにフォローアップの質問で指摘されているように、その問題は解決されません。

今のところ、どちらも\begingroup({\setlength{\intextsep}\begin{wrapfigure}...}フォローアップで提案されているように) 私にはうまく機能しません。\paragraph{}ほとんどの場合、上記の wrapfigures を使用しているため、エラーが発生します。さらに、私は主に TeX を使用して講義ノートや要約を記述し、テキストをキーポイントにできるだけ減らしているため、項目別リストを多く使用しています。そのため、これらのソリューションは一連の新しい問題を引き起こす可能性があり、私はそれを避けたいと思っています。

を使用するという解決策\vspace{-\baselineskip}は、私がこれまでこの問題に対処してきた方法です。確かにそれは機能しますが、それをすべての wrapfigure に追加するのは面倒です。vspaceを にwrapfigure直接挿入するオプションも、画像のサイズと比率がかなり大きく異なるため、あまり一般的ではありません。さらに、vspacewrapfigure の幅が{0}(画像 / 表の幅に合わせて自動サイズ変更) として指定されている場合、 は無視されます。

\intextsepそこで私は(おそらく間違っているが)ゼロに設定するのが最善の選択肢であるという結論に達した。世界的にただし、これは wrapfigures のみ (フィギュアではありません) です。残念ながら、これを実現する方法を説明する回答は見つかりませんでした。

これを調整する方法はありますか?\intextsep のみwrapfigures用ですか?

役に立つかもしれないので、私の要約の 1 つからコピーした 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

グローバルに設定する方法の1つです\intextsepが、のみ環境の場合はパッケージからwrap figure使用するのがよいでしょう。\BeforeBeginEnvironmentetoolbox

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

前に

ここに画像の説明を入力してください

そして\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

関連情報