Nevíte-li si rady s jakýmkoliv matematickým problémem, toto místo je pro vás jako dělané.
Nástěnka
❗22. 8. 2021 (L) Přecházíme zpět na doménu forum.matweb.cz!
❗04.11.2016 (Jel.) Čtete, prosím, před vložení dotazu, děkuji!
❗23.10.2013 (Jel.) Zkuste před zadáním dotazu použít některý z online-nástrojů, konzultovat použití můžete v sekci CAS.
Nejste přihlášen(a). Přihlásit
Jste pro lepší vykreslování TeXu?
Stačí mi mimetex, tedy současný stav | 13% - 6 | |||||
Bylo by to hezké, ale není to vůbec nutné | 52% - 23 | |||||
Velmi by mi to ulehčilo život a jsem rozhodně pro | 34% - 15 | |||||
Počet hlasujících: 46 |
Na forum2 jsou starší zdrojáky, nahrával jsem to tam někdy před dvěma týdny nebo tak nějak.
Ta změna dpi a gammy fakt dost pomůže. V manuálu jsem si těch příkazů všiml, ale jsou tam strašně špatné ukázkové obrázky, vůbec z nich není poznat takové zlepšení jako z těchto :-). Kompilovat sám nemůžu, ale můžu to automaticky připisovat za adresu. Teď už jen najít nějakou pěknou kombinaci.
Offline
Tak jsem udělal nějaké srovnání. Gamma 1 je asi nejlepší volba, při větší gammě je písmo více roztřesené a při menší buď není změna moc velká nebo už je to až moc úzké. Takže za mě asi dpi: 140 nebo 150 a gamma 1.
MathTex:
MimeTex:
Offline
Mně by to nevadilo větší, jsem pro 150.
Jinak, mezery ve zdrojovém kódu se kódují (tím myslím, že při kliknutí na obrázek se mi do editačního pole nakopírují jako %20), to by chtělo opravit.
Edit: Tak nic, to je jen v tvém příspěvku, jinak to funguje správně.
Offline
↑ BrozekP:
Kopíroval jsem to přímo z adresy těch obrázků, takže jsem to nakopíroval zakódované, texu to nevadí, tak jsem to tak nechal.
Offline
Ať se zase trochu pohneme z místa — zahajuji oficiální betatestování nového vykreslování matematiky. Přidal jsem do fóra novou BB značku m (ze slova math), skrze kterou lze do příspěvku vložit výraz, který se vykreslí MathTexem. Nová značka má i tlačítko pod textovým polem. Výraz, který vepíšete mezi tyto značky bude automaticky obalen prostředím align*, jak psal Pavel vedle.
\parstyle\begin{align*} …váš výraz… \end{align*}
Z toho vyplývá, že pokud píšete výraz na jeden řádek, nic ne nemění. Pokud píšete výraz na více řádků, který chcete mít zarovnaný doleva, musíte na začátek vložit & a odřádkovávat \\&:
(a+b)^2=a^2+2ab+b^2
&(a+b)=\\&=a^2+2ab+b^2
Přidal jsem tam i makro \nl, které bude ještě před vykreslením převedeno na \\&, takže předchozí výraz lze zapsat jako:
&(a+b)=\nl=a^2+2ab+b^2
Protože se v tomto nastavení pohybujeme v align prostředí, lze jednoduše vytvářet zarovnané rovnice:
2a&=6\\
a&=3
Pokud je třeba zapsat něco, co nelze zapsat v align prostředí, můžete použít značku pm (z plainmath), která nebude obalena žádným jiným výrazem:
\parstyle\begin{eqnarray*}x&=&1\\2x&=&2\end{eqnarray*}
Můžete si zase kliknout na výraz, do textového pole se nakopíruje text, kterým byl výraz vykreslen. Zkuste to prosím používat a hlásit případné chyby a nedostatky, případně zásadní rozdíly oproti starému mimetexu. Zvolil jsem velikost \dpi{150}, protože je to aktuálně nejčastější volba v anketě.
Offline
↑ Lukee:
Super, hned to někde otestuji.
Myslel jsem, že bys v anketě mohl vzít vážený průměr (nechtěl jsem to zmiňovat dopředu, aby tomu nikdo nepřizpůsoboval hlasování), ale protože jsem hlasoval pro 150, tak mi tvoje vyhodnocení ankety naprosto vyhovuje :-)
Offline
↑ BrozekP:
Vážený průměr mě taky napadl, ale nějak jsem se nakonec rozhodl pro tu nejjednodušší možnost, tj. vzít vítěze. Ale klidně pro vážený průměr budu, stáhne to na 140, což bude blíže 130, pro což jsem nakonec hlasoval :-).
Offline
Přidal jsem ještě makra pro závorky, ať se nemusí psát \left(. Takže nyní se provádí záměny \( → \left(, \[ → \left[, \{ → \left\{ a stejně tak pro \right.
\{\[\(\frac12\)\]\}
Offline
Ještě k podpoře češtiny, Pavel se ptal vedle: ve výchozím nastavení se do hlavičky přidává \usepackage[latin1]{inputenc}. Zkoušel jsem ručně do adresy obrázku přidat různé balíčky, ale s ani jedním se mi nepovedlo dosáhnout správného zobrazování češtiny. Nevím tak ani, jestli by mohla pomoci nová kompilace s jinými parametry — nevím s jakými.
Offline
↑ Lukee:
Teď jsem zkoušel, co by se s tím dalo dělat a narazil jsem na jeden bug – když končí řádek, nevloží se tam mezera. Když dáš editovat tento příspěvek, tak uvidíš kód s řádkováním, jak jsem ho psal.
Edit: Ono to nefunguje ani v mimetexu, to je pro mě docela překvapení, že jsem si toho všiml až teď.
Edit2: Ale vlastně ono není moc důvod odřádkovat, když ještě nekončím řádek.
Offline
↑ BrozekP:
Opravil jsem to. Chvíli jsem se bál, že jsem zase něco blbě upravil při té poslední změně, ale i ve starších zdrojácích, které tady mám, je to špatně a nevykreslí se to správně ani v mimetexu.
Offline
↑ Lukee:
A určitě jsou ty balíky nainstalované?
Není problém v tom, že když voláme třeba \usepackage[utf8]{inputenc}, tak se volá i původní \usepackage[latin1]{inputenc} a to naše volání se úplně ignoruje?
Nedalo by se to volání \usepackage[latin1]{inputenc} v nějakém souboru co byl k mathtexu upravit na něco jiného?
Offline
↑ BrozekP:
> A určitě jsou ty balíky nainstalované?
To nevím. Když normálně píšu v latexu, tak se to automaticky doinstaluje, nevím jak se to chová při tomto použití. Přímo z Mathtexu to asi nezjistíme, i když zkusím \usepackage{uplnynesmysl}, tak to nevyhodí žádnou chybu. Ale při použití \usepackage{czech} to už chybu vyhazuje, nevím co z toho soudit. Asi bych musel napsat podpoře.
> Není problém v tom, že když voláme třeba \usepackage[utf8]{inputenc}, tak se volá i původní \usepackage[latin1]{inputenc} a to naše volání se úplně ignoruje?
To \usepackage[latin1]{inputenc} tam docela určitě zůstane, pochybuji, že to zkoumá, jestli tam nepřidáváme nějakou jinou definici kódování. Já spíš doufal v to, že se má definice vloží za tuto a přebije ji. Ale ono mi to přebití pořádně nefunguje ani doma, co jsem to teď zkoušel.
> Nedalo by se to volání \usepackage[latin1]{inputenc} v nějakém souboru co byl k mathtexu upravit na něco jiného?
To taky nevím, neinstaloval jsem to. Z manuálu spíš vyplývá, že to tam je napevno. A pokud správně chápu tento příkaz, tak můžeme pouze přidávat další příkazy do hlavičky, ne ji celou měnit. Asi není nikde nějaká kostra ve formě editovatelného souboru, jinak by se nedělaly šaškárny s tím –DUSEPACKAGE.
Offline
↑ Lukee:
Díval jsem se na to teď, u Forkoshe se dá stáhnout zip soubor se zdrojovým kódem v c. Tam je přímo řádek
"\\usepackage[latin1]{inputenc}\n"
To se pod linuxem přeloží podle pokynů v readme do .cgi. Při kompilaci se právě dají přidávat nějaké přepínače, na jeden z nich odkazuješ.
Edit:
Jenže to by právě chtělo mít tu možnost si to na serveru sám zkompilovat, což, jestli dobře chápu, nemáme. Ani si to nemůžu na svém počítači odzkoušet, protože linux nemám a virtuální pc se mi vytvářet kvůli tomu nechce.
Offline
↑ BrozekP:
Tak to asi bude problém, protože současná verze je instalovaná z balíčkového systému, kde ten kód (IMHO) měnit nejde. Přímo kompilaci ze zdrojáků odmítli provést, kvůli nějakým dodatečným závislostem, které by mohly způsobit strašlivou a neodvratnou katastrofu. Můžu maximálně zjistit, jestli jsou na serveru nainstalované požadované balíčky. Jen nevím, jestli to pomůže, nedaří se mi doma přeložit ani toto:
\documentclass[12pt]{article} \usepackage[latin1]{inputenc} \usepackage[utf8]{inputenc} \begin{document} test \end{document}
Offline
↑ Lukee:
Tak to asi vážně máme smůlu. Co jsem hledal na internetu, tak kódování vstupu se mění právě pomocí balíku inputenc, nikde jsem nic jiného neviděl. A pokud ho nedokážeme načíst znovu s jinou volbou kódování než latin1, tak nám nějaké další balíky jako babel a czech jsou asi k ničemu.
Offline
↑ Lukee:
Když už je kódování latin1 pevně dané, tak jsem se pokoušel alespoň nastavil, aby text, který mathtex.cgi dostane, v něm byl skutečně kódovaný. Převedl jsem tedy text z windows-1250 na latin 1. Ve funkci toPlainMathtex je teď místo „$latex“ toto:
iconv("windows-1250","latin1//TRANSLIT",$latex)
Doma mi to funguje, ale tady ne. Nevíš, čím by to mohlo být? Příklad:
„příliš žluťoučký kůň úpěl ďábelské ódy a PŘÍLIŠ ŽLUŤOUČKÝ KŮŇ ÚPĚL ĎÁBELKÉ ÓDY“ se tady zobrazí takto:
Když si stejný kód vložím do příspěvku na své verzi fóra, co mám na počítači, tak se vygeneruje správný odkaz na obrázek:
Není mi tedy jasné, v jaké chvíli se tam ty otazníky vezmou. Budu to teď zkoumat, ale kdybys měl nápad, tak napiš.
Edit: Poznatek: Naprosto stejný text příspěvku v databázi dává zde špatný odkaz, na mém pc správný.
Edit2: Zdá se, že rozdíl je ve funkci iconv, na pc mi zvládá nahrazovat č->c a podobně, tady to nezvládá a dává tam otazník.
Offline
Tak už to funguje. V textovém módu se nahrazuje správně, v matematickém na diakritice kolabuje, ale kdo by cpal diakritiku do matematického módu, nenapadá mě případ, kdy by to bylo potřeba.
Takže kde to jde a je to vhodné, tam diakritiku používejte. Jestli se někdy v budoucnu podaří změnit kódování, tak se pak budou vaše příspěvky zobrazovat správně s diakritikou.
Offline
Ještě mě napadlo toto řešení: Není náhodou někde v konfiguraci LaTeXu možné nastavit balíky, které se mají automaticky nahrát? Nebo něco podobného na ten způsob, třeba kód, který se vloží na začátek každého překládaného dokumentu. Aby ve chvíli, kdy se bude mathtex.cgi snažit nahrát balík inputenc s volbou latin1, byl už balík inputenc nahraný s naší volbou kódování.
Co jsem zatím hledal, tak jsem nepřišel na to, že by taková možnost byla.
Offline
Nebo (ďábelský) nápad: inputenc asi nahrává informace o kódování ze souborů latin1.def, resp. cp-1250.def. Co kdybychom jim změnili názvy? :-). Lukee, mohl bys takovou změnu na serveru udělat resp. pokud ne, myslíš, že by ji pro nás byl ochoten hosting udělat? Jedná se jen o kódování, to snad nemůže nic poškodit…
Zkusím ještě na svém pc, jestli by taková změna pomohla nebo je to komplikovanější.
Offline
↑ BrozekP:
Co bych pro náš rodný jazyk neudělal :-). Jestli ti to půjde, tak jim napíšu.
Offline