/skb-latex

LaTeX class for organizing documents, can be integrated into the SKB

Primary LanguageTeX

SKB-LaTeX

Create and maintain a repository for long-living documents

Latest version: v0.53 2016/02/12

Introduction

This package provides macros that help to build a document repository for long living documents. It focuses on structure and re-use of text, code, figures etc. The basic concept is to first separate structure from content (i.e. text about a topic from the structure it is presented by) and then separating the content from the actual published document, thus enabling easy re-use of text blocks in different publications (i.e. text about a protocol in a short article about this protocol as well as in a book about many protocols); all without constantly copying or changing text. As a side effect, using the document classes provided, it hides a lot of LaTeX from someone who just wants to write articles and books.

The following classes are supported

  • skbarticle: an article class using the memoir package

  • skbbook: a book class using the memoir package

  • skbbeamer: a class for presentations using the beamer package

  • skblncsbeamer: a class for annotated slides using the beamer package

  • skblncsppt: a class for annotated Powerpoint slides

  • skbmoderncv: a class integrating the moderncv package

The documentation (current/doc) provides for a user guide, the documentation of the LaTeX package and classes and a few documents showing the capabilities of the skb package for documents and presentations. All documentation of the SKB is done using the SKB itself, so you can have a look into the LaTeX code as well to see how it works.

Status: Alpha, Experimental

This package, while being used by me and some early adaptors, is still in alpha status, thus experimental. We are using it to maintain a large amount of documents (articles, lecture notes, some books, project documentation, open source documentation) and various different platforms (Windows with MikTeX, several Linux systems and OSX). Since we eat our own dog food, we are fairly confident that the package does it’s job well. However, this is not written by a LaTeX expert, I am still learning, and the package might or might not be usefull for you and might or might not work on your machine. We are very interested in comments, critic, advice, recommendations, complaints; as long as you try to keep them contructive ;)

Contents

The repository contains this readme file, a makefile for generating all required files from the source, the package source including licence information (/source) and the generated package documentation and user guide (/doc).

v
+-- makefile
+-- README
+-- [doc]
|    +-- [user-guide]      : lots of TeX and other files for documentation
|    +-- skb.pdf           : package documentation generated from skb.dtx
|    +-- user-guide.pdf    : SKB user guide
|
`-- [source]
     +-- HISTORY.TXT       : history of the package documenting changes
     +-- LICENSE.TXT       : licence for the package
     +-- MANIFEST.TXT      : fiels to which the licence applies
     +-- skb.dtx           : latex source
     `-- skb.ins           : latex installer script

Installation

Your LaTeX distribution might have the SKB package already installed or autmatically install it from CTAN or other sources when you use it the first time. If you need to install it manually, then the first step is to get the archive and extract it a temporary folder of your choice. You should see the directory structure and content as described in the previous section.

To build all parts of the package, you have two options: you can run 'make' (or 'gmake') using the provided makefile. This will create everything needed. Or you can create everything manually following the instructions in the following section. In both cases, the final installation is simply copying all files to their locations in your LaTeX distribution.

  • copy [archive root]/source to $TEXMF/source/latex/skb

  • copy [archive root]/doc to $TEXMF/doc/latex/skb

  • copy [archive root]/run to $TEXMF/tex/latex/skb

Generating Class and Style files from source

You can use the provided makefile to generate the class and style files of the SKB package. If you want to do it manually, simply use the following commands (assuming that you create them in a filder called 'run'):

[archive root]#
[archive root]# mkdir run
[archive root]# cd run;latex ../source/skb.ins

This will create the following files in the run folder:

|
`-- run
     +-- skb.cfg           : texmf/tex/latex/skb
     +-- skb.sty           : texmf/tex/latex/skb
     +-- skbarticle.cls    : texmf/tex/latex/skb
     +-- skbbeamer.cls     : texmf/tex/latex/skb
     +-- skbbook.cls       : texmf/tex/latex/skb
     +-- skblncsbeamer.cls : texmf/tex/latex/skb
     +-- skblncsppt.cls    : texmf/tex/latex/skb
     `-- skbmoderncv.cls   : texmf/tex/latex/skb

Now copy all files into your local LaTeX distribution ($TEXMF is the path to your distribution root):

[archive root]# mkdir $TEXMF/tex/latex/skb
[archive root]# cp run/* $TEXMF/tex/latex/skb

Generating the documentation from source

The  package  already   contains  the  documentation   of  the  SKB   source
(doc/skb.pdf)  and the  user guide  (doc/user-guide.pdf). The  documentation
also provides examples for slides (animated and not animated) and  annotated
slides, which re-use parts of the user guide. To generate all  documentation
you can either use the provided makefile or run latex manually. Start  doing
it manually by going into the 'doc' folder of the package:

  [archive root]# cd doc

Then  run  the  following  command  three  times  to  generate  the  package
documentation (skb.pdf):

  [archive root]/doc# pdflatex ../skb.dtx

Similar with  the user  guide, except  that we  also need  to run BibTeX for
including all references

  [archive root]/doc# pdflatex user-guide/user-guide
  [archive root]/doc# bibtex user-guide
  [archive root]/doc# pdflatex user-guide/user-guide
  [archive root]/doc# pdflatex user-guide/user-guide

Now  generate the  PDF files  for the  slides in  the following  order: not
animated, animated, annotated. The order is important, since the  annotation
uses the PDF file of the not animated slides:

  [archive root]/doc# pdflatex doc/ug-slides-noanim
  [archive root]/doc# bibtex ug-slides-noanim
  [archive root]/doc# pdflatex doc/ug-slides-noanim
  [archive root]/doc# pdflatex doc/ug-slides-noanim

  [archive root]/doc# pdflatex doc/ug-slides-anim
  [archive root]/doc# bibtex ug-slides-anim
  [archive root]/doc# pdflatex doc/ug-slides-anim
  [archive root]/doc# pdflatex doc/ug-slides-anim

  [archive root]/doc# pdflatex doc/ug-slides-notes
  [archive root]/doc# bibtex ug-slides-notes
  [archive root]/doc# pdflatex doc/ug-slides-notes
  [archive root]/doc# pdflatex doc/ug-slides-notes


Configuration
-------------
The SKB comes with a  default  configuration in the package  (`skb.sty`) and
an  external   configuration   file   (`skb.cfg`).   There   are    multiple
options   to  configure   the  SKB    (changing   the   coniguration   file,
using  a   local configuration  file  called  `skblocal.cfg` or  using   the
provided  macro `\skbconfig`). Please refer to the user guide for details.


Where do I get it?
------------------
- GitHub: https://github.com/vdmeer/skb-latex
- CTAN: http://www.ctan.org/tex-archive/macros/latex/contrib/skb/


License
-------
Copyright (c) 2010-2016 Sven van der Meer <vdmeer.sven@mykolab.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.

This work has the LPPL maintenance status `author-maintained'.

The Current Maintainer of this work is
   Sven van der Meer <vdmeer.sven@mykolab.com>

This software is  provided 'as is',  without warranty of  any kind, either
expressed  or  implied,  including,  but  not  limited  to,  the   implied
warranties of merchantability and fitness for a particular purpose.

This work consists of all files in source/MANIFEST.TXT.