129 lines
3.3 KiB
Plaintext
129 lines
3.3 KiB
Plaintext
|
%% Copyright 2021 Ian Jauslin
|
||
|
%%
|
||
|
%% Licensed under the Apache License, Version 2.0 (the "License");
|
||
|
%% you may not use this file except in compliance with the License.
|
||
|
%% You may obtain a copy of the License at
|
||
|
%%
|
||
|
%% http://www.apache.org/licenses/LICENSE-2.0
|
||
|
%%
|
||
|
%% Unless required by applicable law or agreed to in writing, software
|
||
|
%% distributed under the License is distributed on an "AS IS" BASIS,
|
||
|
%% WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||
|
%% See the License for the specific language governing permissions and
|
||
|
%% limitations under the License.
|
||
|
|
||
|
%%
|
||
|
%% Points package:
|
||
|
%% \point commands
|
||
|
%%
|
||
|
|
||
|
%% TeX format
|
||
|
\NeedsTeXFormat{LaTeX2e}[1995/12/01]
|
||
|
|
||
|
%% package name
|
||
|
\ProvidesPackage{point}[2017/06/13]
|
||
|
|
||
|
%% options
|
||
|
\newif\ifresetatsection
|
||
|
\DeclareOption{reset_at_section}{\resetatsectiontrue}
|
||
|
\DeclareOption{no_reset_at_section}{\resetatsectionfalse}
|
||
|
\newif\ifresetatsubsection
|
||
|
\DeclareOption{reset_at_subsection}{\resetatsubsectiontrue}
|
||
|
\DeclareOption{no_reset_at_subsection}{\resetatsubsectionfalse}
|
||
|
\newif\ifresetatsubsubsection
|
||
|
\DeclareOption{reset_at_subsubsection}{\resetatsubsubsectiontrue}
|
||
|
\DeclareOption{no_reset_at_subsubsection}{\resetatsubsubsectionfalse}
|
||
|
\newif\ifresetattheo
|
||
|
\DeclareOption{reset_at_theo}{\resetattheotrue}
|
||
|
\DeclareOption{no_reset_at_theo}{\resetattheofalse}
|
||
|
|
||
|
\def\point@defaultoptions{
|
||
|
\ExecuteOptions{reset_at_section, reset_at_subsection, reset_at_subsubsection, no_reset_at_theo}
|
||
|
\ProcessOptions
|
||
|
|
||
|
%% reset at every new section
|
||
|
\ifresetatsection
|
||
|
\let\point@oldsection\section
|
||
|
\gdef\section{\resetpointcounter\point@oldsection}
|
||
|
\fi
|
||
|
%% reset at every new subsection
|
||
|
\ifresetatsubsection
|
||
|
\let\point@oldsubsection\subsection
|
||
|
\gdef\subsection{\resetpointcounter\point@oldsubsection}
|
||
|
\fi
|
||
|
%% reset at every new subsubsection
|
||
|
\ifresetatsubsubsection
|
||
|
\let\point@oldsubsubsection\subsubsection
|
||
|
\gdef\subsubsection{\resetpointcounter\point@oldsubsubsection}
|
||
|
\fi
|
||
|
|
||
|
%% reset at every new theorem
|
||
|
\ifresetattheo
|
||
|
\ifdefined\iantheotrue
|
||
|
\let\point@oldtheo\theo
|
||
|
\gdef\theo{\resetpointcounter\point@oldtheo}
|
||
|
\fi
|
||
|
\fi
|
||
|
}
|
||
|
|
||
|
|
||
|
%% point
|
||
|
% counter
|
||
|
\newcounter{pointcount}
|
||
|
\def\point{
|
||
|
\stepcounter{pointcount}
|
||
|
\setcounter{subpointcount}{0}
|
||
|
% hyperref anchor (only if the class is 'ian')
|
||
|
\ifdefined\ifianclass
|
||
|
\hrefanchor
|
||
|
% define tag (for \label)
|
||
|
\xdef\tag{\thepointcount}
|
||
|
\fi
|
||
|
% header
|
||
|
\indent{\bf \thepointcount\ - }
|
||
|
}
|
||
|
|
||
|
%% subpoint
|
||
|
% counter
|
||
|
\newcounter{subpointcount}
|
||
|
\def\subpoint{
|
||
|
\stepcounter{subpointcount}
|
||
|
\setcounter{subsubpointcount}0
|
||
|
% hyperref anchor (only if the class is 'ian')
|
||
|
\ifdefined\ifianclass
|
||
|
\hrefanchor
|
||
|
% define tag (for \label)
|
||
|
\xdef\tag{\thepointcount-\thesubpointcount}
|
||
|
\fi
|
||
|
% header
|
||
|
\indent\hskip.5cm{\bf \thepointcount-\thesubpointcount\ - }
|
||
|
}
|
||
|
|
||
|
%% subsubpoint
|
||
|
% counter
|
||
|
\newcounter{subsubpointcount}
|
||
|
\def\subsubpoint{
|
||
|
\stepcounter{subsubpointcount}
|
||
|
% hyperref anchor (only if the class is 'ian')
|
||
|
\ifdefined\ifianclass
|
||
|
\hrefanchor
|
||
|
% define tag (for \label)
|
||
|
\xdef\tag{\thepointcount-\thesubpointcount-\thesubsubpointcount}
|
||
|
\fi
|
||
|
\indent\hskip1cm{\bf \thepointcount-\thesubpointcount-\thesubsubpointcount\ - }
|
||
|
}
|
||
|
|
||
|
|
||
|
%% reset point counters
|
||
|
\def\resetpointcounter{
|
||
|
\setcounter{pointcount}{0}
|
||
|
\setcounter{subpointcount}{0}
|
||
|
\setcounter{subsubpointcount}{0}
|
||
|
}
|
||
|
|
||
|
|
||
|
|
||
|
%% end
|
||
|
\point@defaultoptions
|
||
|
\endinput
|