我在这里有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命令,但是我正在寻找一种解决方案,该解决方案适用于在任何设置下都能显示此行为的任何图像,我不想手动设置它每次发生变化。
有问题的图像可以在the khronos website上找到。
答案 0 :(得分:1)
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}