1

Unicode предоставляет достойный набор символов для научных целей. У вас есть такие вещи, как заостренные скобки, обычно используемые в квантовой механике и статистической физике (| ψ⟩, ⟨T⟩), символы для часто используемых констант (ℏ), даже такие мысли, как надстрочные и индексные числа, парантез и буквы (χ⁽²⁾ ).

Я всегда немного сбит с толку, хотя непоследовательность последнего. Посмотрев, например, на Википедию, вы заметите, что большое подмножество латинского алфавита доступно как подписка, но не все. Хотя я понимаю, почему люди могут не захотеть помещать почти все символы из всех алфавитов в юникод в качестве супер- и индексной версии, но мне действительно интересно, почему латинский алфавит был включен наполовину только для нижнего индекса и еще меньше - для верхнего.

Есть ли какие-либо причины этого или это фактическое упущение?

PS: я боюсь, что этот вопрос может не подходить суперпользователю, но я не мог придумать более подходящий сайт для обмена стеками.

PPS: Я пишу такие символы, используя метод ввода Emacs "TeX" и, альтернативно, скрипт Autohotkey, сгенерированный из его таблицы символов.

1 ответ1

1

Юникод является стандартом для кодирования простого текста. Таким образом, любой символ, используемый в математических текстах, является кандидатом для кодирования в качестве символа Unicode, и было закодировано очень большое количество таких символов. Процесс продолжается, и новые персонажи будут добавлены, если они действительно были приняты пользователем.

Суперскрипты и подписка как таковые представляют собой не простой текст, а «форматированный текст», как курсив, жирный шрифт, определенные шрифты, цвета, фоны, границы и анимированные буквы. Верхний индекс «2» по-прежнему является символом «2», просто в поднятом положении и обычно в меньшем размере. С этой точки зрения мы могли бы сказать, что верхние индексы и индексы вообще не нужно кодировать. Можно использовать обычные символы, а также устройства за пределами обычного текстового уровня или «протоколы более высокого уровня», такие как команды в текстовом процессоре, настройки стиля, разметку HTML или MathML и т.д.

Таким образом, вопрос заключается в том, почему верхние индексы и индексы вообще были включены в Unicode, а не почему они не составляют единый набор. Одна из причин заключается в том, что другие коды символов имеют символы верхнего и нижнего индексов. Юникод должен включать их. Другая причина приведена в примечании Unicode в XML и других языках разметки: «Супер- и подписанные буквы и цифры довольно распространены в некоторых формах фонетической или фонематической транскрипции, где использование стилей неудобно и приводит к проблемам целостности данных при экспорте. в простой текст. В частности, для надстрочных или подписных букв в фонетической транскрипции изменение от верхнего индекса нижнего индекса к обычному стилю изменило бы значение. Обратите внимание, что такое использование в транскрипции не ограничивается буквами: надстрочные маленькие цифры часто используются для обозначения тона. При использовании для этих целей эти символы должны быть сохранены, а разметка не должна использоваться ».

Однако добавление надстрочной и подстрочной версии любого символа будет означать добавление около 200 000 символов. Затем кто-то захочет иметь курсив и полужирную версию любого символа и т.д., И у нас не хватит места для кодирования. До этого у типографов случались нервные срывы: они действительно не хотят создавать глифы для таких персонажей (большинство из которых никогда не будет использовано).

Вот почему цитируемый документ добавляет: «При использовании в математическом контексте (MathML) рекомендуется последовательно использовать разметку стилей для верхних и нижних индексов. Это связано с тем, что математическая раскладка позволяет не только отдельным символам, но и целым выражениям быть надстрочными или подписными обычным, вложенным способом ».

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .