2014 dxdy logo

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

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




Начать новую тему Ответить на тему
 
 Изменение команд в LaTeX
Сообщение05.02.2012, 20:33 


05/02/12
2
Помогите плиз, нада изменить команду \section{} так чтобы в заголовке печатались не цифры: 1. "заголовок", 2. "заголовок", ... , а Глава 1. "заголовок", Глава 2. "заголовок", ... Так как работаю в классе article

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


01/08/06
3131
Уфа
Как-то так:
Используется синтаксис LaTeX
\def\thesection{Глава \arabic{section}}

 Профиль  
                  
 
 Re: Изменение команд в LaTeX
Сообщение06.02.2012, 18:49 


05/02/12
2
Помогло, но не полностью!
Теперь у меня "Глава" сливается с названием главы!Т.е. название главы налазиет на слово Глава
Причом этот косяк, только в оглавлении виден
Как быть дальше??:)

 Профиль  
                  
 
 Re: Изменение команд в LaTeX
Сообщение28.02.2012, 23:30 
Аватара пользователя


04/02/12
305
Ростов-на-Дону
Я бы попробовал переопределить команду:
Код:
\renewcommand{\thesection}{Глава\ \arabic{section}}

Код:
\renewcommand{то что переопределяем}{взамен переопределяемого объекта}

 Профиль  
                  
 
 Re: Изменение команд в LaTeX
Сообщение29.02.2012, 18:35 


19/09/10
109
aposto48 в сообщении #535801 писал(а):
Помогло, но не полностью!
Теперь у меня "Глава" сливается с названием главы!Т.е. название главы налазиет на слово Глава
Причом этот косяк, только в оглавлении виден
Как быть дальше??:)

Чтобы не налезало в оглавлении, можно попробовать следующий хак:
1. Влезть в article.cls и скопировать оттуда команду \l@section к себе.
2. Добавить в неё одну строку:
Код:
\usepackage{calc} % для \widthof
\renewcommand{\thesection}{Глава\ \arabic{section}}
\makeatletter
\renewcommand*\l@section[2]{%
  \ifnum \c@tocdepth >\z@
    \addpenalty\@secpenalty
    \addvspace{1.0em \@plus\p@}%
    \setlength\@tempdima{1.5em}%
    \addtolength\@tempdima{\widthof{Глава\ }}%  << вот эту строку добавить
    \begingroup
      \parindent \z@ \rightskip \@pnumwidth
      \parfillskip -\@pnumwidth
      \leavevmode \bfseries
      \advance\leftskip\@tempdima
      \hskip -\leftskip
      #1\nobreak\hfil \nobreak\hb@xt@\@pnumwidth{\hss #2}\par
    \endgroup
  \fi}
\makeatother
(соответственно: \renewcommand* вместо \newcommand*, так как команда уже есть в article.cls;
\makeatletter...\makeatother — чтоб компилятор на собаку не ругался).

P.S.
А почему именно article?

 Профиль  
                  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 5 ] 

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



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

Сейчас этот форум просматривают: Lenchik


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

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