четвер, 31 грудня 2009 р.

Формули в HTML


У цьо­му ро­ці ми­ну­ло 20 ро­ків з то­го ча­су, як ви­йшла тре­тя вер­сія TeX. З то­го ча­су ця сис­те­ма фак­тич­но не змі­ню­ва­ла­ся — тіль­ки ви­прав­ля­ли­ся по­мил­ки, на­бли­жу­ю­чи вер­сію до чис­ла π. По­при свій со­лід­ний вік, TeX до­сі дає ко­рис­ту­ва­че­ві кра­щий ін­с­т­ру­мен­та­рій для ро­бо­ти з тек­с­том ніж HTML ра­зом із JavaScript! Я не пе­ре­с­таю ди­ву­ва­ти­ся то­му, що всі роз­ши­рен­ня HTML сто­су­ю­ть­ся чо­го зав­год­но — ме­дія, форм, сти­лів — тіль­ки не тек­с­ту! І як­що від­не­дав­на ста­ло мож­ли­вим встав­ля­ти сло­ва з пе­ре­но­са­ми в HTML, то фор­му­ли й до­сі встав­ля­ють ста­рим ді­дів­сь­ким спо­со­бом — кар­тин­ка­ми...

Для встав­ки кар­ти­нок фор­мул є два спо­со­би: збе­рі­га­ти від­по­від­ні кар­тин­ки і встав­ля­ти їх вруч­ну, або ж за­пи­ту­ва­ти їх ди­на­міч­но за до­по­м­о­гою JavaScript. У пер­шо­му ви­пад­ку мож­на бу­ти аб­со­лют­но впев­не­ним, що піс­ля -на­д­ця­тої фор­му­ли вам це ос­т­огид­не. У дру­го­му втра­ча­ю­ть­ся усі пе­ре­ва­ги про­с­т­о­го тек­с­ту — фор­му­лу не мож­на пе­ре­да­ти на ка­нал RSS то­що. Я вже не ка­жу про за­леж­ність від сер­ве­ра, де ці кар­тин­ки збе­рі­га­ю­ть­ся, або ге­не­ру­ю­ть­ся. Осо­бис­то я не­од­но­ра­зо­во ба­чив до­ку­мен­ти HTML з фор­му­ла­ми, за­мість яких ли­ши­ли­ся тіль­ки по­рож­ні ква­д­ра­ти­ки, ос­кіль­ки кар­тин­ки біль­ше не за­ван­та­жу­ю­ть­ся...

Нор­маль­ні огля­да­чі за­раз під­три­му­ють фор­мат MathML, але він до­сі не є ча­с­ти­ною стан­дар­ту HTML (що бу­ло б най­кра­щим ва­рі­ан­том) і то­му вми­ка­є­ть­ся якось хит­ро­му­д­ро на­віть там, де йо­го ре­а­лі­зо­ва­но. Але від та­кої ре­а­лі­за­ції ко­рис­ті ма­ло: йо­го, зно­ву ж та­ки, не­мож­ли­во пе­ре­да­ти на ка­нал і, до то­го ж, не мож­ли­во ско­пі­ю­ва­ти у WYSIWYG ре­дак­тор для HTML.

Для то­го, щоб HTML пе­ре­с­тав га­ль­му­ва­ти роз­ви­ток на­у­ко­вої бло­ґо­сфе­ри, по-мо­є­му, жит­тє­во не­об­хід­но да­ти ра­ду з фор­му­ла­ми. Google ме­не тут зно­ву роз­ча­ру­вав — во­ни теж ви­рі­ши­ли не мо­ро­чи­ти­ся і встав­ля­ти кар­тин­ки! Але я вва­жаю, що сучас­ний стан­дарт HTML зі сти­ля­ми дозво­ляє пов­но­цін­но від­об­ра­жа­ти всі фор­му­ли за до­по­м­о­гою чис­т­о­го HTML+CSS. Для цьо­го я по­чав пи­са­ти кон­вер­тер, але, на жаль, не маю до­стат­ньо ві­ль­н­о­го ча­су, а го­лов­не — не знаю HTML на та­ко­му рів­ні, щоб зро­би­ти від­об­ра­жен­ня фор­мул кра­си­вим і пов­ніс­тю не­за­леж­ним від огля­да­ча Internet Explorer.

Схо­же, що но­вий проєкт MathJax роз­в'я­зує цю про­б­ле­му кра­ще. Фор­му­ли від­об­ра­жу­ю­ть­ся май­же так са­мо, як у TeX, при­чо­му в усіх огля­да­чах. На жаль, за­раз все ре­а­лі­зо­ва­но че­рез кла­си, а от­же, при ко­пі­ю­ван­ні фор­му­ли ку­дись, де ці кла­си не­відо­мі, на­при­клад у GMail або в ка­нал, фор­ма­ту­ван­ня ав­то­ма­тич­но по­ру­шу­є­ть­ся. Спо­ді­ва­ю­ся, во­ни не­за­ба­ром про це здога­да­ю­ть­ся, і зроб­лять так, як у ме­не — з мож­ли­віс­тю ко­пі­ю­ва­ти і ре­да­гу­ва­ти фор­му­ли в будь-яко­му ре­дак­то­рі. Мій кон­вер­тер по­ки що на ду­же ран­ній ста­дії і ба­га­то чо­го там не­ма, про­те про­с­ті фор­му­ли ви­гля­да­ють, по-мо­є­му, ціл­ком при­стой­но.

8 коментарів:

  1. Виникла проблема з введенням назв робіт, які містять формули (знаки корінь, сума...), у репозитарій. Чи не знаєш часом - є якісь універсальні правила запису формул і раптом зокрема для репозитаріїв? (як приміром заносять тут)

    ВідповістиВидалити
  2. Ну, так і за­но­сять, на­скіль­ки я знаю. Зі встав­кою у ви­гля­ді фор­мул TeX.

    ВідповістиВидалити
  3. Дякую за відповідь.

    1. А для чого використовують "$" у попередньому прикладі?

    2. Тобто, можна цю таблицю спокійно використовувати?

    3. З області фантастики, але часом на траплялось якогось "регламентуючого документу" щодо цього?

    ВідповістиВидалити
  4. 1. Ко­ли встав­ля­ють фор­му­лу в TeX, її об­гор­та­ють сим­во­ла­ми $. Це озна­ка то­го, що це фор­му­ла і її тре­ба транс­лю­ва­ти в ма­те­ма­тич­но­му ре­жи­мі.

    2. Так.

    3. Чо­го не знаю, то­го не знаю. :)

    ВідповістиВидалити
  5. А можливо ще знаєш, як записати формули органічної хімії?

    ВідповістиВидалити
  6. Питання знімається. Їх можна ж записати по різному.

    ВідповістиВидалити
  7. http://alexeev.org/gmailtex.html - щодо формул у Gmail. Є такий додаток, працює на разі не дуже добре, але ідея, на мою думку, хороша.

    ВідповістиВидалити
  8. Я про цей до­да­ток знаю, але він теж встав­ляє кар­тин­ки за­мість фор­мул.

    ВідповістиВидалити

Hy-phen-a-tion