diff options
author | Karl Berry <karl@freefriends.org> | 2012-09-25 23:02:57 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2012-09-25 23:02:57 +0000 |
commit | bfe53688ab950cd41271c259a29df8dd5eff29cd (patch) | |
tree | 0fab8b710efeb07477a5f1bd169bca76054e7e65 /Master/texmf-dist/tex/latex/scrjrnl/scrjrnl.cls | |
parent | b14abac08c7082e02d7504f9c24704349ff4ad31 (diff) |
new latex package scrjrnl (25sep12)
git-svn-id: svn://tug.org/texlive/trunk@27810 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/latex/scrjrnl/scrjrnl.cls')
-rw-r--r-- | Master/texmf-dist/tex/latex/scrjrnl/scrjrnl.cls | 209 |
1 files changed, 209 insertions, 0 deletions
diff --git a/Master/texmf-dist/tex/latex/scrjrnl/scrjrnl.cls b/Master/texmf-dist/tex/latex/scrjrnl/scrjrnl.cls new file mode 100644 index 00000000000..b1f0211420e --- /dev/null +++ b/Master/texmf-dist/tex/latex/scrjrnl/scrjrnl.cls @@ -0,0 +1,209 @@ +%% +%% This is file `scrjrnl.cls', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% scrjrnl.dtx (with options: `package') +%% +%% This is a generated file. +%% +%% Copyright (C) 2011-2012 by Raphaƫl Pinson <raphink@gmail.com> +%% -------------------------------------------------------------------------- +%% This work may be distributed and/or modified under the +%% conditions of the LaTeX Project Public License, either version 1.3 +%% of this license or (at your option) any later version. +%% The latest version of this license is in +%% http://www.latex-project.org/lppl.txt +%% and version 1.3 or later is part of all distributions of LaTeX +%% version 2005/12/01 or later. +%% +\NeedsTeXFormat{LaTeX2e}[1999/12/01] +\ProvidesClass{scrjrnl} + [2012/09/24 0.1 A class to typeset diaries or journals] +%% Index by day +%% Get the date for the recorded day +%% Go through index items +%% Patch imakeidx to map journal entry instead of page +\ProvidesClass{scrjrnl} +\DeclareOption{scrartcl}{\def\jrnl@class{scrartcl}} +\DeclareOption{scrreprt}{\def\jrnl@class{scrreprt}} +\DeclareOption{scrbook}{\def\jrnl@class{scrbook}} +\DeclareOption*{\PassOptionsToClass{\CurrentOption}{\jrnl@class}} +\ExecuteOptions{scrbook} +\newif\if@jrnl@monthpages +\DeclareOption{monthpages}{\@jrnl@monthpagestrue} +\newif\if@jrnl@fancytabs +\DeclareOption{fancytabs}{\@jrnl@fancytabstrue} +\newif\if@jrnl@cleardaypages +\DeclareOption{cleardaypages}{\@jrnl@cleardaypagestrue} +\ProcessOptions\relax +\LoadClass{\jrnl@class} +\RequirePackage{titlesec} +\AfterPackage!{babel}{\RequirePackage{datetime}} +\newcommand\jrnlformatdate\formatdateny +\newcommand\jrnlformatindexdate\formatdateny +\def\formatdateny{\csname noyear\languagename\expandafter\endcsname\formatdate} + +\def\noyearenglish#1, \the\@year{#1} +\let\noyearamerican\noyearenglish +\let\noyearbritish\noyearenglish +\def\noyearfrench#1\space\number\@year{#1} +\let\noyeargerman\noyearfrench +\let\noyearaustrian\noyeargerman +\let\noyearswedish\noyearfrench +\let\noyearbreton\noyearfrench +\def\noyearrussian#1\ \number\@year~\cyrg.{#1} +\def\noyearspanish#1\ de~\number\@year{#1} +\let\noyearcatalan\noyearspanish +\def\noyearbasque#1\number\@year.eko\space{#1} +\newlength{\jrnldaysepskip} +\setlength{\jrnldaysepskip}{0pt} +\newlength{\jrnldayafterskip} +\setlength{\jrnldayafterskip}{2\baselineskip} +%%\if@jrnl@fancytabs +\RequirePackage{fancytabs}[2012/09/24] +%%\fi +\newcommand{\jrnl@monthname}[1]{\monthname[#1]} +\newcommand{\jrnl@curmonth}{\jrnl@monthname{\thejrnlmonth}} +\newcounter{jrnlstartchapter} +\newcounter{jrnlday} +\newcounter{jrnlmonth} +\newcounter{jrnlyear} +\newcounter{jrnltotalday} +\newcommand{\HTMLchapHook}[1]{} +\newcommand{\HTMLsecHook}[2]{} +\newcounter{jrnlmonthstartday} +\define@key{jrnlmonth}{month}{\setcounter{jrnlmonth}{#1}\addtocounter{jrnlmonth}{-1}} +\define@key{jrnlmonth}{startday}{\setcounter{jrnlmonthstartday}{#1}\addtocounter{jrnlmonthstartday}{-1}} + +\newcommand{\jrnlmonth}[1][]{% + % Use \thejrnlstatday if first month of journal + \setcounter{jrnlmonthstartday}{\thejrnlstartday}% + \setcounter{jrnlstartday}{0}% + \setkeys{jrnlmonth}{#1}% + \stepcounter{jrnlmonth}% + \HTMLchapHook{\jrnl@curmonth}% + \if@jrnl@monthpages + \chapter{\jrnl@curmonth}% + \cleardoublepage% + \else + \refstepcounter{chapter}% + \@maybeautodot\thechapter + \addchaptertocentry{\thechapter}{\jrnl@curmonth}% + \fi + \setcounter{jrnlday}{\thejrnlmonthstartday}% +} +\newcommand{\jrnl@pagedate}{% + \jrnlformatdate{\thejrnlday}{\thejrnlmonth}{\thejrnlyear}% +} +\define@key{jrnlday}{day}{\setcounter{jrnlday}{#1}\addtocounter{jrnlday}{-1}} +\define@key{jrnlday}{ante}{\def\jrnlday@ante{#1}} +\define@key{jrnlday}{post}{\def\jrnlday@post{#1}} + +\newcommand{\jrnlday}[2][]{% + \def\jrnlday@ante{}% + \def\jrnlday@post{}% + \setkeys{jrnlday}{#1}% + \stepcounter{jrnlday}% + \stepcounter{jrnltotalday}% + \if@jrnl@cleardaypages + \cleardoublepage + \fi + \newpage\section{#2}% + % TODO: provide index macros to be used with jrnlpagedate\thepage + \expandafter\xdef\csname jrnldaydate\thejrnltotalday\endcsname{% + \noexpand\jrnlformatindexdate{\thejrnlday}{\thejrnlmonth}{\thejrnlyear}% +}% + \HTMLsecHook{\jrnlday@ante\jrnlformatdate{\thejrnlday}{\thejrnlmonth}{\thejrnlyear}\jrnlday@post}{#2}% +} +\newcommand\dayheadfont{} +\newcommand\monthheadfont{} +\newcommand\jrnl@titlestrut{\vrule height 25pt width0pt\relax} +\newcommand{\jrnl@secstyle}{\filcenter\dayheadfont\huge} +\newcommand{\jrnl@seclblstyle}{\raggedright\normalfont\scshape\Large} +\newcommand{\jrnl@seclbl}{\jrnl@seclblstyle\jrnlday@ante\jrnl@pagedate\jrnlday@post\\} + +\newcommand{\jrnl@chapstyle}{\filcenter\monthheadfont\Huge\textsc} +\newcounter{jrnlstartmonth} +\newcounter{jrnlstartday} +\define@key{jrnl}{startmonth}{\setcounter{jrnlstartmonth}{#1}\addtocounter{jrnlstartmonth}{-1}} +\define@key{jrnl}{startday}{\setcounter{jrnlstartday}{#1}\addtocounter{jrnlstartday}{-1}} +\newlength{\jrnl@bleed} +\define@key{jrnl}{bleed}{\setlength{\jrnl@bleed}{#1}} + +\newenvironment{journal}[1][]% +{% +\setcounter{jrnlstartmonth}{0}% +\setcounter{jrnlstartday}{0}% +\setkeys{jrnl}{#1}% +\setcounter{jrnlstartchapter}{\thechapter} +\addtocounter{jrnlmonth}{\thejrnlstartmonth} + +\titleformat{\chapter}[block] + {\vfill} + {}{0pt} + {\jrnl@chapstyle} + [\vfill\vfill] + +\if@jrnl@fancytabs + % We know \paperheight and bleed + % Calculation base: + % 6*fancytabsHeight+2*fancytabsTop+5*fancytabsGap = paperheight + % fancytabsHeight = 10*fancytabsGap + % fancytabsTop = 5*fancytabsGap + 2*bleed + + % Calculate \calcfancytabsGap as (\the\paperheight-2*bleed)/75 + \newlength{\calcfancytabsGap} + \pgfmathsetlength{\calcfancytabsGap}{\the\paperheight-2*\the\jrnl@bleed)/75} + \fancytabsGap{\the\calcfancytabsGap} + + % Calculate \calcfancytabsHeight as 10*\calcfancytabsGap + \newlength{\calcfancytabsHeight} + \pgfmathsetlength{\calcfancytabsHeight}{10*\calcfancytabsGap} + \fancytabsHeight{\the\calcfancytabsHeight} + + % Calculate \calcfancytabsTop as (5*\calcfancytabsGap+2\jrnl@bleed) + \newlength{\calcfancytabsTop} + \pgfmathsetlength{\calcfancytabsTop}{5*\calcfancytabsGap+2*\the\jrnl@bleed} + \fancytabsTop{\the\calcfancytabsTop} + + % Calculate \fancytabsWidth, without bleed + \newlength{\calcfancytabsWidth} + \pgfmathsetlength{\calcfancytabsWidth}{\the\paperwidth/12} + + % Calculate \fancytabsWidthBleed, with bleed + \newlength{\calcfancytabsWidthBleed} + \pgfmathsetlength{\calcfancytabsWidthBleed}{\the\calcfancytabsWidth+\the\jrnl@bleed} + \fancytabsWidth{\the\calcfancytabsWidthBleed} + + \fancytabsTextVPos{0.5} + % Put text more inside + % \fancytabsTextHPos = (\fancytabsWidth/2)/\fancytabsWidthBleed + \pgfmathsetmacro{\calcfancytabsTextHPos}{(\the\calcfancytabsWidth/2)/(\the\calcfancytabsWidthBleed)} + \fancytabsTextHPos{\calcfancytabsTextHPos} + + \newcommand{\jrnl@fancytab}{% + \ifthenelse{\isodd{\thepage}}% + {\fancytab{\jrnl@curmonth}{\thejrnlmonth}}% + {}% + } +\else + \newcommand{\jrnl@fancytab}{}% +\fi + +\titleformat{\section}[display] + {\jrnl@secstyle} % format + {\jrnl@seclbl} % label + {\jrnldaysepskip} %sep + {\jrnl@fancytab% + \jrnl@titlestrut\filcenter} %before + [\vspace{\jrnldayafterskip}] %after + +\titlespacing{\section}{0pt}{*}{-3pt} + +} % end of \begin{devotional} +{} % end of \end{devotional} +\endinput +%% +%% End of file `scrjrnl.cls'. |