[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Программирование научных программ на C.



On 2014-01-30, Dmitrii Kashin wrote:

> Так как стандарт C99 не поддерживает юникода в качестве имён, я подумал,
> что возможно можно использовать LaTeX только для отображения в редакторе
> (в моём случае Emacs), а перед компиляцией прогонять программу через
> дополнительный парсер, заменяющий LaTeX на имена, соответствующие
> стандарту C99.
>
> Впрочем, я так и не нашёл minor-режима для отображения формул в окне
> Emacs. auctex и preview-latex лишь модифицируют поведение latex-mode, а
> я бы хотел видеть формулы в c-mode.
>
> О LaTeX речь неспроста. Можно, конечно, использовать близкую
> транслитерацию, и заменить \rho_l на r_l, однако вопрос актуален ещё и в
> том плане, что для научных программ разумно было бы использовать LaTeX
> для написания *комментариев*, поясняющих работу кода.
>
> Собственно, я хочу узнать, озадачивался ли кто-нибудь вопросом написания
> программ с использованием в них LaTeX или хотя бы греческих букв?

Что имею для Lisp кода:

;; http://www.emacswiki.org/emacs/PrettyLambda
(font-lock-add-keywords
 'emacs-lisp-mode
 `(
   ("(\\<\\(lambda\\)\\>"
    (1 (progn (compose-region (match-beginning 1) (match-end 1) ,(make-char 'greek-iso8859-7 107)) font-lock-keyword-face))
    )
   ))

Теперь в Лиспе я не вижу слова lambda - я вижу греческий символ λ.

Некоторые любители переопределяют для JS function на 𝑓 (MATHEMATICAL ITALIC
SMALL F).

Поискать символы можно по названию прямо из Emacs: C-x 8 RET TAB.

Заведите себе на alpha, beta, gamma, ... nabla, etc - алиасы и пишите
математический код. Особенно удачно будет, если в команде все используют
Emacs - можно выработать соглашения по именованию.

Я полагаю что покопавшись в Auctex можно написать код, который из beta_2
сделает греческую β и 2 как subscript. Я думаю в help-gnu-emacs@gnu.org
вероятно получить ответ в виде готового кусочка кода...

Самое главное во всем этом - поиск по коду и все другие тектовые операции
работают правильно, просто мы вклиниваемся в логику сопоставления соответствия
между текстом и глифами для отображения.

-- 
Best regards!


Reply to: