2014 dxdy logo

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

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




Начать новую тему Ответить на тему На страницу 1, 2  След.
 
 Проблема с нумерацией формул
Сообщение06.02.2014, 01:32 


06/02/14
9
Доброго времени суток.
Как новичок, столкнулся со следующей небольшой, но довольно неприятной для меня проблемой: поскольку в местном издательстве требуют, чтобы после номера главы или секции обязательно стояла точка, то я использовал команду
Код:
\renewcommand{\thechapter}{\arabic{chapter}.}
\renewcommand{\thesection}{\arabic{section}.}

А счётчик формул привязана к секциям:
Код:
\numberwithin{equation}{section}

Но теперь при нумерации формул между номером секции и непосредственно формулы ставится две точки. (2..1 вместо 2.1).
Делать нумерацию везде через \eqno не очень-то удобно.

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

 Профиль  
                  
 
 Re: Проблема с нумерацией формул
Сообщение06.02.2014, 13:28 
Аватара пользователя


11/09/08
150
Могилев
Переопределите формат номеров формул, рисунков и таблиц:
Код:
\renewcommand{\theequation}{\thesection.\arabic{equation}}
\renewcommand{\thefigure}{\thesection.\arabic{figure}}
\renewcommand{\thetable}{\thesection.\arabic{table}}

Another в сообщении #823243 писал(а):
Помимо этого почему-то вообще не работают переносы, хотя, как я понял из документации, они должны работать автоматически.
Прошу подсказать, в чём я ошибся.

Пакет babel подключен?

 Профиль  
                  
 
 Re: Проблема с нумерацией формул
Сообщение06.02.2014, 14:04 


06/02/14
9
yurik78 в сообщении #823360 писал(а):
Переопределите формат номеров формул, рисунков и таблиц:

Почему-то не сработало, всё так же проставляются две точки.
yurik78 в сообщении #823360 писал(а):
Пакет babel подключен?

Да, конечно.

 Профиль  
                  
 
 Re: Проблема с нумерацией формул
Сообщение06.02.2014, 15:11 


29/09/06
4552
Львовский, стр. 301 писал(а):
К сожалению, не так просто\raisebox{4pt}{${\color{white}.}\strut^2${\color{white}-}} заставить LATEX автоматически добавлять текст после номера, хотя такая потребность порой возникает (например, хочется, чтобы в заголовках разделов после номеров стояли точки, чего стандартное LATEX’овское оформление не предусматривает).

____________________________________________
\raisebox{4pt}{${\color{white}.}\strut^2$} Но возможно: это сделано, например, в пакете russcorr, использованном при подготовке данной книги. См. приложения Е и Ж.



Модератору: это всё же не "Проблема с нумерацией формул". Скорее, "Точка после номера раздела".

-- 06 фев 2014, 16:45:23 --

Хе-хе:

Код:
\newcommand{\Chapter}[2]{%
\renewcommand{\thechapter}{\arabic{chapter}.}
\chapter{#1}\label{#2}
\renewcommand{\thechapter}{\arabic{chapter}}
}

Вроде сработало...
Понятно, как?

 Профиль  
                  
 
 Re: Проблема с нумерацией формул
Сообщение06.02.2014, 16:27 
Заслуженный участник
Аватара пользователя


30/01/06
72407
yurik78 в сообщении #823360 писал(а):
Переопределите формат номеров формул, рисунков и таблиц:
Код:
\renewcommand{\theequation}{\thesection.\arabic{equation}}
\renewcommand{\thefigure}{\thesection.\arabic{figure}}
\renewcommand{\thetable}{\thesection.\arabic{table}}

В вашем способе как раз надо писать \thesection без точки, потому что точка в него уже входит. Или так:

 Профиль  
                  
 
 Re: Проблема с нумерацией формул
Сообщение06.02.2014, 16:51 


06/02/14
9
Попробовал все предложенные варианты с точкой после \thesection и без неё — безрезультатно, к сожалению.

 Профиль  
                  
 
 Re: Проблема с нумерацией формул
Сообщение08.02.2014, 07:41 


31/07/13
51
Хабаровск
Another, попробуй так:

Код:
\documentclass{book}
\usepackage[cp1251]{inputenc}
\usepackage[T2A]{fontenc}
\usepackage[russian]{babel}
%\usepackage[math]{pscyr}
%\renewcommand{\rmdefault}{ftm}
\usepackage{array, hhline, multirow, amsmath}
\oddsidemargin=-15.4mm
\topmargin=-25.4mm
\textheight=260mm

\makeatletter
\renewcommand{\@makechapterhead}[1]%
{%
\vspace *{50\p@ }{\parindent \z@ \raggedright \normalfont%
\ifnum \c@secnumdepth >\m@ne\if@mainmatter \huge \bfseries \@chapapp \space \thechapter. \par \nobreak \vskip 20\p@ \fi \fi%
\interlinepenalty \@M \Huge \bfseries #1\par \nobreak \vskip 40\p@ }%
}
\renewcommand{\@seccntformat}[1]
{\csname the#1\endcsname.\hspace{0.5em}}

\makeatother

\begin{document}
\chapter{Первая}

\section{Основные обозначения}
\begin{equation}\label{eq1}
12345
\end{equation}

\section{Заключение}
\begin{equation}\label{eq2}
1
\end{equation}

\begin{equation}\label{eq3}
1
\end{equation}

\end{document}

 Профиль  
                  
 
 Re: Проблема с нумерацией формул
Сообщение11.02.2014, 21:09 


06/02/14
9
andrewkhv, да, так заработало, только теперь нет точек в нумерации оглавления.

 Профиль  
                  
 
 Re: Проблема с нумерацией формул
Сообщение12.02.2014, 09:48 


31/07/13
51
Хабаровск
Код:
\documentclass{book}
\usepackage[cp1251]{inputenc}
\usepackage[T2A]{fontenc}
\usepackage[russian]{babel}
\makeatletter
\def\@chapter[#1]#2%
{\ifnum \c@secnumdepth >\m@ne%
                       \if@mainmatter
                         \refstepcounter{chapter}%
                         \typeout{\@chapapp\space\thechapter.}%
                         \addcontentsline{toc}{chapter}%
                                   {\protect\numberline{\thechapter.}#1}%
                       \else
                         \addcontentsline{toc}{chapter}{#1}%
                       \fi
                    \else
                      \addcontentsline{toc}{chapter}{#1}%
                    \fi
                    \chaptermark{#1}%
                    \addtocontents{lof}{\protect\addvspace{10\p@}}%
                    \addtocontents{lot}{\protect\addvspace{10\p@}}%
                    \if@twocolumn
                      \@topnewpage[\@makechapterhead{#2}]%
                    \else
                      \@makechapterhead{#2}%
                      \@afterheading
                    \fi}

\def\@sect#1#2#3#4#5#6[#7]#8{%
  \ifnum #2>\c@secnumdepth
    \let\@svsec\@empty
  \else
    \refstepcounter{#1}%
    \protected@edef\@svsec{\@seccntformat{#1}\relax}%
  \fi
  \@tempskipa #5\relax
  \ifdim \@tempskipa>\z@
    \begingroup
      #6{%
        \@hangfrom{\hskip #3\relax\@svsec}%
          \interlinepenalty \@M #8\@@par}%
    \endgroup
    \csname #1mark\endcsname{#7}%
    \addcontentsline{toc}{#1}{%
      \ifnum #2>\c@secnumdepth \else
        \protect\numberline{\csname the#1\endcsname.}%
      \fi
      #7}%
  \else
    \def\@svsechd{%
      #6{\hskip #3\relax
      \@svsec #8}%
      \csname #1mark\endcsname{#7}%
      \addcontentsline{toc}{#1}{%
        \ifnum #2>\c@secnumdepth \else
          \protect\numberline{\csname the#1\endcsname.}%
        \fi
        #7}}%
  \fi
  \@xsect{#5}}
\renewcommand{\@makechapterhead}[1]%
{%
\vspace *{50\p@ }{\parindent \z@ \raggedright \normalfont%
\ifnum \c@secnumdepth >\m@ne\if@mainmatter \huge \bfseries \@chapapp \space \thechapter. \par \nobreak \vskip 20\p@ \fi \fi%
\interlinepenalty \@M \Huge \bfseries #1\par \nobreak \vskip 40\p@ }%
}
\renewcommand{\@seccntformat}[1]
{\csname the#1\endcsname.\hspace{0.5em}}
\makeatother

\begin{document}
\tableofcontents
\chapter{Линейные уравнения}

\section{Основные обозначения}
\begin{equation}\label{eq1}
12345
\end{equation}

\section{Заключение}
\begin{equation}\label{eq2}
2
\end{equation}

\begin{equation}\label{eq3}
3
\end{equation}
\chapter{Квадратные уравнения}
\begin{equation}\label{eq4}
4
\end{equation}
\end{document}

 Профиль  
                  
 
 Re: Проблема с нумерацией формул
Сообщение18.04.2014, 21:51 


06/02/14
9
Поднимаю старую тему. Теперь возник вот какой вопрос: можно ли в окружении \eqnarray сделать нумерацию формул не справа от них, а справа и чуть ниже самой формулы? А то выходит так, что сама формула заезжает на номер, а делать перенос нежелательно.

 Профиль  
                  
 
 Re: Проблема с нумерацией формул
Сообщение18.04.2014, 22:30 


29/09/06
4552
Никогда не видел, чтобы наезжало. А вот, действительно, наезжает:

\begin{eqnarray}
x&=&{\color{blue}1+2+3+44+555+6666+77777777777+888888888888888888+99+10000}
\end{eqnarray}

Окружение {eqnarray} не рекомендуется к использованию, объявлено устаревшим. Пробуйте другие, например:

\begin{align}
&x=1+2+3+44+555+6666+77777777777+888888888888888888+99+10000,\\
&y=\sqrt{1+2+3+44+555+6666+77777777777+888888888888888888+99}
\end{align}

 Профиль  
                  
 
 Re: Проблема с нумерацией формул
Сообщение18.04.2014, 23:10 
Заслуженный участник
Аватара пользователя


30/01/06
72407
Есть даже гневная брошюрка Avoid eqnarray! (автор Lars Madsen). Хороший справочник по другим средствам форматирования. И Grätzer Math into LaTeX последний форзац.

 Профиль  
                  
 
 Re: Проблема с нумерацией формул
Сообщение18.04.2014, 23:14 
Заслуженный участник
Аватара пользователя


31/01/14
11305
Hogtown
Another в сообщении #851487 писал(а):
Поднимаю старую тему. Теперь возник вот какой вопрос: можно ли в окружении \eqnarray сделать нумерацию формул не справа от них, а справа и чуть ниже самой формулы? А то выходит так, что сама формула заезжает на номер, а делать перенос нежелательно.


Как правильно отметил Алексей К.:

Не используйте eqnarray. Этот пакет устарел и buggy. См. нмапр. https://tug.org/pracjourn/2006-4/madsen/madsen.pdf (Л.Мадсен очень уважаем в TeX сообществе). Используйте align вместо.

Нумерация слева тривиальна: \usepackage[leqno]{amsmath} (или также в mathtools). Сдвигание вврех или вниз в "правильных" окружениях происходит автоматически. (При нумерации слева--вниз уходит сама формула)

Формулы лучше разбивать с помощью окружения multline (кроме очень редких исключений)

 Профиль  
                  
 
 Re: Проблема с нумерацией формул
Сообщение18.04.2014, 23:19 
Заслуженный участник
Аватара пользователя


30/01/06
72407
Кстати, я искал эту ссылку, а на хоумпейдже Мадсена лежит более свежая версия, за 2012 год
http://tug.org/TUGboat/tb33-1/tb103madsen.pdf

Главное отличие в том, что отформатирована в две колонки. От этого, мне кажется, наглядность примеров страдает.

Red_Herring в сообщении #851522 писал(а):
Формулы лучше разбивать с помощью окружения multline (кроме очень редких исключений)

Смотря какие формулы. multline предоставляет очень мало контроля за размещением формулы, и часто лучше alignedat, split и т. п.

 Профиль  
                  
 
 Re: Проблема с нумерацией формул
Сообщение18.04.2014, 23:24 
Заслуженный участник
Аватара пользователя


31/01/14
11305
Hogtown
Munin в сообщении #851519 писал(а):
Есть даже гневная брошюрка Avoid eqnarray! (автор Lars Madsen). Хороший справочник по другим средствам форматирования. И Grätzer Math into LaTeX последний форзац.


У него есть 2 книжки по ТеХ

ftp://ftp.tex.ac.uk/tex-archive/info/mil/mil.pdf

но я рекомендую вторую (More Math. into LaTeX)

http://server.math.umanitoba.ca/homepages/gratzer/pdfs/short_course.pdf

-- 18.04.2014, 15:37 --

Munin в сообщении #851525"
[quote="Red_Herring в сообщении #851522
писал(а):
Формулы лучше разбивать с помощью окружения multline (кроме очень редких исключений)

Смотря какие формулы. multline предоставляет очень мало контроля за размещением формулы, и часто лучше alignedat, split и т. п.[/quote]

Есть команды \shoveright и \shoveleft, и в некоторых случаях я использую aligned внутри multline:

\begin{multline}
y=\\
{\begin{aligned}
&\sqrt{88888888888888888888}\qquad &&\text{если } x>88888888888888888888\\
&\sqrt{x}\qquad &&\text{если } 0<x<88888888888888888888
\end{aligned}}
\end{multline}


В случае же alignat следует добавлять в соответствующих местах \notag чтобы эта часть формулы не нумеровалась.

 Профиль  
                  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 25 ]  На страницу 1, 2  След.

Модераторы: Karan, Toucan, PAV, maxal, Супермодераторы



Кто сейчас на конференции

Сейчас этот форум просматривают: Bing [bot]


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group