5.9 KiB
Приватные подписи и печати
Настоящие подписи и печати хранятся только в локальной папке .private. Весь каталог исключён из Git, поэтому его можно целиком копировать между рабочими проектами с заменой.
Самый короткий сценарий
- Скопируйте готовую папку
.privateрядом сmain.typ. - В
main.typизмените только один параметр:
#let use-private-assets = true
- Пользуйтесь обычным предпросмотром Tinymist или нажмите
Ctrl+Shift+B.
Чтобы снова получить безопасную сборку без приватных изображений, верните false. При false Typst вообще не пытается открыть .private/settings.typ, поэтому чистый форк работает даже без каталога .private.
Структура папки
.private/
├── settings.typ
├── scientia/
│ ├── sign.png
│ └── stamp.png
├── technology/
│ ├── sign.png
│ └── stamp.png
├── too/
│ ├── sign.png
│ └── stamp.png
└── executors/
├── Musikhin.png
├── Guzeev.png
├── Fedorov.png
└── ...
Необязательно хранить изображения всех компаний и сотрудников. Настройки должны включать только уже существующие PNG.
Настройки изображений
Файл .private/settings.typ выглядит так:
#let settings = (
companies: (
scientia: (signature: true, stamp: true),
technology: (signature: false, stamp: false),
too: (signature: false, stamp: false),
),
signatures: (
musikhin: (enabled: true, offset: 1.25cm),
guzeev: (enabled: true, offset: 1.4cm),
fedorov: (enabled: false, offset: 0.7cm),
),
)
signature— использовать подпись организацииsign.png;stamp— использовать печатьstamp.png;enabled— использовать PNG сотрудника;offset— индивидуальное смещение подписи по вертикали.
Полная безопасная заготовка: examples/private/settings.typ.
Если подпись сотрудника ещё не получена
Укажите enabled: false или совсем не добавляйте сотрудника в settings.signatures. В списке исполнителей сохранятся должность, ФИО, линия и свободное место для ручной подписи. Сборка не будет обращаться к отсутствующему PNG и не завершится ошибкой.
Typst не умеет заранее проверить наличие файла без попытки его открыть. Поэтому enabled: false — явный и надёжный способ обозначить, что подписи пока нет.
Состав исполнителей и роли
Состав конкретного отчёта задаётся в main.typ:
#let executors = (
report-executor("musikhin", role: "Ответственный исполнитель", private-settings: private-settings),
report-executor("guzeev", role: "Ведущий геомеханик", private-settings: private-settings),
report-executor("fedorov", private-settings: private-settings),
)
Чтобы изменить роль сотрудника только в текущем документе, замените текст role. Если role не указан, используется обычная должность из справочника шаблона. Чтобы убрать сотрудника из отчёта, удалите или закомментируйте одну строку.
Справочник сотрудников
| Идентификатор | ФИО | Обычная должность | PNG |
|---|---|---|---|
musikhin |
Мусихин А.С. | Ответственный исполнитель | Musikhin.png |
guzeev |
Гузеев И.А. | Главный геомеханик | Guzeev.png |
fedorov |
Федоров Д.А. | Инженер-геомеханик | Fedorov.png |
ilyasov |
Ильясов Б.Т. | Технический директор, к.т.н. | Ilyasov.png |
khimichev |
Химичев С.С. | Инженер-геомеханик | Khimichev.png |
brusnicin |
Брусницын И.В. | Инженер-геомеханик | Brusnicin.png |
ozornin |
Озорнин Д.А. | Геолог | Ozornin.png |
buhartdinov |
Бухартдинов А.С. | Главный маркшейдер | Buhartdinov.png |
tkachenko |
Ткаченко А.С. | Инженер-геомеханик | Tkachenko.png |
moshin |
Мошин В.Е. | Гидрогеолог | Moshin.png |
mitrokhin |
Митрохин В.А. | Главный гидрогеолог | Mitrikhin.png |
luzina |
Лузина М.В. | Геолог | Luzina.png |
Справочник находится внутри .template и синхронизируется через Git. Он не содержит самих подписей или приватных настроек смещения.
Что попадает в Git
.gitignore исключает каталог .private/ целиком, включая settings.typ. Перед Push всё равно посмотрите список Source Control: настоящих PNG там быть не должно.