2014 dxdy logo

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

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




 
 Не работает \renewcommand
Сообщение14.07.2019, 06:22 
Почему \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 
BoberBoberBober в сообщении #1404980 писал(а):
\renewcommand{\part}[1]{\part{#1} \setcounter{section}{0}}

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

 
 
 
 Re: Не работает \renewcommand
Сообщение14.07.2019, 07:28 
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 
Ну тут много у Вас странностей. Вообще, пихать в article раздел part как-то чудно.
Но ладно, Ваше право.
Не надо никаких ни ньюкомманд, ни ренью.
Эту строчку уберите вообще.
Вставьте вместо
Код:
\makeatletter
\@addtoreset{section}{part}
\makeatother

 
 
 
 Re: Не работает \renewcommand
Сообщение14.07.2019, 07:41 
Аватара пользователя
Otta в сообщении #1404984 писал(а):
У меня тоже слегка едет: а чего Вы, собственно, добиваетесь?

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


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

 
 
 
 Re: Не работает \renewcommand
Сообщение14.07.2019, 07:45 

(Оффтоп)

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

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

 
 
 
 Re: Не работает \renewcommand
Сообщение14.07.2019, 07:55 
Спасибо! Помогло!

 
 
 
 Re: Не работает \renewcommand
Сообщение14.07.2019, 19:58 
Аватара пользователя
Otta в сообщении #1404988 писал(а):
Только все время ее забываю )) не использую потому что.
А зря!
Otta в сообщении #1404986 писал(а):
пихать в article раздел part как-то чудно.

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

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


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