---
layout: default
lang: ru
ref: users
title: Руководство пользователя MathCAT
---
# <img src="../logo.png" style="position: relative; top: 16px; z-index: -1;" alt="Логотип MathCAT"> Руководство пользователя

## Рекомендации по выбору голоса

В NVDA можно использовать разные синтезаторы речи. Для выбора откройте `Параметры:Настройки...` в NVDA, а затем выберите категорию `Речь`. Обычно доступны как минимум три варианта: eSpeak NG, Microsoft Speech API и голоса Windows OneCore. Все синтезаторы работают, но голоса Windows OneCore неправильно произносят «a», поэтому рекомендуется выбрать другой вариант. В частности, хорошей заменой голосам OneCore служит Microsoft Speech API.

## Информация для пользователей MathCAT

MathCAT поддерживает ряд настроек озвучивания, Брайля и навигации. Они описаны ниже.
Пока поддерживаются не все настройки. Для каждой настройки указано текущее состояние поддержки. Символ ✓ перед настройкой означает, что она поддерживается хотя бы частично.

Примечание: в NVDA настройки задаются в диалоге параметров MathCAT. Чтобы открыть его, перейдите в параметры NVDA, выберите «Параметры», а затем «Настройки MathCAT...». Настройки разделены на три категории: «Речь», «Навигация» и «Брайль». Такое же разделение используется ниже.

MathCAT поддерживает несколько режимов навигации. Способ входа в режим навигации и выхода из него зависит от используемой вспомогательной технологии (подробнее в списке ниже). MathCAT принимает те же команды и сочетания клавиш, что и MathPlayer. Они [перечислены в этом документе](nav-commands.md).
Документация описывает множество полезных способов навигации по математическим выражениям. Чтобы быстро начать работу:

* Используйте клавиши-стрелки для перемещения влево, вправо, вверх и вниз по структуре математического выражения, например для входа в дробь и выхода из неё.
* Внутри таблицы нажимайте Ctrl+стрелка для перемещения по ячейкам.
* Нажимайте Home и End для перехода к началу и концу выражения.
* Нажимайте пробел для озвучивания текущей позиции.
* Нажимайте Shift+стрелка вверх или Shift+стрелка вниз для изменения режима навигации (см. [документацию по навигации](nav-commands.md)).

Чтобы начать навигацию:

* NVDA: нажмите NVDA+Alt+M или пробел для входа в режим навигации по математическому выражению, а для выхода нажмите Escape.

Навигация MathCAT работает одинаково в Word и в браузере.

При навигации по выражению сочетание Ctrl+C в NVDA копирует математическое содержимое текущего узла. Поддерживаются следующие форматы:

* MathML (по умолчанию);
* LaTeX;
* ASCIIMath;
* текст для озвучивания.

## Список настроек

Ниже перечислены настройки. Большинство из них принимают только ограниченный набор значений, который указан в описании.
Значение по умолчанию приведено в \[квадратных скобках\].

### Настройки речи

* ✓Impairment: [Blindness]
  * Значения: Blindness, LowVision, LearningDisability.
  * Описание: определяет, следует ли устранять неоднозначность некоторых обозначений при озвучивании.
  * Состояние: основное внимание уделялось значению Blindness, но другие значения также частично поддерживаются. Эту поддержку необходимо улучшить.

* ✓Language: [en]
  * Значения: любой известный код языка и подкод, например `en-uk`.
    [Список вариантов приведён на этом сайте](https://www.venea.net/web/culture_code).
  * Описание: определяет используемый язык.
    Если региональный вариант не найден среди правил озвучивания, используется основной язык. Если не найдены и правила для основного языка, используется английский язык (`en`).
  * Состояние: сейчас поддерживаются только английский, испанский, финский, индонезийский, шведский, вьетнамский и китайский языки.
    Другие языки будут добавляться с помощью добровольцев.

* ✓SpeechStyle: [ClearSpeak]
  * Значения: любой реализованный стиль речи. Сейчас доступны только ClearSpeak и SimpleSpeak.
  * Описание: стиль речи, то есть согласованный подход к озвучиванию выражения.
    * ClearSpeak был разработан ETS для важных экзаменов, например SAT. [Подробности спецификации ClearSpeak приведены в этом документе Word](../ClearSpeakRulesAndPreferences.docx).
    * SimpleSpeak стремится сократить озвучивание: простые выражения, например $\frac{a}{b}$, читаются быстро, без обрамляющих слов («a over b»). Они отличаются от более сложных выражений, например $\frac{a}{b+1}$, в которых обрамляющие слова используются всегда («fraction a over b plus 1 end fraction»).
  * Состояние: сейчас реализованы только ClearSpeak и SimpleSpeak, но в дальнейшем, вероятно, будет реализован MathSpeak.

* ✓Verbosity: [Medium]  
  * Значения: Terse, Medium, Verbose.
  * Описание: определяет количество дополнительных слов при озвучивании. Например, в подробном режиме квадратный корень читается как «the square root of x», а в кратком — как «square root x».
  * Состояние: настройка поддерживается, но со временем, вероятно, будет дорабатываться.

* ✓MathRate: [100]
  * Значения: число от 1 до 100.
  * Описание: изменяет относительную скорость речи в процентах от стандартной скорости речевого синтезатора. Значение `100` означает, что математические выражения читаются с той же скоростью, что и обычный текст.
    Настройка работает только в реализациях, которые указывают MathCAT создавать разметку речевого синтезатора, например SSML.
  * Состояние: настройка должна работать в NVDA.

* ✓PauseFactor: [50]
  * Значения: число от 0 до 100.
  * Описание: изменяет относительную длительность добавляемых MathCAT пауз. Значение 0 отключает все паузы, а значение 100 увеличивает обычную длительность пауз в десять раз.
    Настройка работает только в реализациях, которые указывают MathCAT создавать разметку речевого синтезатора, например SSML.
  * Состояние: настройка должна работать в NVDA.

* ✓SpeechSound: [None]
  * Значения: None, Beep.
  * Описание: перед чтением выражения и после него воспроизводится звуковой сигнал.
  * Состояние: настройка должна работать в NVDA.

* SubjectArea: [General]
  * Состояние: настройка использовалась в MathPlayer, но пока не реализована. Я жду дальнейшего обсуждения в рабочей группе MathML: возможно, эта настройка будет использоваться для задания разных значений `intent` по умолчанию.

* Chemistry: [SpellOut]
  * Значения: SpellOut, AsCompound, Off.
  * Описание: определяет способ чтения химических формул. Примеры для $\mathrm{H}_2\mathrm{O}$:
    * ✓SpellOut: «H 2 O» (настройка подробности определяет, произносятся ли слова `sub` и `super`);
    * AsCompound: «Water»;
    * ✓Off: «H sub 2 O».
  * Состояние: реализовано множество эвристик для определения того, является ли запись химической формулой. Распознавание химических обозначений не всегда очевидно, поэтому MathCAT иногда может не распознать формулу или по ошибке принять другую запись за химическую. Работа группы MathML может существенно упростить авторам явное указание химических формул.

SpeechOverrides:

* ✓CapitalLetters: "cap"    # слово-префикс для прописных букв, если оно не задано в unicode.yaml; пустая строка передаёт обработку программе экранного доступа
* LeftParen: ""             # переопределение слова
* RightParen: ""            # переопределение слова

ClearSpeak содержит ряд настроек. Они предназначены для авторов, но могут задаваться и пользователями, хотя обычно не слишком им полезны.

* ✓CapitalLetters: Auto, SayCaps или изменение высоты тона
* ✓AbsoluteValue: Auto, AbsEnd, Cardinality, Determinant
* ✓Fraction: Auto, Ordinal, Over, FracOver, General, EndFrac, GeneralEndFrac, OverEndFrac, Per
* ✓Exponent: Auto, Ordinal, OrdinalPower, AfterPower
* ✓Roots: Auto, PosNegSqRoot, RootEnd, PosNegSqRootEnd
* ✓Functions: Auto, None
* ✓Trig: Auto, TrigInverse, ArcTrig
* ✓Log: Auto, LnAsNaturalLog 
* ✓ImpliedTimes: Auto, MoreImpliedTimes, None
* ✓Paren: Auto, Speak, SpeakNestingLevel, Silent, CoordPoint, Interval
* ✓Matrix: Auto, SpeakColNum, SilentColNum, EndMatrix, Vector, EndVector, Combinatorics
* ✓MultiLineLabel: Auto, Case, Constraint, Equation, Line, None, Row, Step 
* ✓MultiLineOverview: Auto, None 
* ✓MultiLinePausesBetweenColumns: Short, Long
* ✓Sets: Auto, woAll, SilentBracket
* ✓MultSymbolX: Auto, By, Cross
* ✓MultSymbolDot: Auto, Dot
* ✓TriangleSymbol: Auto, Delta
* ✓Ellipses: Auto, AndSoOn 
* ✓VerticalLine: Auto, SuchThat, Divides, Given
* ✓SetMemberSymbol: Auto, Belongs, Element, Member
* ✓Prime: Auto, Angle, Length
* ✓CombinationPermutation: Auto, ChoosePermute
* ✓Bar: Auto, Bar, Conjugate, Mean

### Настройки навигации (см. [документацию по навигации](nav-commands.md))

* ✓NavMode: Enhanced — Enhanced, Simple, Character.
* ResetNavMode: false — запоминать и использовать предыдущее значение.
* Overview: false — озвучивать выражение или давать его описание и обзор.
* ResetOverView: true — запоминать и использовать предыдущее значение.
* ✓NavVerbosity: Medium — Terse, Medium, Full (слова для произнесения команды навигации).
* ✓AutoZoomOut: true — автоматически уменьшать детализацию двумерных выражений. Если настройка отключена, для принудительного уменьшения детализации используйте Shift+стрелка.
  * `true`: если вы находитесь у края двумерного выражения, например дроби или надстрочного индекса, и пытаетесь выйти из него влево или вправо, перемещение разрешается, а уровень детализации устанавливается в соответствии с предыдущим или следующим элементом.
  * `false`: перемещение влево или вправо за край двумерного выражения запрещено. Чтобы переместиться, необходимо уменьшить детализацию, возможно несколько раз, пока вы не перестанете находиться у края.
* CopyMathAS: определяет формат копирования математического содержимого текущего узла навигации: MathML, LaTeX, ASCIIMath или текст для озвучивания.


### Настройки Брайля

* ✓BrailleCode: [Nemeth]
  * Значения: любая реализованная система записи Брайля.
  * Описание: используемая система математической записи Брайля.
  * Состояние: сейчас поддерживаются ASCIIMath, ASCIIMath-Finnish, CMU, LaTeX, код Немета, шведская система, UEB и вьетнамская система. Поддержка других систем записи Брайля зависит от помощи новых участников.
* ✓BrailleNavHighlight: [EndPoints]
  * Значения: Off, FirstChar, EndPoints, All.
  * Описание: выделяет выбранный узел навигации точками 7 и 8.
* UEB:
  * ✓START_MODE: [Grade2] 
    * Значения: Grade1, Grade2.
    * Описание: предполагаемый начальный режим UEB. Значение Grade1 означает, что используется режим фрагмента Grade 1.
  * ✓UseSpacesAroundAllOperators: [false]
    * Значения: true/false.
    * Описание: рекомендации UEB предполагают, что в младших классах может быть полезно добавлять пробелы вокруг таких операторов, как `+` и `-`. Обычно пробелы добавляются только вокруг операторов отношений, например `=` и `<`.

Во многих системах записи Брайля можно определять пользовательские символы. MathCAT предоставляет для этого несколько настроек.

В коде Немета определены начертания Bold, Italic, SansSerif и Script, но не определено начертание DoubleStruck (Blackboard Bold).
Здесь можно задать определяемое транскрибатором изменение начертания. По умолчанию DoubleStruck сопоставляется с Italic.

* Nemeth:
  * ✓SansSerif:    "⠠⠨"
  * ✓Bold:         "⠸"
  * ✓DoubleStruck: "⠨"
  * ✓Script:       "⠈"
  * ✓Italic:       "⠨"

В [руководстве UEB по техническим материалам](https://iceb.org/Guidelines_for_Technical_Material_2008-10.pdf) рекомендуется обычно обрабатывать Fraktur и DoubleStruck как Script.
Вместо этого здесь можно задать пользовательский префиксный индикатор начертания.
Примечание: префиксы с первого по пятый: "⠈⠼", "⠘⠼", "⠸⠼", "⠐⠼", "⠨⠼".

* UEB:
  * ✓DoubleStruck: "⠈"     [script]
  * ✓Fraktur:      "⠈"     [script]
  * ✓SansSerif:    "⠈⠼"    [первый определяемый транскрибатором префиксный индикатор начертания]
  * ✓GreekVariant: "⠨"     [по умолчанию Greek]

Набор определяемых символов для вьетнамской системы ещё обсуждается. Вероятно, некоторые значения изменятся.

* Vietnam:
  * ✓UseDropNumbers: [false]
  * Значения: true, false.
  * Описание: опускает цифры на строку ниже в простых числовых дробях.
  * ✓DoubleStruck: "⠈"     [script]
  * ✓Fraktur:      "⠈"     [script]
  * ✓SansSerif:    "⠈⠼"    [первый определяемый транскрибатором префиксный индикатор начертания]
  * ✓GreekVariant: "⠨"     [по умолчанию Greek]

### Другие настройки

MathCAT исправляет некачественный MathML. В MathML числа часто размечаются неправильно. Чтобы исправить их корректно, MathCAT должен знать региональные настройки: символы, которые могут разделять группы цифр, и символы десятичного разделителя. Обычно ассистивная технология задаёт эти параметры на основе кода страны в документе. Но код страны может отсутствовать, и тогда ассистивной технологии приходится определять формат по коду языка.

* DecimalSeparators: "." # [по умолчанию]
* BlockSeparators: ", \u00A0\u202F" # [по умолчанию; включает два варианта неразрывных пробелов]
