Писал сегодня некоторое “пояснение” к написанному мной куску программы. Пришлось немного “разъяснить” примененную в программе аппроксимацию, для чего в ворде (!), пусть даже 2007-м, была с трудом напечатана такая формула:
Для того, чтобы напечатать эту формулу, мне понадобилось пять (!) минут – в основном ушедших на тыканье мышкой в панельку с “компонентами” формулы. Посчитайте, сколько времени займет печать такой строчки в TeX:
$$B = B_{11} \frac{x-x_2}{x_1-x_2} \frac{y-y_2}{y_1-y_2} + B_{21} \frac{x-x_2}{x_1-x_2} \frac{y-y_1}{y_2-y_1} + B_{12} \frac{x-x_1}{x_2-x_1} \frac{y-y_2}{y_1-y_2} + B_{22} \frac{x-x_1}{x_2-x_1} \frac{y-y_1}{y_2-y_1}$$
А теперь давайте обозначим дроби \frac{x-x_2}{x_1-x_2} и \frac{y-y_2}{y_1-y_2}, например, греческими буквами хи и кси. В TeX-е:
$$B = B_{11} \chi \xi + B_{21} \chi (1 - \xi) + B_{12} (1 - \chi) \xi + B_{22} (1 - \chi) (1 - \xi)$$
В ворде… В ворде предстоит долгое тыканье в меню вставки символа. Почему-то из всего греческого алфавита в “быстром доступе” находится 13 букв. Хорошо хоть, что тэта и эпсилон – в двух начертаниях. Выбор букв меня тоже удивляет.
В общем, даже это можно стерпеть. Раздражает другое. При перемещении слева направо по формуле типа x-x2 совершенно нелогично перемещается курсор. В общем-то, логика в этом есть, и я, как программист, ее понимаю. Формула просто-напросто разбита на подформулы, примерно так:
При нажатии курсорных клавиш происходит обход этого дерева. Фокус последовательно перемещается от левого x ко всей формуле, затем к “подформуле” из правого x и двойки, затем к правому x, затем к двойке. Если мне хочется нажать Delete, когда курсор стоит перед правым x, то удаляется не правый x, а вся подформула целиком.
Замечу, что если использовать “старые” средства ворда и сделать подчеркивание “шрифтовыми” средствами – subscript и superscript долгое время были в ворде чуть ли не единственными нормальными инструментами для ввода чего-то, похожего на формулы, то курсор будет перемещаться более логично, строго слева направо.
Мораль? Не надо в WYSIWYG-редакторе смешивать программное представление элементов с “графическим”. Вопрос на засыпку: курсор стоит в последней строке таблицы, таблица представлена в памяти одномерным массивом (думаю, все представляют такой “метод” адресации – a[m*N+n]). Куда должен переместиться курсор при нажатии клавиши “вниз”?
Неправильный ответ – какая нам разница, в какой клетке какой строки стоит курсор? Просто инкрементируем индекс активной ячейки, как и в прочих случаях.
Правильный ответ один: никуда не должен перемещаться.
Правильный ответ два: в первую ячейку того же столбца таблицы.
Правильный ответ три: курсор должен переместиться наружу таблицы.
Не знаю, почему разработчики и тестировщики пользовательского интерфейса в Word 2007 не углядели страшной нелогичности в редакторе формул. Еще хуже – если такое поведение было прописано в спецификации. В любом случае, в систему для набора математических текстов Word не превратился.
Конечно, порадовала (наконец-то!) удобная система стилей и заголовков. Из малозаметного пункта на перегруженной опциями панели предыдущих версий Word стили превратились в едва ли не самый заметный элемент на “ленте”. Я всегда подкалывал vanchez, когда тот колупался в майкрософтском редакторе с его слабыми (если не пользоваться пресловутыми стилями) возможностями по созданию всяческих оглавлений, демонстрируя ему замечательные возможности LaTeX. А ведь возможности по созданию “логической” структуры документа были еще в Word 6.0 (кто помнит такую древность?), да и в руководстве Microsoft Press по Word 7.0 были описаны.
Причина незнания народа о том, что Word имеет функции текстового процессора, наверное, в том, что каждое руководство по Word начинается с базовых и необходимых функций, обрастает огромным количеством скриншотов, а затем, где-то на середине, его просто бросают читать. А вот любая книга по LaTeX скриншотов лишена полностью, и почти все успевают дочитать до описания команды \chapter.
Кстати, а кто до сегодняшнего дня знал о возможностях ворда по оформлению содержания? А кто пользовался?
Запись опубликована в блоге Шуры Люберецкого. Вы можете оставлять свои комментарии там, используя свое имя пользователя из ЖЖ (вход по OpenID).