Portál AbcLinuxu, 4. června 2024 09:25


Nástroje: Začni sledovat (2) ?Zašle upozornění na váš email při vložení nového komentáře.

Vložit další komentář
10.4.2014 23:56 TyPo
Rozbalit Rozbalit vše Re: TeX – 14 (spolupracující software)
Odpovědět | Sbalit | Link | Blokovat | Admin
Jak je zajištěno, že proces zpracování dopředných referencí je stabilní? Tedy mějme odkaz např. na straně 1 a to na label, který je někde na konci strany 2 nebo začátku strany 3 a to podle toho, jak je široké číslo odkazu na straně 1. První průchod tam doplní otazník (který má nějakou šířku) a label pak vyjde na stranu řekněme 1. To se zapíše do pomocného souboru a při dalším průchodu se na dané místo doplní místo otazníku číslo 1. To má jinou šířku a label najednou bude na straně 2, která se zapíše do pomocného souboru. Při dalším průchodu se místo jedničku doplní číslo 2, které má zase jinou šířku a způsobí, že label vyjde na stranu 1.

(neberte ten příklad prosím doslova, v běžném fontu nebude dvojka užší než jednička, ale při jiné konstelaci odkazů a fontů...)

A jak vlastně uživatel zjistí, že je to stabilní a všechno vychází? Nebo naopak, jak detekuje nestabilitu, kdy odkaz bude ukazovat na jinou stranu, než kde je label?
olsak avatar 11.4.2014 06:28 olsak | skóre: 29
Rozbalit Rozbalit vše Re: TeX – 14 (spolupracující software)
Za celou svou TeXovou praxi se mi toto nestalo, ale neumím dokázat, že to je v běžných situacích skutečně nemožné. V DocByTeXu něco takového preventivně řeším, protože tam je odkazů mraky, vkládají se i do poznámek pod čarou a ty poznámky jsou pak pro různé situace různě vysoké a ovlivňují výšku strany a tedy i stránkový zlom. Proto tam počítám počet průchodů a od jistého čísla fixuji výšky poznámek pod čarou, aby se to zase nerozhodilo.

Jde-li pouze o kontrolu, uživatel může v Makefile pro spuštění TeXu psát třeba něco takového
touch dokument.ref
cp dokument.ref dokument.bak
csplain dokument
diff -q dokument.bak dokument.ref || echo NEKONZISTENCE ODKAZU, TeXuj znova 
Nebo se totéž dá řešit na úrovni maker TeXu, což je popsáno například na OPmac-tricks.

LaTeXisté na to budou mít asi nějaký balíček, ovšem to jsem nikdy nehledal.
13.4.2014 01:03 TyPo
Rozbalit Rozbalit vše Re: TeX – 14 (spolupracující software)
Děkuji.
11.4.2014 08:51 nasson
Rozbalit Rozbalit vše Re: TeX – 14 (spolupracující software)
Odpovědět | Sbalit | Link | Blokovat | Admin
Jo, bibtex je možná pro programátory použitelný, ale pro obyčejné smrtelníky je to fakt děs. Malé úpravy a dva dny studia. Přičemž za půl roku to zapomenu, takže pak můžu začít studovat znova:(. Na větší úpravy můžu rovnou zapomenout, ty prostě nezvládám. Biblatex je sice vylepšení, ale pořád nic moc. Osobně se mi nejvíce líbí způsob, jak to má ConTeXt. Snadné, rychle naučitelné a mám pocit, že se tam toho dá udělat dost (všechno?).

Při použití plain mi připadá nejlepší šáhnout po balíčku Librarian. Zvláště, když jsem vykradl nápady z OPmac, tak se dá udělat vše potřebné a přitom potřebuju jen TeX.
olsak avatar 11.4.2014 18:49 olsak | skóre: 29
Rozbalit Rozbalit vše Re: TeX – 14 (spolupracující software)
BibTeX je podle mého názoru skutečně problém. V databázích nikdy nebudou informace dostatečně pečlivě strukturovány, aby dokázal automat reagovat na všechny nuance normy. Mám na mysli třeba normu ISO 960. Ta je napsaná tak, že záznamy může možná tvořit člověk, když to nějak pochopí. Pro stroj to není dělané.

Vždy jsem se divil, proč Oren Patashnik zvolil pro vkládání databázových údajů jazyk Scribe, místo aby použil něco odvozeného od TeXu, ale stále lidsky čitelného. Konverze ze Scribe do TeXu přímo makry TeXu je díky všem možným nuancím jazyka skoro nemožná. Dnes se ale potuluje plno bibliografických databází v tomto BibTeXovém jazyku a taky některá konvertítka do .bib (například na google books). Takže utéci od BibTeXu není jednouché. Časopisy přijímají články prohnané přes BibTeXové styly vytvořené před dvaceti lety a dloubnout do těch stylů dnes asi neumí skoro nikdo. Jazyk Forth pro BibTeXové styly je něco úplně strašného.

Uvítal bych snahy zapomenout na BibTeX a najít něco jednoduššího. Ovšem Biber jde cestou: zapomenout na BibTeX a nahradit to něčím násobně složitějším. S tím se nemohu ztotožnit.
Při použití plain mi připadá nejlepší šáhnout po balíčku Librarian.
Můžete, prosím, podrobněji rozvést, co máte na mysli? Toto jméno se na internetu vyskytuje ve více významech a nedaří se mi dohledat, o co jde. Přitom únik od bibTeXu k jednoduchosti mě zajímá.

Pro informaci: tento týden jsem vyjednal s lidmi na citace.com přidání exportu do TeXu (měli zatím jen nabídku exportu do BibTeXu). Jejich portál se snaží dodržet normu ISO 960, umí to dohledat údaje podle ISBN nebo DOI. To je fajn. Ovšem kopíruje to českou normu s předpokladem vložení do českého dokumentu, takže anglicky publikující jedinci to asi nemohou jednoduše použít.
11.4.2014 20:20 nasson
Rozbalit Rozbalit vše Re: TeX – 14 (spolupracující software)
Příloha:
Mám na mysli tento balíček:

http://www.ctan.org/pkg/librarian

Přikládám příklad. Nejsem programátor, tak je to takové ošklivé, ale dělá to, co chci. Autor-rok citace jsou taky použitelné - ale detaily jsem zatím nedořešil, hlavně změna (Komenský 1631, Komenský 1633) na Komenský 1631, 1633), apod.
olsak avatar 11.4.2014 21:01 olsak | skóre: 29
Rozbalit Rozbalit vše Re: TeX – 14 (spolupracující software)
Díky za odkaz.

Pokud jde o (Komenský 1631, Komenský 1633), zabýval jsem se tím docela nedávno. V březnu jsem proto mírně upravil opmac.tex a přidal na téma bibliografické odkazy asi šest OPmac triků.
13.4.2014 17:03 nasson
Rozbalit Rozbalit vše Re: TeX – 14 (spolupracující software)
Děkuji, přesně tyhle věci jsem měl v plánu řešit.
olsak avatar 14.4.2014 19:00 olsak | skóre: 29
Rozbalit Rozbalit vše Re: TeX – 14 (spolupracující software)
Mám na mysli tento balíček: http://www.ctan.org/pkg/librarian
Podíval jsem se na ten balíček a přesně splňuje očekávání, které jsem dlouho hledal. Je to skvělé, bombastické. Kdysi před mnoha lety jsem taky přemýšlel o možném přímém čtení bib souborů TeXovými makry, ale vzhledem k různým zrůdnostem jazyka Scribe (někdy uvozovky, jindy svorky, malá a velká písmena a hlavně: manipulace se stringy na úrovni bib souborů) jsem to vzdal. Přitom autor libraian balíčku Paul Isambert použil geniální myšlenku, která mě tehdy nenapadla: vybodnout se na manipulaci se stringy v bib souborech. Kdo by to potřeboval, když může použít TeX, že.

Neodolal jsem, a vytvořil jsem hned za použití librarian verzi maker pro OPmac umožňující psát přehledné bibliografické styly. První verzi jsem dnes zveřejnil. Můžete se na to podívat na opmac-bib.tex a opmac-bib-simple.tex.
25.4.2014 16:09 TyPo
Rozbalit Rozbalit vše Re: TeX – 14 (spolupracující software)
Odpovědět | Sbalit | Link | Blokovat | Admin
Uvažuji, že bych TeX používal pro sazbu různých popisků apod. Tedy na vstupu by byl nějaký text, daná max. šířka, font apod. a na výstupy bych očekával PDF, které bude těsně text obalovat. Tedy variabilní výška stránky PDF a ideálně i variabilní šířka stránky (pokud text nezaplní ani celý první řádek). Lze toho v TeXu nějak elegantně docílit?
olsak avatar 29.4.2014 08:54 olsak | skóre: 29
Rozbalit Rozbalit vše Re: TeX – 14 (spolupracující software)
Řešení je docela snadné:
\newdimen\margin \margin=1pt             % okraj, abychom si nedřízli mírné přetahy
\pdfhorigin=\margin \pdfvorigin=\margin  % horní a levý okraj
\def\outtext#1{\setbox0=\hbox{#1} % nakrmíme box 0
   \ifdim\wd0>\hsize   % je-li text delší než \hsize, přelomíme ho do odstavce
      \setbox0=\vbox{\noindent\unhbox0}\fi
   \pdfpageheight=\ht0 \advance\pdfpageheight by\dp0
   \pdfpagewidth=\wd0  % nastavení velikosti papíru dle velikosti boxu 
   \advance\pdfpagewidth by2\margin \advance\pdfpageheight by2\margin % přidání okraje
   \shipout\box0       % box vypudíme do stránky
}

\outtext{Aha}

\outtext{Ouha, to je delší}

\outtext{Ha, to je dlouhé, dlouhé tak, že to obsadí více řádků textu, takže
         je potřeba napsat něco skutečně dlouhého, abychom to vyzkoušeli.}

\end

30.4.2014 01:44 TyPo
Rozbalit Rozbalit vše Re: TeX – 14 (spolupracující software)
Děkuji za řešení i komentáře, funguje to perfektně.

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.