summaryrefslogtreecommitdiff
path: root/macros/latex/contrib/svn-multi/group_example.tex
diff options
context:
space:
mode:
authorNorbert Preining <norbert@preining.info>2019-09-02 13:46:59 +0900
committerNorbert Preining <norbert@preining.info>2019-09-02 13:46:59 +0900
commite0c6872cf40896c7be36b11dcc744620f10adf1d (patch)
tree60335e10d2f4354b0674ec22d7b53f0f8abee672 /macros/latex/contrib/svn-multi/group_example.tex
Initial commit
Diffstat (limited to 'macros/latex/contrib/svn-multi/group_example.tex')
-rw-r--r--macros/latex/contrib/svn-multi/group_example.tex373
1 files changed, 373 insertions, 0 deletions
diff --git a/macros/latex/contrib/svn-multi/group_example.tex b/macros/latex/contrib/svn-multi/group_example.tex
new file mode 100644
index 0000000000..e961e7da9f
--- /dev/null
+++ b/macros/latex/contrib/svn-multi/group_example.tex
@@ -0,0 +1,373 @@
+\RequirePackage{atbegshi}
+\documentclass[a4paper,oneside]{scrbook}
+\usepackage[all]{svn-multi}[2010/12/29]
+\svnidlong
+{$HeadURL: svn://server/group_example.tex $}
+{$LastChangedDate: 2000-01-01 01:44:01 +0000 (Main file) $}
+{$LastChangedRevision: 98 $}
+{$LastChangedBy: author3 $}
+
+
+% Pre-declaration of groups to define order in table
+\svngroup{abc}
+\svngroup{def}
+\svngroup{ghi}
+\svngroup{jkl}
+%\svngroup{Images}
+\svngroup{}
+
+% Ignore logo in subfiles and set it explicitly into the main file:
+%\svnexternal{{logo.jpg}}%
+%\svnignoregraphic{logo.jpg}
+
+% Special groups for images and other external files:
+%\svngraphicsgroup{Images}
+%\svnexternalgroup{external}
+
+\let\ifvtex=\relax
+\usepackage{hyperref}
+\usepackage{ifthen}
+\usepackage{listings}
+\lstset{basicstyle=\ttfamily}
+\makeatletter
+% Workaround for listinputlisting
+\newcommand*{\svnlstinputlisting}[2][]{%
+ {\let\input\@input\lstinputlisting[#1]{#2}}%
+}
+\makeatother
+\usepackage{booktabs}
+\usepackage{tabularx}
+\usepackage{longtable}
+
+% This is an example document to show the group feature of svn-multi 2.0.
+% Please the notes below.
+
+\makeatletter
+% Version control information table for each chapter
+\newcommand{\chaptervctable}{%
+\par\noindent
+\textbf{Version Control Information for this chapter}\\[\bigskipamount]%
+\begin{tabular}{lp{0.7\textwidth}}
+Chapter URL & \svnnolinkurl{\svnfileurl}\\
+Chapter File name & \svnnolinkurl{\svnfilefname}\\
+Last Changed Revision & \svnfilerev\\
+Last Changed Author & \svnfileauthor\\
+Last Changed Date & \svnfiledate\\
+\end{tabular}
+\bigskip
+\par\noindent
+This files contains the following SVN keywords:\\*[-\baselineskip]
+{\let\input\@input
+\svnlstinputlisting[firstline=5,lastline=9]{\currfilepath}
+}
+}
+\makeatother
+
+% This file generates some example sub files from this file to avoid a lot of small
+% example files in the CTAN directory. In real life there would be separate
+% files from the beginning.
+
+\begin{filecontents}{group_example_part1a.tex}
+\svnidlong
+{$HeadURL: svn://server/group_example_part1a.tex $}
+{$LastChangedDate: 2000-01-01 01:00:01 +0000 (Chapter 1a) $}
+{$LastChangedRevision: 101 $}
+{$LastChangedBy: author1 $}
+
+\chapter{Subfile 1a}
+\chaptervctable
+\end{filecontents}
+
+\begin{filecontents}{group_example_part1b.tex}
+\svnidlong
+{$HeadURL: svn://server/group_example_part1b.tex $}
+{$LastChangedDate: 2001-01-01 00:00:01 +0000 (Subfile 1b) $}
+{$LastChangedRevision: 102 $}
+{$LastChangedBy: author2 $}
+
+\chapter{Subfile 1b}
+\chaptervctable
+\end{filecontents}
+
+\begin{filecontents}{group_example_part1c.tex}
+\svnidlong
+{$HeadURL: svn://server/group_example_part1c.tex $}
+{$LastChangedDate: 2000-01-01 00:00:01 +0000 (Subfile 1c) $}
+{$LastChangedRevision: 104 $}
+{$LastChangedBy: author3 $}
+
+\chapter{Subfile 1c}
+\chaptervctable
+\end{filecontents}
+
+\begin{filecontents}{group_example_part2a.tex}
+\svnidlong
+{$HeadURL: svn://server/group_example_part2a.tex $}
+{$LastChangedDate: 2000-01-01 00:00:01 +0000 (Subfile 2a) $}
+{$LastChangedRevision: 100 $}
+{$LastChangedBy: author1 $}
+
+\chapter{Subfile 2a}
+\chaptervctable
+\end{filecontents}
+
+\begin{filecontents}{group_example_part2b.tex}
+\svnidlong
+{$HeadURL: svn://server/group_example_part2b.tex $}
+{$LastChangedDate: 2000-01-01 00:00:01 +0000 (Subfile 2b) $}
+{$LastChangedRevision: 101 $}
+{$LastChangedBy: author1 $}
+
+\chapter{Subfile 2b}
+\chaptervctable
+\end{filecontents}
+
+\begin{filecontents}{group_example_part3a.tex}
+\svnidlong
+{$HeadURL: svn://server/group_example_part3a.tex $}
+{$LastChangedDate: 2000-01-01 00:00:01 +0000 (Subfile 3a) $}
+{$LastChangedRevision: 104 $}
+{$LastChangedBy: author3 $}
+
+\chapter{Subfile 3a}
+\chaptervctable
+\end{filecontents}
+
+\begin{filecontents}{group_example_part3b.tex}
+\svnidlong
+{$HeadURL: svn://server/group_example_part3b.tex $}
+{$LastChangedDate: 2000-01-01 00:00:01 +0000 (Subfile 3b) $}
+{$LastChangedRevision: 103 $}
+{$LastChangedBy: author2 $}
+
+\chapter{Subfile 3b}
+\chaptervctable
+\end{filecontents}
+
+\begin{filecontents}{group_example_part4a.tex}
+\svnidlong
+{$HeadURL: svn://server/group_example_part4a.tex $}
+{$LastChangedDate: 2000-01-01 00:00:01 +0000 (Subfile 4a) $}
+{$LastChangedRevision: 99 $}
+{$LastChangedBy: author3 $}
+
+\chapter{Subfile 4a}
+\chaptervctable
+\input{group_example_part4a_sub1.tex}
+\end{filecontents}
+
+\begin{filecontents}{group_example_part4a_sub1.tex}
+\svnidlong
+{$HeadURL: svn://server/group_example_part4a_sub1.tex $}
+{$LastChangedDate: 2000-01-01 00:00:00 +0000 (SubSubfile 4a-1) $}
+{$LastChangedRevision: 96 $}
+{$LastChangedBy: author2 $}
+
+\section{SubSubfile 4a-1}
+This is a sub file in a sub file.
+\svnexternal{{Makefile}}
+\end{filecontents}
+
+\begin{filecontents}{group_example_part4b.tex}
+\svnidlong
+{$HeadURL: svn://server/group_example_part4b.tex $}
+{$LastChangedDate: 2000-01-01 00:00:01 +0000 (Subfile 4b) $}
+{$LastChangedRevision: 105 $}
+{$LastChangedBy: author2 $}
+
+\chapter{Subfile 4b}
+\chaptervctable
+\end{filecontents}
+
+\begin{filecontents}{group_example_end.tex}
+\svnidlong
+{$HeadURL: svn://server/group_example_end.tex $}
+{$LastChangedDate: 2000-01-01 00:00:01 +0000 (End) $}
+{$LastChangedRevision: 100 $}
+{$LastChangedBy: author1 $}
+
+\chapter{End credits}
+\chaptervctable
+\end{filecontents}
+
+\begin{filecontents}{group_example_unexpanded.tex}
+\svnidlong
+{$HeadURL$}
+{$LastChangedDate$}
+{$LastChangedRevision$}
+{$LastChangedBy$}
+
+\chapter{File with unexpanded keywords}
+\chaptervctable
+\end{filecontents}
+
+\svnRegisterAuthor{author1}{Andy Author, I.}
+\svnRegisterAuthor{author2}{A. Author, II.}
+\svnRegisterAuthor{author3}{Anthony Author, III.}
+
+% Have VC info on every part page
+\let\origpart=\part
+\def\part{%
+\setpartpreamble{%
+\vspace*{5cm}
+\par\noindent
+\textbf{Version Control Information for this part:}\\[\bigskipamount]%
+\begin{tabular}{lp{0.7\textwidth}}
+URL of latest File & \svnnolinkurl{\svncgurl}\\
+Name of latest File & \svnnolinkurl{\svncgfname}\\
+Last Changed Revision & \svncgrev\\
+Last Changed Author & \svncgauthor\\
+Last Changed Date & \svncgdate\\
+\end{tabular}
+}\origpart
+}
+
+\listfiles
+\begin{document}
+
+% Custom titlepage:
+\hbox{}%
+\vfill
+\pdfbookmark{Title Page}{titlepage}%
+{\centering
+\Huge\texttt{svn-multi} v2.0 Keyword Groups Example Document\\
+\Large Martin Scharrer\\
+\large 2009/03/01\\
+}%
+\vfill
+\par\noindent
+This is an example and test document for the group feature of svn-multi 2.0.
+Please note that the revision keywords were generated manually for testing
+purposes. The dates are not consistent with the revisions and contain a debug
+name instead of the date text like `(Sat, January 1 2009)'. This doesn't
+influence the correct functionality of the svn-multi package.\\
+\bigskip
+{\hbox{}\hfill Happy \TeX ing!}\\
+\vfill%
+\par\noindent
+{\large Version Control Information for this document:\\[\bigskipamount]}%
+\begin{tabular}{lp{0.7\textwidth}}
+Main URL & \svnnolinkurl{\svnmainurl}\\
+Main File name & \svnnolinkurl{\svnmainfilename}\\
+URL of latest file & \svnnolinkurl{\svnurl}\\
+Name of latest file & \svnnolinkurl{\svnfname}\\
+Last Changed Revision & \svnrev\\
+Last Changed Author & \svnauthor\\
+Last Changed Date & \svndate\\
+\end{tabular}
+\bigskip\par\noindent
+The main file of this document contains the following SVN
+keywords:\\*[-\baselineskip]
+\svnlstinputlisting[firstline=3,lastline=7]{\currfilepath}
+\thispagestyle{empty}
+\clearpage
+
+% Default in Engish
+\renewcommand{\svnbeforetable}{%
+This is an automatic generated table using the \textbf{\sffamily table} option.
+\bigskip\par\noindent
+}
+\clearpage
+\pdfbookmark{Table of Revisions (1)}{tora}%
+\tableofrevisions
+\clearpage
+
+% Redefined to German
+% Uses booktabs for nicer table
+\renewcommand{\svnbeforetable}{%
+Can be redefined to another format and language: Verstehen Sie Deutsch?
+\bigskip\par\noindent
+}
+\renewenvironment{svntable}{%
+\begin{longtable}{p{6.2cm}rll}
+\toprule
+}
+{%
+\bottomrule
+\end{longtable}
+}
+\renewcommand*\svntablehead{%
+ Name & Rev & Autor & Datum \\
+\midrule[\heavyrulewidth]
+}
+\renewcommand{\svnrevisionsname}{Revisionen}
+\renewcommand{\svntabgroup}[1]{Gruppe `#1'}
+
+% Some highlight examples:
+% Print highest revision bold:
+\renewcommand{\svntabrev}[1]{\ifthenelse{#1=\svnrev}{\textbf{#1}}{#1}}
+% Highlight all dates after the 14th March 2008 12:00:00:
+\renewcommand{\svntabdate}[8]{%
+ \ifthenelse{#1#2#3#4>2008031412}{\color{red}\bfseries}{}%
+ \small #3.#2.#1\ #4:#5:#6%
+}
+% Mark all files last changed by the last author:
+\renewcommand{\svntabauthor}[1]{%
+ \ifthenelse{\equal{#1}{\svnauthor}}{\color{green}}{}%
+ \svnFullAuthor{#1}%
+}
+
+% Using \scriptsize and \svnnolinkurl for files and subgroups:
+\renewcommand{\svntabfile}[2]{%
+ \addtolength{\leftskip}{#1\medskipamount}%
+ Datei `{\scriptsize\svnnolinkurl{#2}}'
+}
+\renewcommand{\svntabsubgroup}[2]{%
+ \addtolength{\leftskip}{#1\medskipamount}%
+ Untergruppe `{\scriptsize\svnnolinkurl{#2}}'%
+}
+\renewcommand{\svntabglobal}[1]{Gesamtes Dokument}
+
+% Add rule before group rows:
+\renewcommand{\svngrouprow}{\midrule}
+% Add rule and description after global row:
+\renewcommand{\endsvnglobalrow}{\midrule Ohne Gruppe:\\}
+
+\pdfbookmark{Table of Revisions (2)}{torb}%
+\tableofrevisions
+\clearpage
+
+
+\svngroup{abc}
+\part{Abc}
+\input{group_example_part1a}
+\include{group_example_part1b}
+\include{group_example_part1c}
+
+\svngroup{def}
+\part{Def}
+\include{group_example_part2a}
+\include{group_example_part2b}
+
+\svngroup{ghi}
+\part{Ghi}
+\include{group_example_part3a}
+\include{group_example_part3b}
+
+\svngroup{jkl}
+\part{jkl}
+\include{group_example_part4a}
+\include{group_example_part4b}
+
+% The rest doesn't belong to a file group:
+\svngroup{}
+\include{group_example_end}
+\include{group_example_unexpanded}
+
+\chapter*{Reference Examples}
+%To reference e.g.\ keyword from group `abc' use:
+\section*{Group `abc'}
+\svnsetcg{abc} Revision \svncgrev\ from \svncgtoday\ \svncgtime\ done by
+\svnFullAuthor{\svncgauthor}. Latest file is \svnnolinkurl{\svncgfname} (URL: \url{\svncgurl}).
+
+\section*{Subgroup `group\_example\_part3b'}
+\svnsetcg{group_example_part3b} Revision \svncgrev\ from \svncgtoday\ \svncgtime\ done by
+\svnFullAuthor{\svncgauthor}. Latest file is \svnnolinkurl{\svncgfname} (URL: \url{\svncgurl}).
+
+\section*{File `group\_example\_part3b.tex'}
+\svnsetcg{group_example_part3b.tex} Revision \svncgrev\ from \svncgtoday\ \svncgtime\ done by
+\svnFullAuthor{\svncgauthor}. File name and url: \svnnolinkurl{\svncgfname} (URL: \url{\svncgurl}).
+
+
+\end{document}
+