Hibakeresés: LaTeX ábrafelirat probléma

Nemrég volt szerencsém egy idegesítő LaTeX feature-höz (ugye nem bug, hanem feature). Miután visszafejteni a hiba okát elég macerás volt, ezért gondoltam, megosztom itt is.

Megkérdezték tőlem, van-e ötletem, mitől lehet az, hogy egy ábra hivatkozásánál a számot miért jeleníti meg teljesen más stílusban, mint a többi ábrahivatkozást, ill. mint az ábra feliratát. A probléma úgy jelentkezett, hogy Figure 9. számú ábra (ez az elvárt formátum), míg a hivatkozása Figure 4.4 formátumban jelent meg.

A hivatkozásokat a LaTeX vissza tudta fejteni, semmiféle hibaüzenet nem jelent meg, csak rosszul jelent meg a sorszám. Nagyon látványos hiba sem volt a kódban, többszöri átolvasás után (lényegében hasonlóan nézett ki, mint a többi ábrabeillesztés).

Megpróbálgatva kihagyni elemeket, áthelyezni a kritikus ábrát, illetve hivatkozást sikerült rájönni, hogy a LaTeX valami miatt a fejezet/szakasz-számot jeleníti meg az ábra sorszáma helyett.

Innen már egy gyors Google megadta a megoldást: http://www.leancrew.com/all-this/2008/09/latex-figure-captions/ , ill. az oldalon keresztül a következő lap: http://en.wikibooks.org/wiki/LaTeX/Labels_and_Cross-referencing#Fixing_wrong_labels

A megoldás lényege a következő: semmilyen körülmények között ne legyen a [cci_latex]\label[/cci_latex] címkeparancs a [cci_latex]\caption[/cci_latex] feliratparancs elé. A feliratparancs belsejébe vagy a feliratparancs utánra nyugodtan kerülhet.

A végére beszúrok egy javasolt mintát kép beillesztésére, ami ezt a hibát elkerüli (a forrás a TeXlipse plug-in sablon gyűjteménye:

[cc_latex]\begin{figure}[htp]
\begin{center}
\includegraphics[width=${figureWidth}]{${filename}}
\caption[${labelInTOC}]{${figureCaption}}
\label{${figureLabel}}
\end{center}
\end{figure}[/cc_latex]

A TeXlipse editor ezt a mintát automatikusan beilleszti, ezért nekem nehéz ezt a hibát elkövetnem, de másnak még hasznos lehet. Remélem, van, akinek a megoldás megosztásával

Kiéltem természetfotós hajlamaimat

A hátsó kertben. Ahhoz képest jók lettek. Minden érdeklődő megtekintheti az újonnan készült [[http://flickr.com|Flickr]] fotógyűjteményemben: [[http://www.flickr.com/photos/gbalage/]]. A flickr gyűjtemény elkészítése azonban nehezebbnek bizonyult, mint a fotózás..

A hátsó kertben. Ahhoz képest jók lettek. Minden érdeklődő megtekintheti az újonnan készült [[http://flickr.com|Flickr]] fotógyűjteményemben: [[http://www.flickr.com/photos/gbalage/]]. A flickr gyűjtemény elkészítése azonban nehezebbnek bizonyult, mint a fotózás..

Alapvetően két [[http://en.wikipedia.org/wiki/Photo_sharing|képmegosztó]] szolgáltatást vizsgáltam meg: [[http://picasa.google.com|Picasa]] és [[http://flickr.com|Flickr]]. Ezek közül egyik se fogad el regisztráció helyett [[http://openid.net|OpenID]]-t, ami killer feature lett volna. A Picasa-t már próbáltam korábban, a kliens alkalmazásuk csak windows-ra van, a linuxos verzió egyszerűen egy [[http://www.winehq.org|Wine]]-osított változat. Ráadásul szerény véleményem szerint pocsék. Kvázi ömlesztve szembesít a 2004 óta készített, kb hatezer fotómmal és várja, hogy egyenként felcimkézzem őket. A Flickr, amellett, hogy csak havi feltöltési korlátot szabott meg, az általam használt [[http://www.digikam.org|digiKam]] program képes rá képeket exportálni. A gond ezzel csak annyi volt, hogy a Flickr használatához Yahoo ID kell.

Egyel több id/jelszó nem számít, rászántam magam a registrációra. Miután sikerült elfogadtatnom vele egy értelmes felhasználói nevet is (balage, gbalage, balageg, balagehun, hunbalage, stb.. és még egy pár próbálkozásom foglaltnak bizonyult) és minden szükséges adatot megadtam, szembesültem a minden regisztrációnál szokásos [[http://hu.wikipedia.org/wiki/Captcha|Captcha]] teszttel. Persze, alapesetben ez nem okoz gondot. Kivéve, ha a várt “zajos” betűk helyett egy fehér, üres részt találok:

[[http://cubussapiens.hu/node/620|]]

Csak átmeneti elmezavar, gondolnánk, ha újrapróbálkozáskor nem szembesülök ugyanazzal:

[[http://cubussapiens.hu/node/621|]]

Eltartott egy darabig, míg rájöttem, hogy az [[http://tinyurl.com/2b9sow|Adblock Plus]] vidáman kiszűrte a yahoo-s javascripteket. Kiváncsi volnék ki rakta bele az adatbázisban ezeket. Alapvetően a yahoo agyonscriptelt felhasználói felületeit ismerve nem ítélném el azonnal a tettét, de most kis gondot okozott. A probléma felfedezése után persze egyetlen kattintással fel lehet oldani a szűrést, és így minden probléma nélkül létrehozhattam a fotógyűjteményt. Tehát: [[http://www.flickr.com/photos/gbalage/|mindent]] a szemnek!