2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




На страницу Пред.  1, 2, 3
 
 Re: Знак интеграла в русской традиции
Сообщение02.11.2015, 23:38 
Благодаря ptrvc был найден rumath.sty.
Не удалось им сходу воспользоваться — вызывает конфликты с пакетами AMS. Возможно, это следствие остатков amsmath.
Для истории и возможных доработок выкладываю на gist.github: http://gist.github.com/Lenchik/1368341d32d394f00d40#file-rumath-sty

 
 
 
 Re: Знак интеграла в русской традиции
Сообщение03.11.2015, 00:02 
Аватара пользователя
Lenchik в сообщении #1069702 писал(а):
rumath.sty.

Проблема в том, что его нет на CTAN и, следовательно, он не попадёт ни в TeXLive, ни в MikTeX. То, что называется "самопал".

Обычно это вызывается либо коммерческим интересом автора (напр. http://www.acrotex.net), либо его эксцентричностью (напр. http://www.paultaylor.eu/diagrams/), либо отсутствием авторской заинтересованности.

 
 
 
 Re: Знак интеграла в русской традиции
Сообщение03.11.2015, 00:30 
Его надо сильно дорабатывать, прежде, чем будет готов к CTAN.

 
 
 
 Re: Знак интеграла в русской традиции
Сообщение04.11.2015, 09:41 
Пока написал такой код для преамбулы (на базе http://tex.stackexchange.com/a/47372/79756 и http://tex.stackexchange.com/a/222280/79756)
Используется синтаксис LaTeX
\usepackage{letltxmacro} %http://tex.stackexchange.com/a/47372/79756
\LetLtxMacro{\oldint}{\int}

\makeatletter
    \@ifpackagewith{wasysym}{integrals}
    {
    }{%
        \usepackage{scalerel} %http://tex.stackexchange.com/a/222280/79756
        \renewcommand{\int}{\mathop{\scalerel*{\rotatebox{12}{$\!\scriptstyle\oldint\!$}}{\oldint}}}
    }
\makeatother
 

Так же подменить при наличии wasysym не удаётся.
Сделано, чтобы можно было писать как обычно, например, так:
Используется синтаксис LaTeX
\[
    \epsilon_f
    =
    \frac{1}{1-\mu_f}
    \int\limits_{T_r}^{T_d}
    (\alpha_f-\alpha_s) \mathrm{d}T,
\]
\makeatother

и, если возникнет желание, просто взять и переключиться на тот или иной режим отрисовки интегралов.

 
 
 
 Re: Знак интеграла в русской традиции
Сообщение04.11.2015, 10:57 
Я бы сначала определился, что лучше - \rotatebox оригинального символа или готовый символ из mathx. На мой взгляд, второй вариант должен быть предпочтительнее.

 
 
 
 Re: Знак интеграла в русской традиции
Сообщение04.11.2015, 11:09 
Готовый символ из mathx, wasy(2) или euex — прямой/вертикальный. Вращать всё равно надо, но на меньший угол. Если вертикальный устраивает, то есть \usepackage[integrals]{wasysym}.

Уметь правильно повращать ещё может быть важно для интегралов увеличенных размеров, из пакета bigints. Хотя, не исключено, что в bigints идёт масштабирование интегралов из amsmath.

 
 
 
 Re: Знак интеграла в русской традиции
Сообщение04.11.2015, 12:42 
В wasy2 и euex интеграл вертикальный, а в mathx наклонен влево, как и положено.

 
 
 
 Re: Знак интеграла в русской традиции
Сообщение04.11.2015, 13:00 
код: [ скачать ] [ спрятать ]
Используется синтаксис LaTeX
\documentclass[12pt,a4paper]{article}
\usepackage[utf8]{inputenc}
\usepackage{amsmath}
\usepackage{amsfonts}
\usepackage{amssymb}

\DeclareFontFamily{U}{mathx}{\hyphenchar\font45}
\DeclareFontShape{U}{mathx}{m}{n}{%
      <5> <6> <7> <8> <9> <10>%
      <10.95> <12> <14.4> <17.28> <20.74> <24.88>%
      mathx10%
      }{}
\DeclareSymbolFont{mathx}{U}{mathx}{m}{n}

\let\intop=\undefined
\DeclareMathSymbol{\intop}  {1}{mathx}{'263}
\let\iintop=\undefined
\DeclareMathSymbol{\iintop} {1}{mathx}{"B4}
\def\iint{\iintop}
\let\iiintop=\undefined
\DeclareMathSymbol{\iiintop}{1}{mathx}{"B5}
%\def\iiintop{\intop\mkern-6mu\intop\mkern-6mu\intop}
\def\int{\iiintop}
\let\ointop=\undefined
\DeclareMathSymbol{\ointop} {1}{mathx}{"B6}
\def\oint{\ointop}
\let\oiintop=\undefined
\DeclareMathSymbol{\oiintop}{1}{mathx}{"B7}
\def\oiint{\oiintop}
\def\int{\intop}%

\begin{document}
\[
    \epsilon_f
    =
    \frac{1}{1-\mu_f}
    \int\limits_{T_r}^{T_d}
    (\alpha_f-\alpha_s) \mathrm{d}T,
\]

\end{document}

Такой код выдал

(вот такую формулу в выходном pdf)

На мой взгляд, это вертикальный интеграл:
Изображение


Что мне надо перезадать в преамбуле, чтобы там были наклонные влево интегралы, а не такие, как получились сейчас?

 
 
 
 Re: Знак интеграла в русской традиции
Сообщение04.11.2015, 14:49 
Кажется, понял. Там в шрифте два символа интеграла, "B3 и "BB, которые объединены через charlist (mathxdrv.mf):
Код:
bintegral_sign   :=hex"B3"; Bintegral_sign   :=hex"BB";
charlist bintegral_sign:    Bintegral_sign;

Первый символ, используемый в textstyle, выглядит как нужно, а второй - как на вашем скриншоте. Попробуйте сравнить с
Код:
\epsilon_f=\raisebox{-0.4ex}{\scalebox{1}[1.5]{\large$\int$}} (\alpha_f-\alpha_s) \mathrm{d}T

(кернинг не ахти и с индексами придется повозиться, но как стартовая точка подойдет). В принципе, можно взять за основу определение bintegral_sign из mathbigs.mf и сделать свой шрифт (как минимум вытянуть символ в высоту для displaystyle).

 
 
 
 Re: Знак интеграла в русской традиции
Сообщение04.11.2015, 16:06 
После
код: [ скачать ] [ спрятать ]
Используется синтаксис LaTeX
\documentclass[12pt,a4paper]{article}
\usepackage[utf8]{inputenc}
\usepackage{amsmath}
\usepackage{amsfonts}
\usepackage{amssymb}

\usepackage[mathx]{mathabx}
\usepackage{letltxmacro} %http://tex.stackexchange.com/a/47372/79756
\LetLtxMacro{\oldint}{\int}

\usepackage{scalerel} %http://tex.stackexchange.com/a/222280/79756
\renewcommand{\int}{\mathop{\stretchrel*[300]{\textstyle\oldint}{\oldint}}}


\begin{document}
\[
    \epsilon_f
    =
    \frac{1}{1-\mu_f}
    \int\limits_{T_r}^{T_d}
    (\alpha_f-\alpha_s) \mathrm{d}T,
\]
\end{document}
 

получается
Изображение

Сойдёт, наверное, если не придираться к её форме, и пока косяки не всплывут какие-нибудь.

 
 
 
 Re: Знак интеграла в русской традиции
Сообщение23.05.2017, 20:05 
Если тема вдруг ещё небезынтересна, то в поисках ответа на вопрос наткнулся на довольно занятное решение:
https://tex.stackexchange.com/a/170033

 
 
 [ Сообщений: 41 ]  На страницу Пред.  1, 2, 3


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group