Problémám van, amikor sok ábra kérdéses. Néhány ábra hajlamos “körbejárni”, vagyis lenni egy bekezdéssel lejjebb, bár ezeket a bekezdés elé helyeztem. Az ábráim elhelyezéséhez kódot használok:

\begin{figure}[ht] \begin{center} \advance\leftskip-3cm \advance\rightskip-3cm \includegraphics[keepaspectratio=true,scale=0.6]{slike/visina8} \caption{} \label{visina8} \end{center}\end{figure} 

. Hogyan mondhatom el a latexnek, hogy TÉNYLEG azt a helyet akarom, hogy az alak legyen, függetlenül attól, hogy mennyi szóköz marad?

Megjegyzések

  • Sidenote: Ne ‘ ne használja a center környezet, de a \centering parancs az ábrákhoz. Lásd: Használjam a középpontot vagy a központozást az ábrákhoz és táblázatokhoz?
  • Ha egy bekezdést mindenképpen egy ábra után szeretne elhelyezni, használja a \FloatBarrier valahol az ábra és a bekezdés között. Arra kényszeríti a parancs előtt definiált összes ábrát, hogy az adott pont előtt megjelenjen a szövegben. A parancs használatához hozzá kell adnia az \usepackage{placeins} preambulumot. Néha ezt nagyon hasznosnak találtam.

Válasz

A rövid válasz: használja a „ float ” csomagot, majd a [H] opció az ábrádhoz.

\usepackage{float} ... \begin{figure}[H] \centering \includegraphics{slike/visina8} \caption{Write some caption here}\label{visina8} \end{figure} 

A hosszabb válasz: Az ábrák alapértelmezett viselkedése az lebegés, hogy a LaTeX megtalálja a legjobb módot a dokumentum elrendezésére és jobb megjelenésére. Ha megnézi, a könyveket gyakran így szedik. Tehát általában a legjobb dolog az, ha hagyod, hogy a LaTeX elvégezze a munkáját, és ne próbáld meg erőltetni az alakok elhelyezését bizonyos helyeken. Ez azt is jelenti, hogy kerülni kell az olyan kifejezések használatát, mint a „in the following figure: ”, amely megköveteli, hogy az ábra megadjon egy meghatározott helyet, és ehelyett használja a„ in Figure~\ref{..} “szót, kihasználva a LaTeX kereszthivatkozásait.

Ha valamilyen okból valóban azt akarja, hogy egy adott alakot „ITT” helyezzen el, és ne oda, ahova a LaTeX fel akarja tenni, akkor használja a [H] a „ float ” csomag opciója, amely alapvetően az úszó alakot szokásos nem lebegővé változtatja.

Ne feledje, hogy ha Ne akarjon caption -t hozzáadni az alakjához, akkor egyáltalán nem kell használni a figure környezetet! Kép beszúrásához használhatja a \includegraphics parancsot a dokumentum bármely pontján.

Megjegyzések

  • köszönöm amiért ezt tudomásul vette! Nem voltam ‘ tudatában a változásnak. Úgy tűnik, hogy a H nem ‘ csomagok nélkül működik, de a float betöltésével működik. A H a float -ből megegyezik a !h -vel?
  • nem A [! h] -t a legtöbb dokumentumosztály egyébként [! ht] -re változtatja. A h jelentése csak: itt, ha lehetséges, de nem abszolút itt. A ! lehetővé teszi a LaTeX számára, hogy minimalizálja az összes számlálót és hosszt, amelyek lebegő környezetre utalnak.
  • köszönöm, nekem dolgozott! Általában hagyom, hogy a latex ott helyezze el, ahova akar, de néha egyszerűen szükségem van arra, ahova akarok.
  • A nem nyomtatásra szánt dokumentumok esetében nincs ok arra, hogy megpróbálja menteni papír, ezért a szóköz nagy része nem ‘ ta probléma. Tehát ‘ sokkal jobb, ha az alak a leglogikusabb ponton tördeli a szöveget, nem pedig lebeg valahol másutt. Ezek a kínos konvenciók ugyanúgy fognak menni, mint a latin.
  • Nem gondolom, hogy a szokásos gondok a helymegtakarítással kapcsolatosak, nem pedig stilikusan próbálják megtalálni a legjobbat. ábra, táblázat stb. elhelyezésének helye

Válasz

ne ne használjon lebegő környezetet, ha nem szeretné, hogy lebegjen.

\usepackage{caption} ... \noindent% \begin{minipage}{\linewidth}% to keep image and caption on one page \makebox[\linewidth]{% to center the image \includegraphics[keepaspectratio=true,scale=0.6]{slike/visina8}} \captionof{figure}{...}\label{visina8}% only if needed \end{minipage} 

vagy

\begin{center} \includegraphics[...]{slike/visina8}} \captionof{figure}{...}\label{visina8}% only if needed \end{center} 

Hozzászólások

  • Szia @ Herbert – nagyon sok köszönetet mondok ezért a válaszért! Sosem értettem, hogy az \begin{figure} lebegő környezet – míg a \begin{minipage} nem ! Problémám volt azzal, hogy képet akartam felvenni az oldal aljára w / text, és még [H] sem segített; csak ez! Most helyettesítettem a következőt: minipage a figure és és captionof caption – és végül megkapta, amit akartam !! Ezúton is nagyon köszönöm, éljenzés!
  • Miért használ egy \makebox? Nem ugyanúgy néz ki nélküle?
  • @Tobi: ha a kép nem nagyobb, mint \textwidth igen, akkor különben nem!\makebox a képet szélességétől függetlenül központosítja
  • Ez nagyon hasznos volt; IMHO legyen ez az elfogadott válasz, mivel a vártnál jobban működik, mint a jelenleg elfogadott válasz.

Válasz

Az egyik megoldás, amelyet a többi válasz nem említ, és csak az engem választotta, az a, hogy \clearpage

Nincs szükség speciális csomagokra.

A \clearpage arra kényszeríti, hogy a .tex fájlban lévő összes alakja kinyomtatásra kerüljön, mielőtt folytatná a szöveget. Ez nagy fehér tereket hagyhat.

Számomra ez volt a legjobb megoldás, mert nem kellett módosítanom a formázást, és csak arról gondoskodott, hogy az összes ábrát kinyomtassák a következő szöveges bit előtt. A kérdésem a dokumentum része volt, sok ábrával és kevés szöveggel.

Megjegyzések

  • Egyszerű és hatékony megoldás, köszönöm !!

Válasz

Mostantól a adjustbox csomag használatával dobozos cuccait nem lebegő lebegő helyettesítővé alakíthatja a gombot. A felirat és a címke hozzáadható saját kulcsokkal, a előtt a nofloat előtt. A center kulcs központosításához használható. A függőleges szóköz hozzáadásához használja a vspace gombot. Ennek a megoldásnak az az előnye, hogy a adjustbox számos egyéb funkcióját is felhasználhatja a tartalom módosítására (min / max méretezés, keretezés stb.)

Ne feledje, hogy ha az ábra tartalma csak egy kép, akkor ugyanazokat a gombokat használhatja a \adjustbox oldalon, és egysoros vonalat kap. Ha csak táblázatot szeretne, akkor ott van a tabular kulcs a {adjustbox} fájlhoz.

Ha később szeretné valódi úszóra változtassa, csak fordítsa a nofloat elemet float -re, és távolítsa el a vspace kulcsot. adjustbox a feliratot a table s, az alján pedig a figure seket helyezi el. Ez megváltoztatható a caption helyett a captionbelow vagy a captionabove billentyűkkel. Az összes opciót lásd a adjustox kézikönyvben.

Ha nem szeretné beírni a tartalmat, akkor továbbra is használhatja a adjustbox csomagot, mivel ez biztosítja a {adjnofloat}{<type>} környezet. Belsőleg használják a nofloat kulcs végrehajtására. A felhasználók vagy újradefiniálhatják ezt a környezetet a nofloat viselkedés megváltoztatásához, vagy javításához közvetlenül a környezetet. A környezet nagyon hasonló kódot használ, mint az Herberts válaszban .


Használati példák:

\documentclass{article} \usepackage{blindtext}% for example text here only \usepackage{adjustbox} \begin{document} \blindtext \begin{adjustbox}{center,caption={some caption},label={somelabel},nofloat=figure,vspace=\bigskipamount} % maybe other stuff \includegraphics[width=\textwidth]{example-image}% example only, could also be \adjustimage % maybe other stuff \end{adjustbox} \blindtext % For simple images, a one liner is enough \adjustimage{width=\textwidth,center,caption={some caption},label={somelabel},nofloat=figure,vspace=\bigskipamount}{example-image} \blindtext \begin{adjustbox}{center,caption={some caption},label={somelabel},nofloat=table,vspace=\bigskipamount} % maybe other stuff \begin{tabular}{lll} some & tabular & is\\ also & possible & with this \\ \end{tabular} % maybe other stuff \end{adjustbox} \blindtext % For just a tabular: \begin{adjustbox}{tabular=lll,center,caption={some caption},label={somelabel},nofloat=table,vspace=\bigskipamount} some & tabular & is\\ also & possible & with this \\ \end{adjustbox} \blindtext \end{document} 

Az eredmény része:

írja ide a kép leírását

Válasz

A [ht!] használatával többet hangsúlyos az elhelyezéssel kapcsolatban. És ha azt szeretné, hogy a szöveg kövesse az ábrát, a korábbi kezdet helyett használjon \usepackage{parskip} -t a preambulumában, és hagyjon szóközt a szóban forgó szöveg előtt.

Én is alkalmazok \vspace{} vagy az ábra környezet előtt, hogy a szöveg és az ábra közötti teret manipulálhassa, hogy kiegyensúlyozottabb képet kapjon. Így nincs gondom, még a bonyolultabb multifigurájú környezeteknél is, amelyek \subfigure -t alkalmaznak.

Vélemény, hozzászólás?

Az email címet nem tesszük közzé. A kötelező mezőket * karakterrel jelöltük