From e0c6872cf40896c7be36b11dcc744620f10adf1d Mon Sep 17 00:00:00 2001 From: Norbert Preining Date: Mon, 2 Sep 2019 13:46:59 +0900 Subject: Initial commit --- macros/latex/contrib/svn-multi/group_example.tex | 373 +++++++++++++++++++++++ 1 file changed, 373 insertions(+) create mode 100644 macros/latex/contrib/svn-multi/group_example.tex (limited to 'macros/latex/contrib/svn-multi/group_example.tex') 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} + -- cgit v1.2.3