Настройки и внешний вид
Восемь категорий настроек — General, Notebook, Editing, Numbers, Dates & Times, Constants & Units, Styling и About — и все контракты оформления, форматирования и футера.
Настройки Numlex организованы в восемь категорий, выбираемых из компактного ряда плиток «иконка над подписью» в верхней части окна — General, Notebook, Editing, Numbers, Dates & Times, Constants & Units, Styling и About. Notebook находится сразу после General. Каждая страница — это один читаемый столбец сгруппированных строк с нативными переключателями, списками и ползунками; каждое предпочтение хранится локально на вашем Mac и никуда не синхронизируется.
Какая страница за что отвечает
| Категория | Отвечает за |
|---|---|
| General | Язык интерфейса, оформление Auto/Light/Dark, иконка приложения для Dock/App Switcher и конфигурация налога с продаж |
| Notebook | Sheet Behavior, элементы управления Floating Total и настройки блокнота |
| Editing | Помощники операторов и автоматические вставки — всё, что переписывает текст во время набора |
| Numbers | Региональный формат чисел, конвертация при вставке, отображение и копирование ответов |
| Dates & Times | Рабочий календарь (регион праздников, часы в рабочем дне) и пользовательские алиасы часовых поясов |
| Constants & Units | Константы уровня приложения и пользовательские единицы (единая сегментированная поверхность) |
| Styling | Типографика, столбец ответов, цвета синтаксиса, живой предпросмотр |
| About | Идентичность приложения, Check for Updates и расписание автоматических проверок |
Первый запуск
Совершенно новый установочный экземпляр открывается одноразовым calculation bloom: десять реальных вычислений в собственной палитре редактора приложения собираются вокруг иконки приложения и складываются в официальный слоган с единственной кнопкой Get Started. Последовательность проигрывается один раз и останавливается; при включённом Reduce Motion финальный экран просто появляется, сразу доступный, без поэтапной анимации.
Нажатие Get Started записывает первый запуск и монтирует блокнот. Существующие установки никогда не видят bloom. В приложении нет команды Replay — приветственную последовательность нельзя запустить повторно.
General
Интерфейс
| Элемент | Значения | Примечания |
|---|---|---|
| Язык интерфейса | поставляемые языки приложения | Локализует только интерфейс — никогда не меняет числовой формат. |
| Оформление | Auto / Light / Dark | Применяется ко всему приложению сразу. Auto следует за macOS в реальном времени; Light и Dark фиксируют приложение и игнорируют системные изменения. Свежие установки по умолчанию — Auto. |
| Иконка приложения | Dark / Light | Только иконка Dock и App Switcher. Dark (свежий дефолт) — стандартная иконка приложения; Light — альтернативная, поставляемая внутри приложения. Переключение применяется сразу и запоминается; оно никогда не меняет иконку Finder самого приложения или какой-либо документ. |
Налог
Глобальная для приложения конфигурация налога с продаж для финансовых налоговых фраз
(хранится в настройках, никогда не экспортируется в .nlx). Элементы живут в
локализованной группе Tax на странице General; Tax не является отдельной плиткой навигации.
| Элемент | Значения | Примечания |
|---|---|---|
| Регион-пресет | Custom + упакованные пресеты | Задаёт имя налога и ставку один раз при выборе (AU GST 10, GB VAT 20, DE VAT 19, NL VAT 21 и другие). Пресеты несут официальные региональные ставки со сведениями об источнике. У США нет автоматической ставки: его выбор задаёт только имя, оставляет ставку незаданной и требует ручного ввода; ручной 0% разрешён и отличается от «не задано». |
| Имя налога | свободный текст (ограничен) | Принимается налоговыми фразами без учёта регистра: sales tax, VAT и GST всегда зарегистрированы плюс это имя. По умолчанию Sales Tax. |
| Ставка налога | процент, 0…<100 | Используется + VAT, VAT on …, pre-tax price of … и gross price of …. Пусто = автоматический налог отключён; тогда эти фразы падают с точной действенной ошибкой set sales tax in Settings → Tax. |
Каждое изменение применяется сразу, живо пересчитывает листы и никогда не трогает содержимое листа, каретку, выделение или прокрутку. Точные формулы — в Финансы и инвестиции.
Notebook
Notebook — вторая страница настроек, сразу после General. Здесь находятся Sheet Behavior, настройки блокнота и элементы управления Floating Total.
Sheet Behavior
- On launch — выберите Open Last Edited Sheet (по умолчанию) или New Sheet. Решение принимается один раз за процесс; открытие ещё одного окна не создаёт дополнительный лист запуска.
- Use ⌘N for — выберите New Sheet (по умолчанию) или New Window.
- Start sheets with — выберите Regular Line (по умолчанию) или Heading.
- Sort sheets by — выберите Date Edited (по умолчанию), Date Created или Name; сортировка действует только внутри активной папки.
Notebook preferences
- Line numbers (включены по умолчанию) показывает номер рядом с каждой строкой ввода.
- Hide sidebar button when collapsed (выключено по умолчанию) скрывает кнопку панели инструментов при свёрнутой боковой панели; открыть её можно через ⌃⌘S (Control-Command-S) или View → Toggle Sidebar.
- В строке боковой панели дата создания и число строк листа показываются вместе; дата сокращается только если обе подписи не помещаются.
Minimal Mode
Выберите View → Minimal Mode или нажмите ⌘⇧M. Режим действует отдельно для каждого
окна и только в текущем сеансе, изначально выключен в каждом окне и доступен только в готовом
главном окне с фокусом. Он отключён в Settings, во время приветствия/перехода к приложению,
в полноэкранном режиме macOS и во время системного перехода между режимами. Minimal Mode
скрывает только боковую панель и футер Floating Total; inline-строки total и ответы остаются.
Сохранённые настройки боковой панели и Floating Total, содержимое листа и экспорт/печать не меняются.
Editing
Всё здесь меняет текст, который вы набираете, а не вычисленное значение.
Операторы
| Элемент | Эффект |
|---|---|
| Дополнять операторы пробелами | 1+1 становится 1 + 1 |
Заменять * на × | 3*3 становится 3 × 3 |
Заменять обратный апостроф ` на + | 5`5 становится 5 + 5 |
| Использовать QuickOperators | 5p5 → 5 + 5, 5m5 → 5 − 5, 5x5 → 5 × 5, 5d5 → 5 ÷ 5 |
QuickOperators действуют только между двумя цифрами и никогда внутри идентификаторов
(0x1F никогда не переписывается).
Автоматические вставки
| Элемент | Эффект |
|---|---|
| Форматировать числа разделителями тысяч | Группирует числа во время набора (10000 → 10,000). Группировка ответов — отдельная настройка на странице Numbers. |
| Вставлять предыдущий ответ после оператора на новой строке | После нажатия return ввод любого оператора (+ − × ÷) начинает строку, переиспользующую предыдущий ответ как живой токен. |
Numbers
Региональный формат
Регион-пресет меняет то, как числа вводятся, вставляются, группируются и отображаются — и какой разделитель ожидают вызовы функций.
| Формат | Пример | Десятичный | Группировка | Разделитель аргументов функций |
|---|---|---|---|---|
| System | платформа | локаль | локаль | ;, если системный десятичный разделитель — запятая, иначе , |
| North America | 1,234.56 | . | , | , |
| Western Europe | 1.234,56 | , | . | ; |
| Eastern Europe | 1 234,56 | , | NBSP (пробел принимается во вводе) | ; |
Смена региона может переинтерпретировать числа в открытом листе. Numlex предупреждает списком ответов, которые изменятся, и применяет изменение только после подтверждения.
Два независимых переключателя находятся в той же группе: Convert foreign numbers on
paste (превращает вставленное 1,234.56 в локальную форму, не трогая прозу и уже
локальные числа) и Show thousands separator.
Auto-convert single units
Settings → Numbers → Auto-convert single units по умолчанию выключена. Выберите Local units, чтобы подходящее отдельное измерение отображалось в ответе и итогах в локальных метрических, американских или британских единицах. Условия намеренно строгие: строка должна содержать ровно один числовой литерал и одну встроенную физическую единицу. Введённая строка никогда не переписывается.
Явные конвертации, арифметика и курсы, валюты, пользовательские единицы и составные выражения
сохраняют прежнее поведение. Температура (20 C) и расход топлива (8 L/100km) без явной
конвертации вычисляются как обычные числа без единиц и остаются неизменными; по-прежнему
нужна явная конвертация, например 20 C to F.
Отображение ответов
| Элемент | Значения | Эффект |
|---|---|---|
| Округление | 2…10 десятичных знаков | Глобальное округление ответов. Точность вычислений никогда не меняется — только отображаемое и копируемое значение. |
| Компактные большие числа | вкл./выкл. | 100000 отображается как 100k; копируемые значения сохраняют полную точность. |
| Default answer format → Notation | Automatic, Decimal, Scientific, Engineering, Fraction, Timespan, Custom | Как числовые ответы отображаются и копируются. Timespan применяется только к величинам размерности времени; всё остальное падает в Automatic. |
| Знаменатель дроби | ограничен | Наибольший знаменатель, который может использовать приближение дробью. |
| Отрицательные числа | минус-префикс, скобки, минус в конце | Стиль отображения отрицательных результатов. |
| Символ валюты | до/до с пробелом/после/после с пробелом | Где стоит символ валюты. |
| Пользовательский формат | числовой скелет | Локаль-нейтральный паттерн вроде #,##0.00, до 96 символов. |
Automatic показывает обычное или компактное значение с научным fallback на очень
больших magnitudes (|v| ≥ 1e16) и сам по себе никогда не переключается на инженерную
нотацию. Неверный пользовательский паттерн всё равно сохраняется и редактируется, но
никогда не доходит до рендеринга: такие ответы падают обратно в Automatic, пока его не
исправят.
Полная грамматика паттернов, четыре региона и правила вставки описаны в
Форматы чисел и отображение результатов; нотация Timespan —
в Даты и время.
Форматирование — только отображение
Переключение нотации, округление ответа или смена стиля валюты никогда не меняет значение, полезную нагрузку токена, зависимость или итог. Меняется только отрисованный и скопированный текст.
Dates & Times
Категория Dates & Times владеет глобальными для приложения временными предпочтениями, разделёнными на две группы.
Work calendar — селектор Holiday region (Automatic = системный регион активного числового контекста, плюс 25 поддерживаемых профилей стран ISO) и степпер Hours per workday (ограничен 1…24, по умолчанию 8). Рабочие дни — понедельник–пятница минус государственные праздники региона; неподдерживаемый регион или год вне покрытия заставляет датированный запрос рабочих дней падать строго, а не молча игнорировать праздники. Упакованные профили праздников охватывают 25 стран на 2019–2035 годы и работают офлайн.
Custom timezones — до 100 строк, каждая с пользовательским алиасом и
IANA-идентификатором. Каждая строка сообщает живое состояние валидации: пустая,
неполная, неверное имя, дубликат, занято встроенным местом, неизвестный часовой пояс или
активная. Алиасы сопоставляются без учёта регистра и пробелов и никогда не могут украсть
упакованный идентификатор города/страны/IATA/ICAO/IANA или фиксированную аббревиатуру
GMT/UTC. Только активные строки доходят до полосы часовых поясов (time in <alias>).
Весь блок глобален для приложения и никогда не экспортируется в .nlx. См.
Даты и время для временной грамматики и офлайн-каталога часовых поясов.
Constants & units
Settings → Constants — одна сегментированная поверхность с двумя таблицами:
| Раздел | Лимит строк | Значения |
|---|---|---|
| Constants | 100 | Конечный безразмерный скаляр, процент или денежное значение с одним фиатным кодом; может ссылаться на другие константы; зависимости разрешаются независимо от порядка строк. |
| Units | 100 | Кратное существующей единицы (12 feet) или литерал new unit (независимая размерность). |
Каждая строка показывает живой статус — incomplete, invalid name, duplicate, reserved, invalid expression, unknown dependency, cycle, limit reached. Неверные строки остаются видимыми, но неактивными: они не резервируют имя и никогда не используются.
Константы и пользовательские единицы глобальны для приложения. Экспорты листов .nlx
никогда их не встраивают. Правила именования, лимиты и отклонённые значения — в
Пользовательские единицы и константы.
Styling
Типографика
Размер шрифта (непрерывный ползунок) и дизайн шрифта — System Default, Rounded, Serif, Monospaced. Выбранный размер — единственный источник истины для редактора, столбца ответов и предпросмотра, поэтому высота строки и базовая линия остаются согласованными.
Новое в 4.9.3: текст блокнота может использовать любое семейство шрифтов, установленное на вашем Mac.
- Меню Font напрямую перечисляет четыре встроенных дизайна и добавляет подменю Installed Fonts со всеми семействами, о которых сообщает macOS. Названия семейств приходят из macOS и показываются точно так, как их пишет macOS.
- После выбора семейства появляется строка Face для конкретного начертания этого семейства. Её первый пункт, Regular, означает «обычное начертание семейства», а не конкретное имя PostScript; остальные пункты — установленные начертания семейства. При выборе другого семейства снова начинается с Regular.
- Выбор встроенного дизайна очищает пользовательское семейство и начертание — дизайн одновременно является выбором и запасным вариантом.
- Если выбранное семейство сейчас не установлено, сохранённое имя остаётся (поэтому шрифт вернётся после повторной установки) и помечается как Unavailable в настройках, а текст блокнота использует выбранный встроенный дизайн. Ничего не перезаписывается и ничего не ломается.
- Выбор глобальный для приложения: он хранится в настройках (никогда не по
листам и никогда в файле
.nlx) и применяется к редактору, столбцу ответов (включая строки-итоги и значение в футере), живой Preview и шрифту Notebook в диалоге экспорта, который его наследует. Явно выбранные в диалоге экспорта семейство и начертание действуют только в текущем сеансе. - Высота строки остаётся
fontSize × 1.6для четырёх встроенных дизайнов. Шрифт с более высокими естественными метриками увеличивает её автоматически (наибольшая из метрик regular/semibold/heavy плюс 4 pt), поэтому глифы никогда не обрезаются; одно и то же значение используется в редакторе, ответах и предпросмотре. - Смена типографики пересчитывает разметку и метрики строк на месте. Она никогда не заменяет ваш текст и не затрагивает содержимое листа, идентификаторы строк, токены, каретку, выделение, помеченный текст, фокус, прокрутку или вычисленные значения — а изменения только цветов по-прежнему перерисовываются без пересчёта разметки.
Столбец ответов
| Элемент | Значения | Эффект |
|---|---|---|
| Ширина | 140–400 pt (по умолчанию 200) | Ширина столбца как точный ползунок. То же значение можно задать перетаскиванием тонкого разделителя между редактором и ответами: влево столбец растёт, вправо — уменьшается. |
| Выравнивание | Leading / Trailing | Где ответы располагаются внутри столбца ответов (настраиваемая ширина). |
| Фон | Neutral / Sand / Slate / Sage / Blush | Цвет поверхности столбца. Текст ответа остаётся высококонтрастным при любом выборе. |
Ширина — это только представление: она хранится глобально для приложения в хранилище
настроек (никогда не на лист и никогда в .nlx-файл), и её изменение никогда не затрагивает
содержимое листа, значения, токены, каретку, выделение, прокрутку или редактор. Перетаскивание
обновляет столбец на лету и сохраняется ровно один раз при отпускании. В окне, где не помещаются
минимум 280 pt редактора и выбранная ширина, столбец ужимается до остающегося места, так что
раскладка всегда остаётся безопасной.
Цвета синтаксиса
Восемь ролей можно стилизовать независимо — Numbers, Operators, Variables, Units, Specifiers, Headings, Comments и Labels.
Каждая роль предлагает пресеты-образцы (Standard Text, Cyan, Green, Pink Purple, Blue, Money Purple), Custom-цвет, выбираемый системным выбором цвета, и Default, который восстанавливает заводской пресет этой роли, не трогая другие роли.
Reset Syntax Colors восстанавливает все восемь ролей сразу; настройки шрифта и столбца ответов сохраняются. Живой блок Preview отображает текущие цвета ролей по мере их изменения.
Цвет денежных маркеров, цвет токенов ответов и цвет каретки намеренно фиксированы — они не входят в набор ролей.
About
Страница About — это идентичность приложения и его центр обновлений:
| Элемент | Поведение |
|---|---|
| Идентичность | Центрированный блок с текущей иконкой приложения (следующей за выбранной иконкой Dark/Light в реальном времени), именем «Numlex» и локализованной версией, читаемой из бандла во время выполнения. |
| Документация | Нативная ссылка на https://numlex.tech/docs/. |
| GitHub | Нативная ссылка на https://github.com/Qulierm/Numlex. |
| Check for Updates… | Немедленно запускает проверку (то же действие, что Numlex → Check for Updates…). Отключена, пока проверка уже идёт. |
| Автоматически проверять обновления | Нативный переключатель над собственным сохранённым предпочтением Sparkle; расписание следует умолчаниям Sparkle (примерно каждые 24 часа, со своим запросом согласия). Numlex никогда не форсирует проверку при запуске. |
Проверки читают HTTPS-фид по https://numlex.tech/appcast.xml, а загруженный релиз
обязан нести действительную подпись EdDSA, которая проверяется до распаковки архива.
Если в сборке нет упакованных метаданных обновления (например, при запуске для
разработки), группа сообщает об этом и остаётся отключённой вместо падения.
Флаг автоматической проверки не является частью
хранилища настроек Numlex и не попадает в .nlx.
Обновление со старой версии: 4.8.0 был первым релизом с обновлятором, а 4.9.6 — текущий релиз. Пользователи на 4.7.0 или более ранней устанавливают текущий релиз вручную один раз; начиная с 4.8.0 обновления приходят внутри приложения, и актуальная сборка сообщает «up to date».
Контекстное меню ответа
Правый клик (или Control-click) по ответу открывает его нативное меню. Меню существует только для строк, у которых оно есть: тихие строки (пустые, заголовки, пропущенные), сломанные денежные/датовые/функциональные ошибки и строка недоступной погоды вообще не предлагают меню.
| Пункт | Применяется к | Поведение |
|---|---|---|
| Copy Answer | ответам с меню | Копирует точное отображаемое значение. |
| Round (слайдер 0…10 dp) | подходящим числовым ответам (слайдер появляется только там, где округление применимо) | Переокругляет только этот ответ, независимо от глобального округления 2…10. Исходная строка не трогается. |
| Number Format | числовым ответам | Локальная нотация для этого ответа; Default очищает переопределение. |
| Reset Formatting to Defaults | ответам с переопределением | Появляется только при наличии переопределения; очищает его. |
| Convert to Normal Line | строкам подытога/общего итога | Заменяет команду числовым литералом полной точности; именованная форма сохраняет префикс name =. |
| Delete Line | ответам с меню | Удаляет исходную строку этого ответа. |
Меню полностью нативное и следует системному оформлению. Локальное переопределение никогда не меняет значение, токен, ссылающийся на строку (токены рендерятся со своим или глобальным форматом), зависимость или итог — см. Токены ответов и Теги, подытоги и статистика.
Подсветка строк
Подсветка строк не входит в контекстное меню ответа. Она применяется из меню приложения Format → Highlight (None, Yellow, Orange, Green, Blue, Purple, Pink) или из текстового контекстного меню редактора и нацелена на логическую строку каретки (или на каждую выделенную логическую строку) — поэтому заголовки, комментарии и обычная проза тоже могут быть подсвечены.
- Подсветка принадлежит стабильной идентичности строки, а не её позиции, поэтому она следует за строкой при вставке или удалении строк выше.
- Подсветки сохраняются вместе с листом и санируются при загрузке: устаревшая идентичность отбрасывается, а при дубликате побеждает первый валидный цвет.
- Подсветка — только украшение: она никогда не влияет на вычисление, ответы или токены. См. Листы и файлы.
Контракты макета
| Контракт | Значение |
|---|---|
| Ширина столбца ответов | настраиваемая, 140–400 pt (по умолчанию 200 pt); ограничена окном так, что у редактора всегда остаётся не менее 280 pt |
| Жёлоб номеров строк | при видимых номерах: отступ 54 pt (36 pt жёлоб + 18 pt leading); скрыт: 18 pt |
Панель итога против inline total | нижняя панель Total размерностно-агностична и суммирует вычисленную величину каждой обычной скалярной строки-ответа один раз, исключая inline-строки total, чтобы они не считались дважды; inline-строки total — отдельная секционная команда, всегда активная |
| Пузырь нижнего Total | показывает локализованную метку рядом со значением, пока оба помещаются, и сворачивается в пузырь только со значением, когда значение столкнулось бы с меткой — метка, её промежуток и её пространство удаляются, а высота пузыря и зарезервированное место футера никогда не меняются |
До первого появления Numlex восстанавливает сохранённый размер и положение окна, только если оно перекрывает подключённый дисплей минимум на 100 pt в обоих измерениях. Иначе окно запускается в размере 800×600 pt по центру основной видимой области, если оно там помещается; если подходящей основной видимой области нет, SwiftUI размещает окно по центру дисплея по умолчанию. Видимость боковой панели сохраняется отдельно; если в старом хранилище такого параметра нет, панель раскрыта. Решение принимается синхронно; курсы загружаются отдельно, и ни запрос, ни его результат не задерживают и не повторяют размещение окна.
Персистентность
- Каждое предпочтение записывается локально в хранилище настроек приложения; приложение полностью функционально офлайн, и никакая настройка не загружается.
- Данные уровня листа (переопределения отдельных ответов, подсветки строк, содержимое
листа) живут вместе с листом и его экспортом
.nlx. - Константы, пользовательские единицы, временные предпочтения, конфигурация налога,
статистика футера и ширина столбца ответов глобальны для приложения и никогда не
встраиваются в
.nlx.
Статистика футера
Плавающая панель Total настраивается: правый клик по ней открывает выбор Sum,
Average, Count или Median (одно нативное меню с отметкой, локализовано).
Выбор — глобальная для приложения сохраняемая настройка (никогда не часть .nlx), и он
меняет только футер — никогда содержимое листа, каретку, выделение, IME, прокрутку или
редактор. Count показывает точное целое; остальные статистики используют существующее
глобальное представление чисел. Производные агрегатные строки (inline-итоги, подытоги,
общие итоги, агрегаты по тегам, разделители) никогда не входят, а значение по умолчанию
Sum совпадает с прежним Total. Неизвестное значение
падает обратно в Sum. См. Теги, подытоги и статистика.
Нижний колонтитул этой страницы документации указывает источник курсов валют; это не настройка.
Floating Total
На странице Notebook находятся четыре элемента управления Floating Total:
- Show (включён по умолчанию) управляет видимостью в обоих вариантах размещения. Если его
выключить, не будет ни зарезервированного места под футер, ни наложения; inline-строки
totalпродолжат вычисляться и отображаться. - Avoid overlapping answers (включён по умолчанию) резервирует место под ответами для футера. Если его выключить, тот же интерактивный футер накладывается на нижний край области ответов, не занимая место в макете.
- Include referenced lines (включён по умолчанию) учитывает исходную строку каждого токена ответа. Если выключить, исходные строки не входят в статистику, но строки с отображаемым токеном по-прежнему учитываются.
- Include variable declaration lines (включён по умолчанию) учитывает строки объявлений,
например
x = 5; если выключить, учитываются только строки, использующие эти переменные.
Все три переключателя вклада одинаково влияют на Sum, Average, Count и Median, а также на снимки PDF/печати. Они меняют список подходящих строк, а не допустимые типы результатов.
Связанные разделы
- Форматы чисел и отображение результатов — регионы, режимы отображения и грамматика пользовательских паттернов.
- Пользовательские единицы и константы — правила именования, лимиты, циклы и отклонённые значения.
- Даты и время — временная грамматика за категорией Dates & Times.
- Финансы и инвестиции — налоговые фразы, использующие конфигурацию Tax.
- Токены ответов — почему локальное переопределение отображения не путешествует с токеном.
- Листы и файлы — что сохраняется в листе и в экспортах
.nlx.