2014 dxdy logo

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

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




Начать новую тему Ответить на тему
 
 Не работает \renewcommand
Сообщение14.07.2019, 06:22 


14/07/19
3
Почему \newcommand{\newpart}[1]{\part{#1} \setcounter{section}{0}} работает, тогда как \renewcommand{\part}[1]{\part{#1} \setcounter{section}{0}} - нет?

Например:
Код:
Например:
\documentclass[a4paper,12pt]{article}   % Стиль
\usepackage[pdftex,unicode, colorlinks=true,linkcolor = blue]{hyperref}   % нумерование страниц, ссылки!!!!ИМЕННО В ТАКОМ ПОРЯДКЕ СО СЛЕДУЮЩИМ ПАКЕТОМ
\usepackage[warn]{mathtext}            % Поддержка русского текста в формулах
\usepackage[T1, T2A]{fontenc}         % Пакет выбора кодировки и шрифтов
\usepackage[utf8]{inputenc}          % любая желаемая кодировка
\usepackage[russian,english]{babel}      % поддержка русского языка
\usepackage{wrapfig}               % Плавающие картинки
\usepackage{amssymb, amsmath}         % стилевой пакет для формул
\usepackage{multirow}                   % норм таблицы

\usepackage{tikz}                       % Для цифр в кружочках
\newcommand*\circled[1]{\tikz[baseline=(char.base)]{
            \node[shape=circle,draw,inner sep=2pt] (char) {#1};}}
       

%\usepackage{graphicx}                   %Для вставки изображений в sharelatex

%\ifpdf
%        \usepackage{cmap}             % чтобы работал поиск по PDF
%        \usepackage[pdftex]{graphicx}
        \usepackage{pgfplotstable}      % Для вставки таблиц.
%        \pdfcompresslevel=9          % сжимать PDF
%\else
%        \usepackage{graphicx}
%\fi



\usepackage[left=2cm,right=2cm,top=2cm,bottom=2cm]{geometry}




%Работа с гиперссылками


\usepackage{xcolor}
\usepackage{hyperref}

% Цвета для гиперссылок
\definecolor{linkcolor}{HTML}{5961ba} % цвет ссылок, на этой строчке хз почему карретка ведет себя очень странно, на следущей может быть тоже
\definecolor{urlcolor}{HTML}{5961ba} % цвет гиперссылок

\hypersetup{pdfstartview=FitH,linkcolor=linkcolor,urlcolor=urlcolor, colorlinks=true}

%Параметр FitH показывает, что итоговый PDF документ был по ширине расположен на экране.
%Параметр colorlinks=true показывает, что ссылки будут цветом отображаться, а не рамкой, вокруг них.
%Параметры linkcolor и urlcolor обозначают цвета ссылок и гиперссылок.

%----

\setlength{\parindent}{0pt} % убирает отступ первой строки абзаца

\renewcommand{\part}[1]{\part{#1}\setcounter{section}{0}} %нумерация section с единицы в каждом part


\begin{document}%----------------------------------------------

\tableofcontents

\part{А}
\section{В}
\subsection{Ё}
\subsection{Ж}
\section{Г}
\subsection{З}
\subsection{И}
\part{Б}
\section{Д}
\subsection{Й}
\subsection{К}
\section{Е}
\subsection{Л}
\subsection{М}
\end{document}


 Профиль  
                  
 
 Re: Не работает \renewcommand
Сообщение14.07.2019, 07:12 
Заслуженный участник


09/05/13
8904
∞⠀⠀⠀⠀
BoberBoberBober в сообщении #1404980 писал(а):
\renewcommand{\part}[1]{\part{#1} \setcounter{section}{0}}

Потому что Вы пытаетесь переопределить команду через нее саму, и у компа едет крыша.
У меня тоже слегка едет: а чего Вы, собственно, добиваетесь?

 Профиль  
                  
 
 Re: Не работает \renewcommand
Сообщение14.07.2019, 07:28 


14/07/19
3
Otta в сообщении #1404984 писал(а):
BoberBoberBober в сообщении #1404980 писал(а):
\renewcommand{\part}[1]{\part{#1} \setcounter{section}{0}}

Потому что Вы пытаетесь переопределить команду через нее саму, и у компа едет крыша.
У меня тоже слегка едет: а чего Вы, собственно, добиваетесь?

Что-бы отсчёт section шёл в каждом part с единицы, а не продолжался с того на чём он кончился в предыдущем part (\setcounter{section}{0} обнуляет счётчик section). Я думал что это переопределение работает одним циклом, т.е. один раз \part{argumet} заменится на \part{argument} \setcounter{section}{0} и всё. Неужели он впадает в бесконечную рекурсию? Придётся пользовать newpart?

 Профиль  
                  
 
 Re: Не работает \renewcommand
Сообщение14.07.2019, 07:40 
Заслуженный участник


09/05/13
8904
∞⠀⠀⠀⠀
Ну тут много у Вас странностей. Вообще, пихать в article раздел part как-то чудно.
Но ладно, Ваше право.
Не надо никаких ни ньюкомманд, ни ренью.
Эту строчку уберите вообще.
Вставьте вместо
Код:
\makeatletter
\@addtoreset{section}{part}
\makeatother

 Профиль  
                  
 
 Re: Не работает \renewcommand
Сообщение14.07.2019, 07:41 
Заслуженный участник
Аватара пользователя


31/01/14
11305
Hogtown
Otta в сообщении #1404984 писал(а):
У меня тоже слегка едет: а чего Вы, собственно, добиваетесь?

BoberBoberBober хочет чтобы нумерация секций обнулялась в начале \part; это имеет смысл только если в номере секции присутствует \part, (II.1 Всякая фигня) для чего есть
Используется синтаксис LaTeX
\numberwithin{section}{part}


А если ему хочется запутать читателя, чтоб не знал, к какой части секция относится (1 Всякая фигня), то добавляется
  1. \renewcommand{\thesection}{\arabic{section}} 

 Профиль  
                  
 
 Re: Не работает \renewcommand
Сообщение14.07.2019, 07:45 
Заслуженный участник


09/05/13
8904
∞⠀⠀⠀⠀

(Оффтоп)

Red_Herring в сообщении #1404987 писал(а):
\numberwithin{section}{part}

А, во. Только все время ее забываю )) не использую потому что.

 Профиль  
                  
 
 Re: Не работает \renewcommand
Сообщение14.07.2019, 07:55 


14/07/19
3
Спасибо! Помогло!

 Профиль  
                  
 
 Re: Не работает \renewcommand
Сообщение14.07.2019, 19:58 
Заслуженный участник
Аватара пользователя


31/01/14
11305
Hogtown
Otta в сообщении #1404988 писал(а):
Только все время ее забываю )) не использую потому что.
А зря!
Otta в сообщении #1404986 писал(а):
пихать в article раздел part как-то чудно.

Это самое высокое деление в article и в отличие от chapter (и выше) в книгах не начинается с новой страницы. В memoir высшие деления book, part, chapter, section ...

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

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



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

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


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

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