| Summary: | изменить схему экранирования символов (latex) | ||
|---|---|---|---|
| Product: | Sisyphus | Reporter: | kirill <kirill> |
| Component: | ALDConvert | Assignee: | Nobody's working on this, feel free to take it <nobody> |
| Status: | CLOSED FIXED | QA Contact: | qa-sisyphus |
| Severity: | normal | ||
| Priority: | P2 | ||
| Version: | unstable | ||
| Hardware: | all | ||
| OS: | Linux | ||
Да, ещё: нужно пока \replace внутри \Sys{} и \Qsys{} запретить, и вообще
ничего там не ставить. Буду ещё над этим думать.
Так, примерно понятно. Непонятно только, что такое "пока запретить"? Выдавать ошибку? (In reply to comment #2) > Так, примерно понятно. Непонятно только, что такое "пока запретить"? Выдавать > ошибку? Вообще я придумал хорошую схему на сейчас: ^text{replacing}text^ -> \Sys{text}\replace{\Sys{replacing}}\Sys{text} Вот так всё будет вообще корректно и без потерь разметки. Сможешь такое устроить? 1. Сделал в alt5. Но: что и как экранировать внутри \Href? Есть ли ещё
какие-нибудь отличные от текста и \Sys контексты экранирования?
2. А нет в m-k одинарного апострофа в качестве символа. Придётся вводить.
Вопрос: как обозначать апостроф, если ' -- это уже ударение?
3. Нет, квотирование должно делаться единственным символом -- \. Так что внутри
просто удваиваешь \, если они встречаются: ^c:\\some\\path^. В результате других
исправлений это работает.
4. Не работает с \QSys. И хорошо ли ты подумал про \protect? Его тоже вставлять
в начало _каждого_ \Sys?
Кстати, \QSys можно реализовать через \Sys (ALDC их считает однотипными, так что
ничего не пострадает), вроде: "blah" -> \QSys{\Sys{blah}}", тогда и
"blah{repl}blah" -> \QSys{\Sys{blah}\replace{\Sys{repl}}\Sys{blah}}. Тогда
требуется переписать latex-стиль. Пока менять не стал.
Это, наверное, можно закрыть как FIXED. Работает с оговорками. (In reply to comment #6) > Работает с оговорками. Оговорки в студию? (In reply to comment #7) > (In reply to comment #6) > > Работает с оговорками. > > Оговорки в студию? #4 |
Поскольку я поменял технологию обработки verbatim в TeXe, а заодно обнаружил некоторые ошибки, нужно менять схему экранирования символов. 1. latex_write: Всюду (в тексте и внутри ^^ и ""): Исх. Экранированный ---- -------------- # \# $ \$ & \& _ \_ % \% { \{ } \} Только в тексте \ \textbackslash{} ^ \textasciicircum{} ~ \textasciitilde{} Только внутри ^^ и "" \ \\ 2. Кроме перечисленного ничего ничего экранировать не нужно. В частности, сейчас есть ошибка со знаком ' (апостроф), и ' и \' в m-k всегда дают \' в LaTeX, а это вовсе не апостроф, а ударение. Текстовый символ ' (не ударение) экранировать не нужно. 3. m-k_read: Определиться с экранированием \ внутри ^^ "" в самом m-k. Пример: ^c:\some\path\^ Один из вариантов -- внутри ^ ... ^ экранировать ^ удвоением (^ some text^^ more^), а не \^, если не ошибаюсь, так делают в reST.