Skip to content

Instantly share code, notes, and snippets.

@dflemstr
Last active December 24, 2015 21:39
Show Gist options
  • Select an option

  • Save dflemstr/6866898 to your computer and use it in GitHub Desktop.

Select an option

Save dflemstr/6866898 to your computer and use it in GitHub Desktop.
Mitt template för formella dokument med pseudokod (Kompilera med `xelatex`, inte `latex`)
% Byt pappersstorlek och fontstorlek
\documentclass[a4paper,10pt]{article}
% Så att man kan skriva ä istället för typ \"a
\usepackage{xunicode}
% Bra grejer
\usepackage{xltxtra}
% Gör så att automatiska ordbrytningar blir svenska istället för engelska, t.ex. "mo-rot" istället för "mor-ot"
% samt att alla datum blir på rätt språk, Sammanfattning istället för Abstract etc.
\usepackage{polyglossia}
% Gör så att man får riktiga hyperlänkar i PDFen, och att man kan klicka på referenser etc.
\usepackage[pdfusetitle,bookmarks=true,
bookmarksnumbered=true,bookmarksopen=false,
breaklinks=false,pdfborder={0 0 0},backref=false,
colorlinks=false]{hyperref}
% Gör så att man kan välja vilka fonts som helst (ttf eller otf etc)
\usepackage{fontspec}
% Detta paket krävs för parskip typ
\usepackage{titlesec}
% Gör så att det blir utrymme mellan paragrafer istället för att första raden är indenterad
\usepackage[parfill]{parskip}
% Gör så att algorithmic-block fungerar
\usepackage{algpseudocode}
% Gör så att man kan ha algorithm-floats
\usepackage{algorithm}
% Bug i TexLive 2010
\DeclareUTFcharacter[\UTFencname]{x00A0}{\nobreakspace}
% Serif font, du kan byta till något annat än Garamond Premier Pro (ta bort SizeFeatures då)
\setmainfont[
Mapping=tex-text,
Scale=MatchLowercase,
Ligatures={Common,TeX},
SizeFeatures={
{Size={-9},Font=* Caption},
{Size={9-15},Font=*},
{Size={15-23},Font=* Subhead},
{Size={23-},Font=* Display}
}
]{Garamond Premier Pro}
% Sans-serif font
\setsansfont[
Mapping=tex-text,
Scale=MatchLowercase,
Ligatures={Common,TeX}
]{Myriad Pro}
% Monospace font
\setmonofont[
Scale=MatchLowercase,
BoldFont={PragmataPro Bold},
ItalicFont={PragmataPro Italic},
BoldItalicFont={PragmataPro Bold Italic}
]{PragmataPro}
% Konfigurerar polyglossia för svenska
\setdefaultlanguage{swedish}
% Polyglossia missar att översätta "Algorithm"
\floatname{algorithm}{Algoritm}
% Kommandot används raden efter
\algnewcommand\algorithmicto{\textbf{to}}
% Gör så att for-loopar har formen "for <1> <- <2> to <3> do" istället för "for <1> do"
\algrenewtext{For}[3]{\algorithmicfor\ $#1 \gets #2$ \algorithmicto\
$#3$ \algorithmicdo}
% Gör så att man kan skriva \Return{$bla$} istället för \State \Return $bla$
\renewcommand\Return[1]{\State\textbf{return}\space#1}
% Gör en hyperlänk för author email
\newcommand{\authoremail}[2]{#1\\{\small(\href{mailto:#2}{#2})}}
% Den första versionen utav titeln är den som visas; den andra är för titeln på PDFen (som du ser så saknas line breaks: \\)
\title{
\texorpdfstring{
DD1352\\Algoritmer, datastrukturer och komplexitet\\Mästarprov
1: Algoritmer
}{
DD1352 Algoritmer, datastrukturer och komplexitet Mästarprov 1:
Algoritmer
}
}
% Anpassa!
\author{
\authoremail{David Flemström}{[email protected]}
}
\date{\today}
\begin{document}
\maketitle
\begin{abstract}
% Skriv sammanfattning
\end{abstract}
\pagebreak
\tableofcontents
\pagebreak
% Skriv dokumentet
\section{Summering utav saker}
\subsection{Exempelvis arrayer}
Se algoritm \ref{algo:sum}!
\begin{algorithm}
\caption{Summan utav en array}\label{algo:sum}
Låt $A$ vara en array med tal.
\begin{algorithmic}
\Procedure{Sum}{$n,A_{1\ldots n}$}
\State{}$result\gets 0$
\For{i}{1}{n}
\State{}$result\gets result + A_i$
\EndFor{}
\Return{$result$}
\EndProcedure{}
\end{algorithmic}
\end{algorithm}
\end{document}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment