2014 dxdy logo

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

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




 
 Лишняя точка в нумерации формулу
Сообщение09.04.2015, 14:46 
Аватара пользователя
Добрый день.

Добавил недостающую точку в нумерацию секций и теперь страдаю от того, что LaTeX добавляет лишную точку в номер формулы, например, (2..1) — первая форума второй секции (без подсекции).

Как убрать?

Шапка:
код: [ скачать ] [ спрятать ]
Используется синтаксис LaTeX
\documentclass[a4paper,12pt]{article}
\usepackage{extsizes}
\usepackage{amsmath}
\usepackage{amssymb}
\usepackage[top=2cm, bottom=3cm, left=3cm, right=2cm]{geometry}
\usepackage{cite}
\usepackage{hyperref}
\usepackage[pdftex]{graphicx}
\usepackage[utf8]{inputenc}
\usepackage[english,russian]{babel}
\usepackage{latexsym,amscd}
\usepackage{amsmath}
\usepackage{indentfirst}
\usepackage[font=small,labelfont=bf]{caption}
\usepackage{cmap} % поиск по русским словам.

\numberwithin{equation}{section}
\setcounter{footnote}{0}
\setcounter{equation}{0}
\setcounter{figure}{0}
\setcounter{table}{0}
\setcounter{section}{0}

<...>

% Добавляем точку после номера секции
\renewcommand{\thesection}{\arabic{section}.}
\renewcommand{\thesubsection}{\arabic{section}.\arabic{subsection}.}
 

 
 
 
 Re: Лишняя точка в нумерации формулу
Сообщение09.04.2015, 17:04 
Первое, что приходит на ум- это переопределить theequation.

 
 
 
 Re: Лишняя точка в нумерации формулу
Сообщение09.04.2015, 20:31 
Аватара пользователя
Попробуйте так:
Используется синтаксис LaTeX
% section format
\makeatletter
\renewcommand{\@seccntformat}[1]{\csname the#1\endcsname.\;}
\makeatother
 

 
 
 
 Re: Лишняя точка в нумерации формулу
Сообщение09.04.2015, 21:17 
Аватара пользователя
Прошу прощения, я плохо понимаю на таком уровне TeX. Этот код что делает и вместо чего его вставлять?

(Оффтоп)

Есть какая-то годная литература по прокаченному Тьюринг-полному ТеХу?

А то у меня складывается впечатление, что ТеХом овладевают так же, как сову рисуют:
сначала верстают простенькие формулы, потом простенькие таблички, потом учатся в шапочку добавлять какие-то команды и пакеты, чтобы что-то работало как надо, а потом... makeatletter, @-макросы и
HarryS в сообщении #985777 писал(а):
Фишечки и фенечки для оформления диссертации в Латех
<...>
19. Как сделать черту над словом покороче?
Так:
\newcommand{\overbar}[1]{\mkern 3mu\overline{\mkern-3mu#1\mkern-3mu}\mkern 3mu}
Или так – так выглядит сама команда,
\newcommand{\overl}[1]\xoverline[0.8]{#1}
А это её определение:
Код:
\makeatletter
\newsavebox\myboxA
\newsavebox\myboxB
\newlength\mylenA

\newcommand*\xoverline[2][0.75]{%
    \sbox{\myboxA}{[math]$\m@th#2$[/math]}%
    \setbox\myboxB\null% Phantom box
    \ht\myboxB=\ht\myboxA%
    \dp\myboxB=\dp\myboxA%
    \wd\myboxB=#1\wd\myboxA% Scale phantom
    \sbox\myboxB{[math]$\m@th\overline{\copy\myboxB}$[/math]}%  Overlined phantom
    \setlength\mylenA{\the\wd\myboxA}%   calc width diff
    \addtolength\mylenA{-\the\wd\myboxB}%
    \ifdim\wd\myboxB<\wd\myboxA%
       \rlap{\hskip 0.5\mylenA\usebox\myboxB}{\usebox\myboxA}%
    \else
        \hskip -0.5\mylenA\rlap{\usebox\myboxA}{\hskip 0.5\mylenA\usebox\myboxB}%
    \fi}
\makeatother


Где этому шаманству учат?

 
 
 
 Re: Лишняя точка в нумерации формулу
Сообщение09.04.2015, 21:28 
Аватара пользователя
Замените Ваши строки:
Используется синтаксис LaTeX
% Добавляем точку после номера секции
\renewcommand{\thesection}{\arabic{section}.}
\renewcommand{\thesubsection}{\arabic{section}.\arabic{subsection}.}
 

- на те, что привёл я. Точка в номере секции будет, в формулах - нет.

(я сам не знаю на таком уровне, нахожу решения в интернет)

-- менее минуты назад --

Там в конце "\;}" на "\quad}" может лучше заменить - это расстояние от точки до текста заголовка, по-моему.

 
 
 
 Re: Лишняя точка в нумерации формулу
Сообщение09.04.2015, 23:32 
Аватара пользователя
Спасибо тебе, добрый человече!

 
 
 
 Re: Лишняя точка в нумерации формулу
Сообщение10.04.2015, 00:23 
Аватара пользователя
:-)
(я сам полдня искал, когда потребовалось)

 
 
 
 Re: Лишняя точка в нумерации формулу
Сообщение10.04.2015, 10:23 
Аватара пользователя
Можно проще. Достаточно заменить строчку
Код:
\numberwithin{equation}{section}

на
Код:
\renewcommand{\theequation}{\arabic{section}.\arabic{equation}}

 
 
 
 Re: Лишняя точка в нумерации формулу
Сообщение10.04.2015, 10:34 
Аватара пользователя
lek в сообщении #1002226 писал(а):
Можно проще. Достаточно заменить строчку


Это хуже поскольку еще надо в начале каждой секции занулять счётчик
Используется синтаксис LaTeX
\setcounter{equation}{0}

 
 
 
 Re: Лишняя точка в нумерации формулу
Сообщение10.04.2015, 15:30 
Аватара пользователя
Не обязательно. Такую (не сквозную) нумерацию можно задать в преамбуле:
Код:
\renewcommand{\thesection}{\arabic{section}.\setcounter{equation}{0}}

вместо
Код:
\renewcommand{\thesection}{\arabic{section}.

 
 
 
 Re: Лишняя точка в нумерации формулу
Сообщение10.04.2015, 16:34 
Аватара пользователя
Мне кажется, что самое лучшее загрузить пакет titlesec и тогда возможны кучи вариантов, например

Используется синтаксис LaTeX
\titleformat{\section}%
  {\centering\uppercase}{\thesection.}{0.5em}{}


не говоря уже о регулировании просвета перед и после заголовка секции.

 
 
 [ Сообщений: 11 ] 


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