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
3136
Уфа
Как-то так:
Используется синтаксис 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, Супермодераторы



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

Сейчас этот форум просматривают: нет зарегистрированных пользователей


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

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