summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/latex/scrjrnl/scrjrnl.cls
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2012-09-25 23:02:57 +0000
committerKarl Berry <karl@freefriends.org>2012-09-25 23:02:57 +0000
commitbfe53688ab950cd41271c259a29df8dd5eff29cd (patch)
tree0fab8b710efeb07477a5f1bd169bca76054e7e65 /Master/texmf-dist/tex/latex/scrjrnl/scrjrnl.cls
parentb14abac08c7082e02d7504f9c24704349ff4ad31 (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.cls209
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'.