LINUX.ORG.RU

LaTeX: Пояснения к формулам

 , ,


0

2

Джентльмены!

Будьте любезны, поясните, как правильно организовать пояснения к формулам?

Пример 1. Формула, за ней таблица, код приведён ниже. Отступ между пояснением и формулой растяжимый и слишком большой, кроме того, таблица с пояснением является отдельным плавающим объектом, и LaTeX размещает её на своё усмотрение. Мне необходимо, чтобы пояснения не отрывались от формулы и чтобы отступ между формулой и пояснением к ней был таким же, как между формулой и следующим абзацем. Кроме того, ширину колонки с переменными я подбираю самостоятельно, а хотелось бы, чтобы её подбирал LaTeX.

Пусть комплексное число $z$ в тригонометрической форме имеет вид
$z=r(\cos\varphi+i\sin\varphi)$.
На основании формулы Эйлера выражение в скобках можно заменить
на показательное выражение.
В результате получим:

\begin{equation}
 z = r\cdot\exp\left({j\varphi}\right)
\end{equation}
\begin{table}[ht]
 \seteqdesctab{1cm}
 \begin{tabular*}{\linewidth}{L{\colAwidth}R{\colBwidth}C{\colCwidth}L{\colDwidth}}
  где	& $\varphi$	& "---	& фаза комплексного числа,\\
	& $j$		& "---	& мнимая единица.
 \end{tabular*}
\end{table}

Доказательство формулы Эйлера можно провести с использованием
рядов Тейлора.

Пример 2. Это фрагмент демонстрации eskdx. Здесь всё в точности так, как я бы хотел. Код ниже.

Плотность каждого образца $\rho, \text{кг}/\text{м}^3$,
вычисляют по формуле
\begin{equation}
 \label{eq:1}
 \rho = \frac{m}{V},
\end{equation}
\begin{ESKDexplanation}
 \item[где ] $m$ "--- масса образца, кг;
 \item $V$ "--- объем образца, $\text{м}^3$.
\end{ESKDexplanation}

\point Формулы, за исключением формул, помещаемых в приложении,
должны нумероваться сквозной нумерацией арабскими цифрами,
которые записывают на уровне формулы справа в круглых скобках.
Одну формулу обозначают "--- (1).

Как мне организовать аналогичное ESKDexplanation окружение с предпочтительными для меня свойствами?


Пишу пояснение через запятую сразу после формулы в свободном стиле. IMHO таблица или перечисление для этого --- это пережиток эры печатных машинок. В журнальных статьях я подобного не встречал.

P.S. Но никто не мешает выдрать исходный код понравившегося тебе окружения и адаптировать под свои нужды.

Evgueni ★★★★★
()
Последнее исправление: Evgueni (всего исправлений: 2)
Ответ на: комментарий от Evgueni

++

В статьях пишу что-то вроде этого, никто не жаловался.

А на запись в стиле ТСа запросто могут повозмущаться: много места тратится впустую. Да и самому же платить больше придется, если это платная статья.

Anon
()

Вот, например, как я переопределяю itemize и enumerate и добавляю свое окружение:

\def\enumerate{%
  \ifnum \@enumdepth >\thr@@\@toodeep\else
    \advance\@enumdepth\@ne
    \edef\@enumctr{enum\romannumeral\the\@enumdepth}%
      \expandafter
      \list
        \csname label\@enumctr\endcsname
        {\usecounter\@enumctr\def\makelabel##1{\hss\llap{##1}}%
          \enumhook \csname enumhook\romannumeral\the\@enumdepth\endcsname}%
  \fi}
\def\itemize{%
  \ifnum \@itemdepth >\thr@@\@toodeep\else
    \advance\@itemdepth\@ne
    \edef\@itemitem{labelitem\romannumeral\the\@itemdepth}%
    \expandafter
    \list
      \csname\@itemitem\endcsname
      {\def\makelabel##1{\hss\llap{##1}}%
        \itemhook \csname itemhook\romannumeral\the\@itemdepth\endcsname}%
  \fi}
\renewenvironment{description}
                 {\list{}{\labelwidth\z@ \itemindent-\leftmargin
                          \let\makelabel\descriptionlabel\descripthook}}
                 {\endlist}
    
\newenvironment{myitemize}%
    {\begin{list}{$\gg$}{\setlength{\itemsep}{0cm}%
    \setlength{\parsep}{0cm}\setlength{\topsep}{2mm}}}{\end{list}}
Как говорил Евгений, никаких проблем подсмотреть нужный код в пакетах латеха нет.

Anon
()
Ответ на: комментарий от akj

Ты еще вот это в начало забыл добавить:

\def\enumhook{\setlength{\itemsep}{0cm}% общие команды внутри enumerate
        \setlength{\parsep}{0cm}\setlength{\topsep}{2mm}}
\def\enumhooki{} % команды внутри 1 уровня вложенности
\def\enumhookii{} % команды внутри 2 и последующих уровней
\def\enumhookiii{}
\def\enumhookiv{}
\def\itemhook{\enumhook} % то же самое для itemize
\def\itemhooki{}
\def\itemhookii{}
\def\itemhookiii{}
\def\itemhookiv{}
\def\descripthook{} % и для description

Anon
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.