siunitx [megoldva]

Fórumok

Sziasztok.
Tárgyban szereplő csomagot használom SI mértékegységekhez. Amint a szövegben használom mondjuk mezei
3\kg
esetében, akkor a 3 előtt és a g után kétszerannyi helyet hagy ki a tördelés. Bár megoldottam, hogy elérakok egy \hspace{-5pt}-t, de utána nem tudok ilyet tenni (utána -7-et kéne), mert mi van, ha \footnote következik?

Szóval hogyan kell az siunitx before-after helykihagyásait beállítani \sisetup{}-pal?

Ha megpöndörödök, akkor sem találom a manualban:
http://ctan.ijs.si/tex-archive/macros/latex/contrib/siunitx/siunitx.pdf

Hozzászólások

Szerintem ne használd ezt a csomagot egyáltalán. Nem is hallottam róla, elég sok ember megvan nélküle. Egyik nemzeti tipográfiánál sem szokás, hogy az SI mértékegységeknél speciális szabályokat állapítanak meg.

Most tipikusan azt spilázod túl, ami a LaTeX-et rosszá teszi. Egy csomag negatív hatását hekkeléssel akarod eltüntetni, holott a megoldás az lenne, hogy nem használsz ilyen béna csomagokat eredetileg sem, és fel sem merül, hogy valamit ellensúlyozni kéne. Ezért ajánlottam múltkor a plain XeTeX-et, ott nincs olyan gond, hogy valamilyen csomag szóközöket, meg görög karaktereket barmol el, amit kínkeserves debugolásal, ilyen hspace-es hekkeléssel, meg másik csomaggal kell megjavítani, mert nem használsz csomagokat egyáltalán. Minden úgy fog kinézni, ahogy te akarod (nem úgy, ahogy Lamport épp megengedhetőnek tartotta, meg ahogy ezt a korlátozását csomagokkal meg hekkeléssel ki tudod kerülni), és minden élből működni fog, mindegy milyen OS, meg milyen, mennyire minimalista TeX-kiadás alatt fordítod. Ahogy már írtam, magyarLaTeX nélkül is szépen meg lehet lenni. Ha kell BibTeX, az is működik plain XeTeX-kel.

Lamportnak az alapfelvetése hibás. Ő úgy volt vele, hogy csak az a helyes szokás, ami az ő ízlésével teljesen egyezik, meg nem tartotta megengedhetőnek, hogy a felhasználó egy csomó mindent állíthasson, mivel szerinte nem értenek a tipográfiához, meg meg kell őket védeni önnönmaguk hozzá nem értésétől, hogy ne gányolhassanak. Közben meg ezzel az ellenkező hatást érte el, senki nem olyan doksikat hoz létre, amit ő megálmodott, az emberek továbbra is gányolnak, csak nem plain *TeX-es alapmegoldással, hanem csomagokkal, meg csomag hatását ellensúlyozó csomagok mentén hekkeléssel, amiből tényleg egy követhetetlen, debugolhatatlan katyvasz lesz, és a felhasználó maga sem érti, hogy mit csinált, meg miért úgy néz ki a dokumentum, ahogy, meg dolgok miért nem úgy működnek, ahogy kellene nekik, mert a dolgok működése makrók makrójával, meg csomag csomagjával van elfedve és szétbarmolva. Ráadásul mivel LaTeX-felhasználó általában nem érti mit csinál, ezért a végeredmény nem csak gányolás lesz, hanem inkonzisztens is lesz, ami még sokkal rosszabb.

Közben meg a vicc az, hogy Knuth normálisan megcsinálta a TeX-et, úgy, hogy mindent meg lehessen oldani vele alapból, ne legyen senki semmilyen magyarLaTeX-ra, meg BME-re, meg SI-lófaszra rászorulva, csak ezzel nem foglalkozik senki, mert a LaTeX-kel fetreng helyette, meg bonyolítja a saját életét feleslegesen. Tudom, a LaTeX az kell, mert strukturált, meg a legnagyobb egyetemek, folyóiratok is azt használják, a TeX meg túl fapados, meg zseninek és tipográfusnak kell lenni ahhoz, hogy használja valaki.

„Pár marék nerd-et leszámítva kutyát se érdekel már 2016-ban a Linux. Persze, a Schönherz koliban biztos lehet villogni vele, de el kéne fogadni, ez már egy teljesen halott platform. Hagyjuk meg szervergépnek…” Aron1988@PH Fórum

Köszi a tanácsot!
Nos, a latex-tex-stb-ben most tartok ott, ahol kiskorában mindenki tart az oprendszereknél: kipróbál mindent, kidíszíti a munkaasztalát, hekkeli az ablakdekorációt. Nyilván átérezte ezt mindenki, és sokan tudják, hogy ez kinőhető. Oprendszereim ma már tiszták, programgyűjteményemben nincs felesleges. Aztán jött a TeX-es korszak kb. 2002 óta. Ezzel még mindig díszítek, mert még csak most tartok ott, hogy rájöttem, milyen lehetőségek vannak pl. az qifthenelse-vel meg a hasonlókkal, és akkor még nem nyúltam bele olyan makrókba, amiben @ is van (remélem sosem kell beléjük nyúlnom).

Amin most dolgozom, letisztultan csinálom, underful- és overful hboxokon kívül nem küld a fordító hibaüzenetet. Ha mégis, akkor azonnal utánajárok mindennek. Ha bonyolítom a kódot, azonnal manualt csinálok hozzá.

Amit írsz, hogy az siunitx már túlzás, szóval lehet benne valami. Ezzel egy ágyúval lövök a verébre, mert nem fizikakönyvet írok. Ezt tényleg tankönyvíróknak találták ki. Persze az is lehet, hogy tényleg nem olvastam el normálisan a manualt, mert alapból mégsem tűnik marhaságnak, túlbonyolításnak.

Szóval a fordítók között még nem nagyon ismertem ki magam, bevallom, annyi időm még nem volt, hogy foglalkozzam velük összehasonlítás szintjén, mert egyelőre írok, átírok, de nem makrókat, hanem magát az írás tárgyát.

Miért nem a \SI{3}{kg} módot használod? Szerintem ez teljesen jó eredményt ad (ld. pl. itt) mindenféle hekkelés nélkül.

Azt használom, az \SI{}{}-t. Csak a dolog kicsit összetett, szóval lehet, hogy én gúrom el.

ambulum':


\documentclass{article}
\usepackage[magyar]{babel}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[nomessages]{fp}
\usepackage{siunitx}
\usepackage{ifthen}
\usepackage{calc}

\def\tmfr#1#2{
\sisetup{
   round-mode = places,
   round-precision = 1 % tizedesjegyek száma
}%
    \sisetup{inter-unit-product={}\cdot{},number-unit-product=\text{ },tight-spacing=true}%
    \FPeval{g}{clip(#1*10)}
    \FPeval{a}{clip(#1*1.852)}
\SI[locale = DE]{#1}{mérföld#2}%
\ifthenelse{\g > 30}%
{\footnote{\SI[locale = DE]{#1}{tmf}~$\approx$~\SI[locale = DE]{\a}{km}}}{}
}

beginend:
%
 Amikor \tmfr{5.3}{re} voltam 
%

% szóval csupán azzal hekkelem, hogy a második paraméter helyett egy ragozott alakot írok pl. \kg helyett. De még ha azt is írom, akkor is van kihagyás előtte meg utána. Ez a bajom, amitől ugyan alszom éjszaka, de mégis nyugtalanul ébredek.
Megjegyzés: az ifthenelse egészekkel dolgozik főleg számlálókkal, így kénytelen voltam 10-zel szorozni, majd 3 helyett 30-cal végezni az összehasonlítást -- de így legalább a feltétel rendesen tud működni. Szép gány...
Megjegyzés:
silocale azért ilyen és nem globális, mert néhol angolt is használok.

Nem biztos, hogy jól értem, mi a gondod, de ezekkel a változtatásokkal nem lesz a "mérföld" és a "re" között space (lefordítottam)...

\SI[locale = DE]{#1}{\text{mérföld}#2}%
...
Amikor $\tmfr{5.3}{re}$ voltam

----------
Were antimatter present, its detection would be quite simple and straightforward. The most rudimentary detector suffices: simply place it down and wait. If the detector disappears, antimatter has been discovered - get out fast!

Az általam javasolt megoldással ($...$) nálam nincs felesleges szünet se előtte, se utána. A "\text{}" azért kellett, mert nálam a magyar karakterek nem jelentek meg a mérföldben.
----------
Were antimatter present, its detection would be quite simple and straightforward. The most rudimentary detector suffices: simply place it down and wait. If the detector disappears, antimatter has been discovered - get out fast!

Az általam javasolt megoldással ($...$) nálam nincs felesleges szünet se előtte, se utána. A "\text{}" azért kellett, mert nálam a magyar karakterek nem jelentek meg a mérföldben.
----------
Were antimatter present, its detection would be quite simple and straightforward. The most rudimentary detector suffices: simply place it down and wait. If the detector disappears, antimatter has been discovered - get out fast!

Megkérdezhetem, hogy ilyen sok LaTeX kérdéssel min dolgozol?
----------
Were antimatter present, its detection would be quite simple and straightforward. The most rudimentary detector suffices: simply place it down and wait. If the detector disappears, antimatter has been discovered - get out fast!