Giter Site home page Giter Site logo

krono / swathesis Goto Github PK

View Code? Open in Web Editor NEW
19.0 4.0 18.0 1.09 MB

An unofficial LaTeX class for writing theses at the Software Architecture Group, Hasso-Plattner-Institut, University of Potsdam, Germany.

License: LaTeX Project Public License v1.3c

TeX 78.49% Shell 11.79% JavaScript 2.04% HTML 6.23% Makefile 0.32% Roff 1.13%

swathesis's Introduction

swathesis

A LaTeX class for writing theses at the Hasso-Plattner-Institut, University of Potsdam, Germany. It has often been used at the Software Architecture Group.

This package consists of

  • The swathesis class
  • Supporting style files
  • The swth script for managing swathesis directories

Usage

Simply say

swth create

and after a few questions, you are rewarded with a nice thesis template.

You can easily compile and your LaTeX file with

swth go

or care for individual steps with

swth latex
swth bibtex
swth show

A swth managed bachelor’s thesis is meant to be multipart, and so you can add an additional author to it via

swth author

That are the simple cases. swth --help has more information.

Installation

Use the install script like

./install.sh [--help …]

or use

./tdsify.sh

to generate a TDS compatible package for manual installation.

Requirements

swathesis needs, among others,

See DEPENDS.txt for an exhaustive list of requires packages

Contents

.
├── README.md             — This file
├── LICENSE.txt           — The LPPL
├── DEPENDS.txt           — List of necessary packges
├── install.sh            — Installation helper
├── tdsify.sh             — Packaging helper
├── bin/swth.sh           — The manager script
├── contrib/              — Additional resources, templates for swth
├── swathesis.cls         — The class
├── swa-*.sty             — The style files
├── amd64masm.def         — listing languages
├── javascript.def
├── lua.def
├── smalltalk.def
├── title-hpi-swa.def     — uni-titlepage style
└── title-hpi-swa-phd.def — uni-titlepage style for PhD theses

swathesis's People

Contributors

amintos avatar bdaase avatar codezeilen avatar f4lco avatar fniephaus avatar j4yk avatar krono avatar matthias-springer avatar nef10 avatar tessi avatar timfel avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

swathesis's Issues

Zentrierung und Bindekorrektur

\AtBeginDocument{
\KOMAoption{titlepage}{firstiscover}
\renewcommand{\coverpageleftmargin}{\dimexpr\evensidemargin + .8in\relax}
}
\AtEndPreamble{
\KOMAoptions{BCOR=12pt,DIV=9}
\areaset[current]{\textwidth}{1.61803399\textwidth}
}

Add bird's-eye view

It would be great to make better use of the screen real estate while writing the thesis' contents (and before layouting them) to have a bird's-eye view of the paper:

  • small margins
  • small fonts
  • two-columns
  • centered

The following snippet achieves this:

\AtEndPreamble{
 \KOMAoptions{
  twocolumn=true,
  twoside=semi,
  fontsize=8pt,
  headings=small,
  footinclude=false,
  headinclude=false,
  DIV=calc,
  BCOR=0pt,
 }
}

Insert it before \begin{document}. The result resembles ACM or IEEE research paper formats.

new babel

installation script should automatically install a new version of babel, so it doesn't do this:

! Package babel Error: Language definition file main=english.ldf not found.

\autoref with page number?

If the referenced figure is not in the same, previous, or next page, it would be great to add a page number:

figure

lstlisting has non-fixed width spaces

It is not possible to layout code in the default lstlisting environment like this due to spaces being shorter than the letters:

Transcript cr;
           show: 'foo'.

(Note that the cr is exactly above the show.)

This was my example:

methodsFrom(?classView, ?methodView) if
  hasMethod(forall, ?classView,
            exists, ?methodView),
  not( notHasMethod(exists, ?classView,
                    forall, ?methodView)).

Listing Numbers are not unique (+ solution)

An exemplary "list of listings" using the current template appears as follows:

image

The listing numbering is restarted per chapter, however, the chapter number is not part of the counter. Hence, there are two listings with identifier "1".
The reader should be able to tell apart different listings by their number:

image

I worked around this issue the following way:

\usepackage{chngcntr}

\begin{document}

\counterwithin{lstlisting}{chapter}
...

and think this would be a nice addition to the template, but I am not sure how to integrate it.
With the change, the numbering of listings is consistent with the numbering of figures and tables.

Bibliography in Table of Contents

Possibly, it would be nice for the bibliography to appear in the table contents. Usually the bibliography takes up a few pages and is a good link target. I've seen other thesis including the bibliography in the ToC by default.

-\printbibliography
+\printbibliography[heading=bibintoc]

Do you have opinions on this?

Better document how to add logos

As a thesis author, I want to be informed about the option of adding the logo images to my thesis, in order to not miss this feature.

I personally was not sure about how to add the logo images to my thesis after the Studienreferat told me that I still need to add them (until Toni told me that the swa template already has some logic for them and I just need to put the files inside it), and I know of a student who even handed in the thesis without ever adding the logo images. The intended process here (e.g. where to get the images from and where to put them, so that they are incorporated automatically) should either be reworked, or at least communicated very actively to the author.

Thesis template does not compile on recent TeX Live (+ workaround)

I would like to point out that it is not possible to compile the thesis template on a recent version of TeX Live, and to propose a temporary workaround.

$ swth create
...
$ swth go
Beware of Dragons!
This is pdfTeX, Version 3.14159265-2.6-1.40.19 (TeX Live 2018) (preloaded format=pdflatex)
! Package Listings Error: Numbers none unknown.

l.36 ...Error{Listings}{Numbers #1 unknown}\@ehc}}
! Emergency stop.
 ...
l.36 ...Error{Listings}{Numbers #1 unknown}\@ehc}}
!  ==> Fatal error occurred, no output PDF file produced!
Transcript written on redacted.log.
INFO - This is Biber 2.12
INFO - Logfile is 'redacted.blg'
ERROR - Cannot find control file 'redacted.bcf'! - Did latex run successfully on your .tex file before you ran biber?
INFO - ERRORS: 1
Whoops

I suppose this is due to incompatible changes in dependent packages as per this TeX StackExchange question. Possible solution would be to update the lstlinebgrd package to cope with the changes in listings.

My current workaround this to downgrade the listings package using the TeX Live Utility, and to defer any changes to the setup until completion of my thesis ;) Apparently Rev. 37534 is operational. After the downgrade the document compiles.

image

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.