107 lines
		
	
	
		
			2.4 KiB
		
	
	
	
		
			TeX
		
	
	
	
	
	
			
		
		
	
	
			107 lines
		
	
	
		
			2.4 KiB
		
	
	
	
		
			TeX
		
	
	
	
	
	
%%
 | 
						|
%% 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\ifresetattheo
 | 
						|
\DeclareOption{reset_at_theo}{\resetattheotrue}
 | 
						|
\DeclareOption{no_reset_at_theo}{\resetattheofalse}
 | 
						|
 | 
						|
\def\point@defaultoptions{
 | 
						|
  \ExecuteOptions{reset_at_section, reset_at_subsection, 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 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
 |