Minulla on ongelma, kun monet luvut ovat kysymyksessä. Jotkut luvut pyrkivät ”lentämään ympäriinsä”, toisin sanoen, olemaan kappaleen alapuolella, vaikka sijoitin ne kyseisen kappaleen eteen. Käytän koodia:

\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} 

hahmojeni sijoittamiseen. Kuinka voin kertoa lateksille, että todella haluaisin hahmon kyseiseen paikkaan riippumatta siitä, kuinka paljon tyhjää tilaa on jäljellä?

kommentit

  • Sidenote: Älä ’ käytä center ympäristö, mutta \centering -komento luvuille. Katso Pitäisikö minun käyttää keskusta tai keskittämistä kuvioihin ja taulukoihin?
  • Jos haluat sijoittaa kappaleen ehdottomasti kuvan jälkeen, käytä komentoa \FloatBarrier jonnekin kuvan ja kappaleen väliin. Se pakottaa kaikki ennen komentoa määritellyt luvut renderöimään ennen kyseistä kohtaa tekstissä. Komennon käyttämiseksi sinun on lisättävä \usepackage{placeins} johdanto-osaan. Joskus olen pitänyt tätä erittäin hyödyllisenä.

Vastaa

Lyhyt vastaus: käytä “ float ” -pakettia ja sitten [H] vaihtoehto kuvallesi.

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

Pidempi vastaus: Kuvien oletuskäyttäytyminen on kellua, jotta LaTeX löytää parhaan tavan järjestää ne asiakirjaan ja tehdä siitä paremman. Jos katsot, kirjat usein ladataan. Joten yleensä parasta on vain antaa LaTeX: n tehdä työnsä ja älä yritä pakottaa kuvien sijoittamista tiettyihin paikkoihin. Tämä tarkoittaa myös, että sinun tulisi välttää sellaisten lauseiden käyttöä kuin “in the following figure: ”, joka vaatii kuvan asettamisen tietylle sijainnille, ja käytä sen sijaan” in Figure~\ref{..} “, hyödyntäen LaTeX: n ristiviittauksia.

Jos jostain syystä todella haluat, että jokin tietty hahmo sijoitetaan “TÄSTÄ”, eikä siihen, mihin LaTeX haluaa laittaa sen, käytä [H] -vaihtoehto paketista ” float ”, joka muuttaa kelluvan hahmon tavalliseksi ei-kelluvaksi.

Huomaa myös, että jos älä halua lisätä kuvaan caption -kuvaa, sinun ei siis tarvitse käyttää ympäristöä figure! Voit lisätä kuvan käyttämällä div-komentoa \includegraphics missä tahansa asiakirjassa.

Kommentit

  • kiitos huomatessasi tämän! En ollut ’ tietoinen muutoksesta. H ei ’ näytä toimivan ilman paketteja, mutta toimii lataamalla float. Onko H osoitteesta float sama kuin !h?
  • ei , [! h] muutetaan useimmissa dokumenttiluokissa joka tapauksessa [! ht]: ksi. Ja h: n merkitys on vain: täällä, jos mahdollista, mutta ei ehdottomasti täällä. The! sallii LaTeXin minimoida kaikki laskurit ja pituudet, jotka viittaavat kelluviin ympäristöihin.
  • kiitos, toimi minulle! Annan lateksin yleensä sijoittaa sen mihin se haluaa, mutta joskus vain tarvitsen sitä missä haluan.
  • Asiakirjoille, joita ei ole tarkoitettu tulostettavaksi, ei ole syytä yrittää tallentaa paperia, joten suuret tyhjät alueet eivät ole ’ ta-ongelmia. Joten on ’ paljon parempi, että hahmo rikkoo tekstiä loogisimmassa pisteessä sen sijaan, että kelluisi muualla. Nämä hankalat käytänteet menevät aivan kuten latinankielisetkin.
  • En ’ usko, että tavalliset huolenaiheet liittyvät tilan säästämiseen sen sijaan, että yritän tyyliltään löytää paras paikka, johon hahmo, taulukko jne. sijoitetaan.

Vastaa

älä ei käytä kelluvaa ympäristöä, jos et halua sen kelluvan.

\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} 

tai

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

Kommentit

  • Hei @Herbert – kiitos PALJON vastauksesta! En ollut koskaan aikaisemmin ymmärtänyt, että \begin{figure} on kelluva ympäristö – kun taas \begin{minipage} ei ole ! Minulla oli ongelma siitä, että halusin sisällyttää kuvan sivun alaosaan w / tekstiä, eikä edes [H] auttanut; vain tämä! Korvasin juuri minipage kohteille figure ja captionof caption – ja lopulta sain mitä halusin! Kiitos vielä kerran paljon, kippis!
  • Miksi käytät \makebox? Eikö se näytä samalta ilman sitä?
  • @Tobi: jos kuva ei ole suurempi kuin \textwidth kyllä, muuten ei!\makebox keskittää kuvan riippumatta sen leveydestä
  • Tämä oli niin hyödyllistä; IMHO: n pitäisi olla hyväksytty vastaus, koska se toimii odotetusti paremmin kuin tällä hetkellä hyväksytty.

Vastaa

Yksi ratkaisu, jota mikään muusta vastauksesta ei maininnut, on vain käyttää \clearpage

Erikoispaketteja ei tarvita.

\clearpage pakottaa kaikki sen yläpuolella olevat luvut .tex -tiedostossa tulostamaan ennen kuin jatkat tekstin kanssa. Tämä voi jättää suuria tyhjiä tiloja.

Minulle tämä oli paras ratkaisu, koska minun ei tarvinnut muuttaa mitään muotoilua, ja se vain varmisti, että kaikki luvut tulostettiin ennen seuraavaa tekstin bittiä. Aiheeni oli osa asiakirjaa, jossa oli paljon lukuja ja vähän tekstiä.

kommentit

  • yksinkertainen ja tehokas ratkaisu, kiitos !!

Vastaa

Voit nyt käyttää adjustbox -pakettia pakatun tavarasi muuttamiseksi kellumattomaksi kelluvaksi korvaukseksi käyttämällä nofloat=<type> -näppäintä. Tekstitys ja tunniste voidaan lisätä omilla avaimilla ennen nofloat. Keskittämiseen voidaan käyttää center -avainta. Jos haluat lisätä pystysuoran tilan, käytä vspace -näppäintä. Tämän ratkaisun etuna on, että voit myös käyttää adjustbox -sovelluksen kaikkia muita ominaisuuksia sisällön muokkaamiseen (pienin / suurin skaalaus, kehystys jne.)

Huomaa, että jos kuvan sisältö on vain yksi kuva, voit käyttää samoja näppäimiä \adjustbox -palvelussa ja saada yhden linjan. Jos kaikki mitä haluat on taulukkomuotoinen, on tabular -näppäin kohteelle {adjustbox}.

Jos haluat myöhemmin muuta se todelliseksi kellukkeeksi kääntämällä nofloat muotoon float ja poistamalla vspace -näppäin. adjustbox sijoittaa tekstityksen päälle table s ja alareunaan figure s. Tätä voidaan muuttaa käyttämällä näppäimiä captionbelow tai captionabove caption -kohdan sijaan. Katso kaikki vaihtoehdot adjustox -oppaasta.

Jos et halua ruuduttaa sisältöä, voit silti käyttää adjustbox -pakettia, koska se tarjoaa {adjnofloat}{<type>} ympäristö. Sitä käytetään sisäisesti nofloat -avaimen toteuttamiseen. Käyttäjät voivat joko määrittää tämän ympäristön uudelleen muuttamaan tai korjaamaan nofloat -käyttäytymistä tai käyttämään Ympäristö käyttää koodia, joka on hyvin samanlainen kuin Herbertsin vastauksessa .


Käyttöesimerkkejä:

\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} 

Osa tuloksesta:

kirjoita kuvan kuvaus tähän

Vastaa

Käytä [ht!] ollaksesi enemmän painottaa sijoittelua. Ja jos haluat tekstin seuraavan kuvaa, sen sijaan, että aloittaisit aikaisemmin, käytä johdannossasi \usepackage{parskip} ja anna tilaa ennen kyseistä tekstiä.

Käytän myös \vspace{} tai ennen kuvaympäristöä tekstin ja kuvan välisen tilan manipuloimiseksi tasapainoisemman kuvan saamiseksi. Minulla ei ole mitään ongelmia tällä tavalla, jopa monimutkaisemmissa monikuvaympäristöissä, joissa käytetään \subfigure.

Vastaa

Sähköpostiosoitettasi ei julkaista. Pakolliset kentät on merkitty *