|
Гм... Пожарный выход из положения я нашёл. Добавляем в свою преамбулу
(собственно, преамбулу LyX можно увидеть только экспортировав файл
.lyx в файл .tex) ту же LyX-овскую декларацию в изменённом виде:
\DeclareRobustCommand{\lyxmathsym}[1]{\ifmmode\begingroup\def\b@ld{bold}
\def\rmorbf##1{\ifx\math@version\b@ld\textbf{##1}\else\textsl{##1}\fi}
\mathchoice{\hbox{\rmorbf{#1}}}{\hbox{\rmorbf{#1}}}
{\hbox{\smaller[2]\rmorbf{#1}}}{\hbox{\smaller[3]\rmorbf{#1}}}
\endgroup\else#1\fi}
--- во второй строке вместо \textrm пишем \textsl или \textit. Всё
работает, но как-то длинно и не шибко корректно (например, написано
"\b@ld{bold}", а мы суём туда \textsl).
2009/3/8, regonly.noreply <CyrTeX-ru@vsu.ru>:
> Здравствуйте!
>
> У меня тут возникла проблема, сегодня обнаружил причину. Дело в том,
> что я никак не мог задать, чтобы русские буквы в формулах было
> курсивными или наклонными. Решение известное, но
>
> \DeclareSymbolFont{T2Aletters}{T2A}{cmr}{m}{it} % Делаем русские буквы
> в формулах курсивными
>
> у меня НЕ РАБОТАЕТ! Я ломал-ломал голову, наконец заподозрил, что
> виноват редактор LyX. Сделал простой TeX-файл и скомпилировал его в
> TeXnicCtnter --- всё работает. А LyX добавляет в преамбулу следующее:
>
> %% LyX 1.6.1 created this file. For more info, see http://www.lyx.org/.
> %% Do not edit unless you really know what you are doing.
> \documentclass[11pt,book]{ncc}
> \usepackage[]{fontenc}
> \usepackage[cp1251]{inputenc}
> \setcounter{secnumdepth}{3}
> \setcounter{tocdepth}{3}
> \usepackage{color}
> \usepackage{array}
> \usepackage{varioref}
> \usepackage{prettyref}
> \usepackage{units}
> \usepackage{textcomp}
> \usepackage{bm}
> \usepackage{relsize}
> \usepackage{amsmath}
> \usepackage{amssymb}
> \usepackage{esint}
>
> \makeatletter
>
> %%%%%%%%%%%%%%%%%%%%%%%%%%%%%% LyX specific LaTeX commands.
>
> \newcommand*\LyXbar{\rule[0.585ex]{1.2em}{0.25pt}}
> \providecommand{\LyX}{L\kern-.1667em\lower.25em\hbox{Y}\kern-.125emX\@}
> \newcommand{\lyxline}[1][1pt]{%
> \par\noindent%
> \rule[.5ex]{\linewidth}{#1}\par}
> \DeclareRobustCommand{\cyrtext}{%
> \fontencoding{T2A}\selectfont\def\encodingdefault{T2A}}
> \DeclareRobustCommand{\textcyr}[1]{\leavevmode{\cyrtext #1}}
> \AtBeginDocument{\DeclareFontEncoding{T2A}{}{}}
>
> \DeclareRobustCommand{\lyxmathsym}[1]{\ifmmode\begingroup\def\b@ld{bold}
> \def\rmorbf##1{\ifx\math@version\b@ld\textbf{##1}\else\textrm{##1}\fi}
> \mathchoice{\hbox{\rmorbf{#1}}}{\hbox{\rmorbf{#1}}}
> {\hbox{\smaller[2]\rmorbf{#1}}}{\hbox{\smaller[3]\rmorbf{#1}}}
> \endgroup\else#1\fi}
>
> %% Because html converters don't know tabularnewline
> \providecommand{\tabularnewline}{\\}
>
> %%%%%%%%%%%%%%%%%%%%%%%%%%%%%% User specified LaTeX commands.
>
> тут пошла моя преамбула:
>
> % -------------------------------------------------------------------------
> %
> % Н А С Т Р О Й К И Я З Ы К А И К О Д И Р О В К И %
> % -------------------------------------------------------------------------
> %
> \usepackage{cmap} % Поддержка поиска русских слов в PDF (pdflatex),
> ЗАГРУЖАТЬ САМЫМ ПЕРВЫМ!
>
> \usepackage{mathtext} % Поддержка кириллицы в математическом режиме.
> ЗАГРУЖАТЬ ДО fontenc
> \usepackage{amssymb,amsmath} %
> \usepackage{nccmath} % расширяет пакет amsmath
>
> \usepackage[X2,T2A]{fontenc}
> \usepackage[cp1251]{inputenc}
> \DeclareSymbolFont{T2Aletters}{T2A}{cmr}{m}{it} % Делаем русские буквы
> в формулах курсивными
> \usepackage[english,russian]{babel} % textpkg — поддержка разных тире
> \usepackage[shortcuts,cyremdash]{extdash} % — переносы в составных
> словах, дефисы и тире (из ncc-tools)
>
> и так далее. Сами формулы с русскими буквами LyX пишет так:
>
> $\lyxmathsym{«Эптнц»}$. Написать просто $«Эптнц»$ нельзя,
> $\text{«Эптнц»}$ --- тогда это уже не мат. мода.
>
> Кто-нибудь сможет помочь? Надо, видимо, как-то грамотно переопределить
> команду \lyxmathsym...
>
> ================================================
> CyrTeX-ru mailing list Archives and Information:
> https://info.vsu.ru/Lists/CyrTeX-ru/List.html
>
>
|
|