首页 > 解决方案 > 在图像周围环绕文本时下边距较大

问题描述

我在这里有这个 LaTeX 代码:

\documentclass{article}

\usepackage{geometry}
\geometry{a4paper, portrait, margin=1in}

\usepackage{graphicx}
\usepackage{wrapfig}

\begin{document}

\section{Klasična rasterizacija}

\begin{wrapfigure}{r}{0.4\textwidth}
    \centering
    \includegraphics[width=0.38\textwidth]{images/OpenGLPipeline}
    \caption{OpenGL cijevovod}
\end{wrapfigure}

Prilikom klasične rasterizacije (koja se ponekad naziva i trokut rasterizacija) trodimenzionalna se scene projicira na dvodimenzionalnu površinu, najčešće ekran. Kako bi to bilo postignuto potrebno je svaki od elemenata scene provući kroz rasterizacijski cjevovod koji se sastoji od nekoliko faza.

\subsection{Pregled cjevovoda OpenGLa}
\paragraph{}
Ovo je grubi popis faza cjevovoda OpenGLa:
\begin{itemize}
    \item Specifikacija točaka
    \item Vertex shader
    \item Teselacije
    \item Geometry shader
    \item Sastavljanje i procesiranje primitiva
    \item Rasterizacija
    \item Fragment shader
    \item Post procesiranje fragmenata
\end{itemize}

Vertex, geometry i fragment shader su programabilni koraci koje se potpunosti može kontrolirati, dok je većina ostalih koraka fiksna. Na neke od njih može se ograničeno djelovati podešavanjem raznih varijabli.

\subsection{Pregled cjevovoda OpenGLa}

\subsubsection{Specifikacija točaka}
\paragraph{}
Kako bi renderiranje započelo, grafičkoj se kartici trebaju dostaviti svi podaci o entitetu koji se želi prikazati. U memoriji grafičke kartice nalaze se bufferi u koji se ispunjuju podacima o entitetu koji se trenutno crta. To se ostvaruje tako da se šalje set podataka za svaku pojedinu točku, a to su najčešće pozicija točke, normala na točku te mapirane koordinate na pridruženim teksturama. Podaci koje šaljemo mogu imati bilo kakvo značenje jer se u idućem koraku tim podacima može manipulirati na proizvoljan način.\\

Svi podaci ne moraju nužno biti vezani za pojedinu točku, već se mogu slati podaci koji su vezani na čitave setove točaka (recimo sve točke koje čine pojedini model), ili podaci koji su globalni i vrijede uvijek (poput pozicije, prirode i intenziteta izvora svjetala u svijetu ili recimo pozicije kamere). Prije samog početka rada grafičke kartice, u nju se učitavaju i razne teksture koje se koriste tijekom renderiranja.

\end{document}

这会产生这个文件:

在此处输入图像描述

我不希望下边距那么大。我完全了解 /vspace command,但我正在寻找一种适用于在任何设置中显示此行为的任何图像的解决方案,我不想在每次发生变化时都手动设置它。

有问题的图像可以在khronos 网站上找到。

标签: latex

解决方案


wrapfig在 .等列表附近使用时会出现问题itemize。要解决方法,您可以指定短线的数量(调整[18]以适合您的图像,我的猜测26可能会起作用):

\documentclass{article}

\usepackage{geometry}
\geometry{a4paper, portrait, margin=1in}

\usepackage{graphicx}
\usepackage{wrapfig}

\begin{document}

\section{Klasična rasterizacija}

\begin{wrapfigure}[18]{r}{0.4\textwidth}
    \centering
    \includegraphics[width=0.38\textwidth]{example-image-10x16}
    \caption{OpenGL cijevovod}
\end{wrapfigure}

Prilikom klasične rasterizacije (koja se ponekad naziva i trokut rasterizacija) trodimenzionalna se scene projicira na dvodimenzionalnu površinu, najčešće ekran. Kako bi to bilo postignuto potrebno je svaki od elemenata scene provući kroz rasterizacijski cjevovod koji se sastoji od nekoliko faza.

\subsection{Pregled cjevovoda OpenGLa}
\paragraph{}
Ovo je grubi popis faza cjevovoda OpenGLa:

\begin{itemize}
    \item Specifikacija točaka
    \item Vertex shader
    \item Teselacije
    \item Geometry shader
    \item Sastavljanje i procesiranje primitiva
    \item Rasterizacija
    \item Fragment shader
    \item Post procesiranje fragmenata
\end{itemize}

Vertex, geometry i fragment shader su programabilni koraci koje se potpunosti može kontrolirati, dok je većina ostalih koraka fiksna. Na neke od njih može se ograničeno djelovati podešavanjem raznih varijabli.

\subsection{Pregled cjevovoda OpenGLa}

\subsubsection{Specifikacija točaka}
\paragraph{}
Kako bi renderiranje započelo, grafičkoj se kartici trebaju dostaviti svi podaci o entitetu koji se želi prikazati. U memoriji grafičke kartice nalaze se bufferi u koji se ispunjuju podacima o entitetu koji se trenutno crta. To se ostvaruje tako da se šalje set podataka za svaku pojedinu točku, a to su najčešće pozicija točke, normala na točku te mapirane koordinate na pridruženim teksturama. Podaci koje šaljemo mogu imati bilo kakvo značenje jer se u idućem koraku tim podacima može manipulirati na proizvoljan način.\\

Svi podaci ne moraju nužno biti vezani za pojedinu točku, već se mogu slati podaci koji su vezani na čitave setove točaka (recimo sve točke koje čine pojedini model), ili podaci koji su globalni i vrijede uvijek (poput pozicije, prirode i intenziteta izvora svjetala u svijetu ili recimo pozicije kamere). Prije samog početka rada grafičke kartice, u nju se učitavaju i razne teksture koje se koriste tijekom renderiranja.

\end{document}

在此处输入图像描述


推荐阅读