Resimlerin bu davranışını önlemenin bir yolu var mı?
Bu, resmi tamamlıyor:
\begin{wrapfigure}{r}{0.5\textwidth}
\vspace{-20pt}
\begin{center}
\includegraphics[width=0.4\textwidth]{./pictures/DBuserTabel.png}%{./Pictures/mainscreen1.png}
\caption{Uklip af User tablen i Databasen}
\label{fig:databaseUserTable}
\end{center}
\vspace{-20pt}
\vspace{1pt}
\end{wrapfigure}
Tanımladığınız davranış, aşağıdaki örnekte gösterildiği gibi, wrapfig
ortamının bir sayfa sonuna çok yakın kullanılmasından kaynaklanmaktadır:
\documentclass{article}
\usepackage{wrapfig}
\usepackage{lipsum}
\begin{document}
\lipsum[1-4]
\begin{wrapfigure}{r}{5cm}
\centering
\rule{3cm}{7cm}
\end{wrapfigure}
\lipsum[1-6]
\end{document}
wrapfig` paket dokümantasyonu bu konuda açıkça uyarıda bulunmaktadır:
Ortam, sayfa sonunun üzerinden geçmeyecek şekilde yerleştirilmelidir
bu nedenle, wrapfig
ortamınızı bir sayfa sonu üzerinde çalışmayacağını garanti etmek için taşımanız gerekir. Bununla birlikte, r
(veya l
) yerine R
(veya L
) kullandığınızda şekliniz kayacaktır, bu nedenle yukarıdaki kodda r
ifadesini R
olarak değiştirmeniz yeterlidir
\documentclass{article}
\usepackage{wrapfig}
\usepackage{lipsum}
\begin{document}
\lipsum[1-4]
\begin{wrapfigure}{R}{5cm}
\centering
\rule{3cm}{7cm}
\end{wrapfigure}
\lipsum[1-6]
\end{document}
şimdi verir:
Kabul edilen yanıt]1 bir yöntem sunmaktadır (şekli yüzer hale getirin). İhtiyacınız olan tek şey sonraki sayfadaki beyaz kutuyu kaldırmaksa, sadece negatif boşluk ekleyebilirsiniz. Gonzalo Medina'nın örneğini uyarlıyorum:
\documentclass{article}
\usepackage{wrapfig}
\usepackage{lipsum}
\begin{document}
\lipsum[1-4]
\begin{wrapfigure}{r}{5cm}
\centering
\rule{3cm}{7cm}
\vspace{-110pt} % This removes the white box on the second page
\end{wrapfigure}
\lipsum[1-6]
\end{document}
Alternatif olarak, wrapfigure
un kapladığı ilk sayfadaki satır sayısını sayabilir ve bu sayıyı wrapfigure
un ilk isteğe bağlı parametresine ekleyebilirsiniz:
\documentclass{article}
\usepackage{wrapfig}
\usepackage{lipsum}
\begin{document}
\lipsum[1-4]
\begin{wrapfigure}[10]{r}{5cm}
% ^^ This dictates the number
% of text rows the wrapfigure
% will occupy.
\centering
\rule{3cm}{7cm}
\vspace{-110pt}
\end{wrapfigure}
\lipsum[1-6]
\end{document}
Bu yöntemlerin her ikisi de aşağıdaki çıktıyla sonuçlanır:
Eğer kaymayan wrapfig ortamları istiyorsanız ancak rakamların sayfanın altından taşmasını istemiyorsanız, bu bazen paragrafın başlangıcından önce bir sayfa sonu yapmanız gerektiği anlamına gelir. Bunu, şekil içeriğini bir kaydetme kutusunda saklayan, kutunun yüksekliğini test eden ve ardından gerekirse bir sayfa sonu zorlayan bir komut tanımlayarak (giriş bölümünde) otomatik olarak yapabilirsiniz. Aşağıdaki örneğe bakın:
\documentclass{article}
\usepackage{wrapfig}
\usepackage{lipsum}
\newsavebox\curwrapfig
\makeatletter
\long\def\wrapfiguresafe#1#2#3{%
\sbox\curwrapfig{#3}%
\par\penalty-100%
\begingroup % preserve \dimen@
\dimen@\pagegoal \advance\dimen@-\pagetotal % space left
\advance\dimen@-\baselineskip % allow an extra line
\ifdim \ht\curwrapfig>\dimen@ % not enough space left
\break%
\fi%
\endgroup%
\begin{wrapfigure}{#1}{#2}%
\usebox\curwrapfig%
\end{wrapfigure}%
}
\makeatother
\begin{document}
\lipsum[1-4]
\wrapfiguresafe{r}{0mm}{\centering\rule{3cm}{7cm}}
\lipsum[1-6]
\end{document}
bu da aşağıdaki çıktıyı üretir:
Rakamlarınız uzunsa, bunun kısa sayfalarda çok kötü sayfa sonlarına neden olabileceği ve/veya ayarlarınıza bağlı olarak yetersiz vbox uyarılarına neden olabileceği konusunda uyarılmalıdır.