Apply version 2.2 release changes to CTAN version.

This commit is contained in:
Máté Cserép 2021-09-20 16:18:53 +02:00
parent c04d687738
commit 035f196241
14 changed files with 194 additions and 76 deletions

View File

@ -2,11 +2,35 @@ name: Build LaTeX document
on: [push]
jobs:
build_latex:
strategy:
matrix:
engine: [pdflatex, lualatex]
runs-on: ubuntu-latest
steps:
- name: Set up Git repository
uses: actions/checkout@v2
- name: Compile LaTeX document
uses: xu-cheng/latex-action@master
- if: ${{ matrix.engine == 'pdflatex' }}
name: Compile LaTeX document
uses: xu-cheng/latex-action@v2
with:
root_file: elteikthesis.tex
root_file: |
elteikthesis.tex
minted-integration.tex
latexmk_shell_escape: true
- if: ${{ matrix.engine == 'lualatex' }}
name: Compile LaTeX document
uses: xu-cheng/latex-action@v2
with:
root_file: |
elteikthesis.tex
minted-integration.tex
latexmk_shell_escape: true
latexmk_use_lualatex: true
- name: Upload the compiled pdf
uses: actions/upload-artifact@v2.2.4
with:
name: thesis-${{ matrix.engine }}
path: |
elteikthesis.pdf
minted-integration.pdf
if-no-files-found: error

View File

@ -1,6 +1,6 @@
MIT License
Copyright (c) 2013-2020 Máté Cserép <mcserep@inf.elte.hu>, Bálint Bognár
Copyright (c) 2013-2021 Máté Cserép <mcserep@inf.elte.hu>, Bálint Bognár
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal

View File

@ -27,12 +27,17 @@ pdflatex elteikthesis.tex
Compilation might be carried out through a preferred IDE (e.g. [TexStudio](https://www.texstudio.org/)), given the same commands should be executed.
## Syntax highlighting of code blocks
The minted package is also supported for syntax highlighting. For its usage the Python interpreter and the `Pygments` package must be installed as a prerequisite.
See the `elteikthesis-minted.tex` file for example.
## Required packages (without completeness)
**Image handling:**
* Minimal and maximal size: [adjustbox](https://ctan.org/pkg/adjustbox)
* Subfigures: [subfigure](https://ctan.org/pkg/subfigure)
* Subfigures: [subcaption](https://ctan.org/pkg/subcaption)
* Rotation: [rotating](https://ctan.org/pkg/rotating)
**Table management:**
@ -51,8 +56,8 @@ Compilation might be carried out through a preferred IDE (e.g. [TexStudio](https
* Mathematical formulas: [amsmath](https://ctan.org/pkg/amsmath)
* Mathematical definitions: [amsthm](https://ctan.org/pkg/amsthm)
* Mathematical symbols: [amsfonts](https://ctan.org/pkg/amsfonts)
* Algorithms: [algorithmic](https://ctan.org/pkg/algorithms)
* Code blocks: [listingsutf8](https://ctan.org/pkg/listingsutf8)
* Algorithms: [algpseudocode](https://www.ctan.org/pkg/algorithmicx)
* Code blocks: [listingsutf8](https://ctan.org/pkg/listingsutf8), [minted](https://ctan.org/pkg/minted)
**Miscellaneous:**

Binary file not shown.

View File

@ -27,12 +27,17 @@ pdflatex elteikthesis.tex
A fordításhoz tetszőleges fejlesztő környezet is használható (pl. [TexStudio](https://www.texstudio.org/)), ugyanezen utasítások kiadásával.
## Kódblokkok szintaxis kiemelése
A *minted* csomag támogatott a forráskódok szedésére és szintaxis kiemelésére. Használatához szükséges a Python interpreter és a `Pygments` csomag telepítése.
Lásd a `elteikthesis-minted.tex` fájlt példaként.
## Fontosabb függőségi csomagok
**Képkezelés:**
* Minimális és maximális méret: [adjustbox](https://ctan.org/pkg/adjustbox)
* Alábrák: [subfigure](https://ctan.org/pkg/subfigure)
* Alábrák: [subcaption](https://ctan.org/pkg/subcaption)
* Forgatás: [rotating](https://ctan.org/pkg/rotating)
**Táblázatkezelés:**
@ -51,8 +56,8 @@ A fordításhoz tetszőleges fejlesztő környezet is használható (pl. [TexStu
* Matematikai formulák: [amsmath](https://ctan.org/pkg/amsmath)
* Matematikai definíciók: [amsthm](https://ctan.org/pkg/amsthm)
* Matematikai szimbólumok: [amsfonts](https://ctan.org/pkg/amsfonts)
* Algoritmusok: [algorithmic](https://ctan.org/pkg/algorithms)
* Kódblokkok: [listingsutf8](https://ctan.org/pkg/listingsutf8)
* Algoritmusok: [algpseudocode](https://www.ctan.org/pkg/algorithmicx)
* Kódblokkok: [listingsutf8](https://ctan.org/pkg/listingsutf8), [minted](https://ctan.org/pkg/minted)
**Egyebek:**

Binary file not shown.

View File

@ -95,21 +95,21 @@ Példa forrása: \href{https://www.inf.u-szeged.hu/actacybernetica/}{Acta Cybern
\label{alg:ibb}
\textbf{\underline{Funct}} IBB($S,f$)
\begin{algorithmic}[1] % sorszámok megjelenítése minden n. sor előtt, most n = 1
\STATE Set the working list ${\cal L}_W$ := $\{S\}$ and the final list ${\cal L}_Q$ := $\{\}$
\WHILE{( ${\cal L}_W \neq \emptyset$ )} \label{alg:igoend}
\STATE Select an interval $X$ from ${\cal L}_W$ \label{step:selrule}\COMMENT{Selection rule}
\STATE Compute $lbf(X)$ \COMMENT{Bounding rule}
\IF[Elimination rule]{$X$ cannot be eliminated}
\STATE Divide $X$ into $X^j,\ j=1,\dots, p$, subintervals \COMMENT{Division rule}
\FOR{$j=1,\ldots,p$}
\IF[Termination rule]{$X^j$ satisfies the termination criterion}
\STATE Store $X^j$ in ${\cal L}_W$
\ELSE
\STATE Store $X^j$ in ${\cal L}_W$
\ENDIF
\ENDFOR
\ENDIF
\ENDWHILE
\STATE \textbf{return} ${\cal L}_Q$
\State Set the working list ${\cal L}_W$ := $\{S\}$ and the final list ${\cal L}_Q$ := $\{\}$
\While{( ${\cal L}_W \neq \emptyset$ )} \label{alg:igoend}
\State Select an interval $X$ from ${\cal L}_W$ \label{step:selrule}\Comment{Selection rule}
\State Compute $lbf(X)$ \Comment{Bounding rule}
\If{$X$ cannot be eliminated} \Comment{Elimination rule}
\State Divide $X$ into $X^j,\ j=1,\dots, p$, subintervals \Comment{Division rule}
\For{$j=1,\ldots,p$}
\If{$X^j$ satisfies the termination criterion} \Comment{Termination rule}
\State Store $X^j$ in ${\cal L}_W$
\Else
\State Store $X^j$ in ${\cal L}_W$
\EndIf
\EndFor
\EndIf
\EndWhile
\State \textbf{return} ${\cal L}_Q$
\end{algorithmic}
\end{algorithm}

View File

@ -85,10 +85,10 @@ In non ipsum fermentum urna feugiat rutrum a at odio. Pellentesque habitant morb
\begin{figure}[H]
\centering
\subfigure[Vestibulum quis mattis urna]{
\subcaptionbox{Vestibulum quis mattis urna}{
\includegraphics[width=0.45\linewidth]{elte_cimer_szines}}
\hspace{5pt}
\subfigure[Donec hendrerit quis dui sit amet venenatis]{
\subcaptionbox{Donec hendrerit quis dui sit amet venenatis}{
\includegraphics[width=0.45\linewidth]{elte_cimer_szines}}
\caption{Aenean porttitor mi volutpat massa gravida}
\label{fig:example-2}

BIN
elteikthesis-minted.pdf Normal file

Binary file not shown.

33
elteikthesis-minted.tex Normal file
View File

@ -0,0 +1,33 @@
\documentclass{elteikthesis}[2021/09/20]
\usepackage[newfloat]{minted}
\begin{document}
\documentlang{magyar}
\chapter{Minted forráskód}
\label{ch:chapter}
\begin{listing}[H]
\begin{minted}{cpp}
#include <stdio>
int main()
{
int c;
std::cout << "Hello World!" << std::endl;
std::cout << "Press any key to exit." << std::endl;
std::cin >> c;
return 0;
}
\end{minted}
\caption{Hello World in C++}
\end{listing}
\phantomsection
\addcontentsline{toc}{chapter}{\lstcodelabel}
\listoflistings
\end{document}

View File

@ -1,7 +1,7 @@
%% MIT License
%%
%% Version 2.1, 2020/05/15
%% Copyright (c) 2013-2020 Máté Cserép <mcserep@inf.elte.hu>, Bálint Bognár
%% Version 2.2, 2021/09/20
%% Copyright (c) 2013-2021 Máté Cserép <mcserep@inf.elte.hu>, Bálint Bognár
%%
%% Permission is hereby granted, free of charge, to any person obtaining a copy
%% of this software and associated documentation files (the "Software"), to deal
@ -29,7 +29,7 @@
%% to the original package.
\NeedsTeXFormat{LaTeX2e}
\ProvidesClass{elteikthesis}[2020/05/15 ELTE FI bachelor and master thesis template]
\ProvidesClass{elteikthesis}[2021/09/20 ELTE FI bachelor and master thesis template]
% LaTeX programozói eszközök
\RequirePackage{etoolbox}
@ -60,8 +60,13 @@
% ------------------------------
% Karakterkódolás, nyelv
\RequirePackage{iftex} % XeTex or LuaTex
\iftutex
\RequirePackage{fontspec}
\else % other (PdfTex)
\RequirePackage[utf8]{inputenc}
\RequirePackage[T1]{fontenc}
\fi
\RequirePackage[english,magyar]{babel}
\RequirePackage{indentfirst}
% ------------------------------
@ -109,6 +114,7 @@
\newcommand{\alglabel}{Algoritmus}
\newcommand{\biblabel}{Irodalomjegyzék}
\newcommand{\lstalgorithmlabel}{Algoritmusjegyzék}
\newcommand{\lstfigurelabel}{Ábrajegyzék}
\newcommand{\lsttablelabel}{Táblázatjegyzék}
\newcommand{\lstcodelabel}{Forráskódjegyzék}
@ -132,6 +138,7 @@
\newcommand{\alglabel}{Algorithm}
\newcommand{\biblabel}{Bibliography}
\newcommand{\lstalgorithmlabel}{List of Algorithms}
\newcommand{\lstfigurelabel}{List of Figures}
\newcommand{\lsttablelabel}{List of Tables}
\newcommand{\lstcodelabel}{List of Codes}
@ -143,6 +150,13 @@
}
% ------------------------------
% ------------------------------
% Margók
\RequirePackage[left=35mm, right=25mm, top=25mm, bottom=25mm, headheight=16pt]{geometry}
%\setlength{\textwidth}{150mm}
%\setlength{\textheight}{247mm}
% ------------------------------
% ------------------------------
% Fejlécek és láblécek
\RequirePackage{fancyhdr}
@ -201,7 +215,7 @@
% Maximális ill. minimális méret megadása ábráknak
\RequirePackage[export]{adjustbox}
% Több ábra egy figure-on belül
\RequirePackage[center]{subfigure}
\RequirePackage{subcaption}
% Ábrák forgatása
\RequirePackage{rotating}
@ -221,13 +235,6 @@
\paperheight 297mm
% ------------------------------
% ------------------------------
% Margók
\RequirePackage[left=35mm, right=25mm, top=25mm, bottom=25mm]{geometry}
%\setlength{\textwidth}{150mm}
%\setlength{\textheight}{247mm}
% ------------------------------
% ------------------------------
% Térköz bekezdések közé
\iftoggle{parspace}{
@ -254,7 +261,6 @@
% ------------------------------
% Helyközök és tördelés
\linespread{1.5}
% Egyszeres helyköz a mondatok végén
\frenchspacing
% Szavak jobb margón túlnyúlásának tiltása
@ -263,10 +269,15 @@
\nottoggle{hypenation}{\RequirePackage[none]{hyphenat}}{}
% Beállítás alternatív módon
%\RequirePackage{setspace}
%\singlespacing % ~1.0 linespread
%\onehalfspacing % ~1.3 linespread
%\doublespacing % ~1.6 linespread
\RequirePackage{setspace}
% According to
% https://tex.stackexchange.com/questions/442030/setting-spaces-with-titlespacing-and-fonts
% this matches the 1.5 linespacing in MS Word
\setstretch{1.427465}
% Vektorok és mátrixok egyszeres sorközzel
% https://tex.stackexchange.com/questions/568084/problem-with-matrices-using-linespread
\everydisplay=\expandafter{\the\everydisplay\linespread{1}\selectfont}
% Azonos sorköz használata láblácben
%\RequirePackage{footmisc}
@ -293,8 +304,13 @@
% ------------------------------
% Tételek, definíciók
\theoremstyle{definition}
\newtheorem{definition}{\deflabel}
\theoremstyle{plain}
\newtheorem{theorem}{\theolabel}
\theoremstyle{remark}
\newtheorem*{remark}{\remlabel}
\newtheorem*{note}{\notelabel}
% ------------------------------
@ -322,7 +338,7 @@
% pdflatex-hez
\newcommand{\hyperrefComp}{}
\RequirePackage[pdfborder={0 0 0}, unicode, \hyperrefComp]{hyperref}
\RequirePackage[pdfborder={0 0 0}, unicode, pdfusetitle, \hyperrefComp]{hyperref}
\RequirePackage[all]{hypcap}
\RequirePackage{url}
\RequirePackage{bookmark}
@ -351,6 +367,9 @@
% ------------------------------
% Számozott elemek kezelése
\RequirePackage{chngcntr}
% Lábjegyzet folytonos számozása fejezetek között
% Continuous counting of footnotes among chapters
\counterwithout{footnote}{chapter}
% Lábjegyzet oldalak közti eltörésének tiltása
\interfootnotelinepenalty=10000
% ------------------------------
@ -381,7 +400,7 @@
% ------------------------------
% Feliratok, tartalomjegyzék, ábrajegyzék, táblázatjegyzék
\RequirePackage[justification=centering]{caption}
\RequirePackage[subfigure]{tocloft}
\RequirePackage{tocloft}
% ------------------------------
@ -409,7 +428,7 @@
% ------------------------------
% Algoritmusok és kódblokkok írása
\RequirePackage{algorithm}
\RequirePackage{algorithmic}
\RequirePackage{algpseudocode}
\RequirePackage{listingsutf8}
\lstset{
basicstyle=\footnotesize\ttfamily,
@ -429,17 +448,16 @@
breaklines=true,
breakatwhitespace=false,
float,
frame=linesc,
frame=lines,
captionpos=b
}
% Forráskód elnevezése
\renewcommand{\lstlistingname}{\codelabel}
% Forráskódjegyzék elnevezése
\renewcommand{\lstlistlistingname}{\lstcodelabel}
% Algoritmus kommentek jobb szélre igazítása
\renewcommand{\algorithmiccomment}[1]{\hfill {\it #1}}
% Algoritmus elnevezése
\renewcommand{\ALG@name}{\alglabel}
\floatname{algorithm}{\alglabel}
\renewcommand{\listalgorithmname}{\lstalgorithmlabel}
% ------------------------------
% ------------------------------
@ -534,3 +552,40 @@
\setcounter{page}{1}
}
% ------------------------------
\AtBeginDocument{
% If the minted package is loaded, then provide a default for the formatting,
% and set the labels for the listings
\@ifpackageloaded{minted}{
\setminted{
style=tango,
numbers=left,
stepnumber=1,
firstnumber=1,
numbersep=5pt,
showspaces=false,
showtabs=false,
tabsize=2,
breaklines=true,
frame=lines,
bgcolor=codebackg,
}
\SetupFloatingEnvironment{listing}{
name=\codelabel, % Forráskód elnevezése
listname=\lstcodelabel, % Forráskódjegyzék elnevezése
}
}
% Az oldalszámozás a tartalomjegyzékkel kezdődik, de ott nem látható
\let\oldtableofcontents\tableofcontents
\renewcommand{\tableofcontents}{
\pagenumbering{gobble}
\oldtableofcontents
\cleardoublepage
% Oldalszám mentése és betöltésem mert a \pagenumbering visszállítja
\newcounter{conpageno}
\defcounter{conpageno}{\value{page}}
\pagenumbering{arabic}
\setcounter{page}{\value{conpageno}}
}
}

Binary file not shown.

View File

@ -3,13 +3,18 @@
%noindent, % Bekezdésének első sora ne legyen behúzva / No indentation of first lines in each paragraph
%nohyp, % Szavak sorvégi elválasztásának tiltása / No hyphenation of words
%twoside, % Kétoldalas nyomtatás / Double sided format
%draft, % Gyorsabb fordítás ábrák rajzolása nélkül / Quicker draft compilation without rendering images
%final, % Teendők elrejtése / Set final to hide todos
]{elteikthesis}[2020/05/15]
]{elteikthesis}[2021/09/20]
% A minted csomag támogatott a forráskódok szedésére
% The minted package is also supported for source highlighting
%\usepackage[newfloat]{minted}
% Dolgozat metaadatai
% Document's metadata
\title{Dolgozat címe} % cím / title
\date{2020} % védés éve / year of defense
\date{2021} % védés éve / year of defense
% Szerző metaadatai
% Author's metadata
@ -46,11 +51,7 @@
% Teendők listája (final dokumentumban nincs)
% List of todos (not in the final document)
\listoftodos[\todolabel]
% Dokumentum beállítások
% Some document settings
\input{settings.tex}
%\listoftodos[\todolabel]
% Címlap (kötelező)
% Title page (mandatory)
@ -84,24 +85,35 @@
% Irodalomjegyzék (kötelező)
% Bibliography (mandatory)
\phantomsection
\addcontentsline{toc}{chapter}{\biblabel}
\printbibliography[title=\biblabel]
\cleardoublepage
% Ábrajegyzék (opcionális) - 3-5 ábra fölött érdemes
% List of figures (optional) - useful over 3-5 figures
\phantomsection
\addcontentsline{toc}{chapter}{\lstfigurelabel}
\listoffigures
\cleardoublepage
% Táblázatjegyzék (opcionális) - 3-5 táblázat fölött érdemes
% List of tables (optional) - useful over 3-5 tables
\phantomsection
\addcontentsline{toc}{chapter}{\lsttablelabel}
\listoftables
\cleardoublepage
% Algorithmusjegyzék
% List of algorithms
\phantomsection
\addcontentsline{toc}{chapter}{\lstalgorithmlabel}
\listofalgorithms
\cleardoublepage
% Forráskódjegyzék (opcionális) - 3-5 kódpélda fölött érdemes
% List of codes (optional) - useful over 3-5 code samples
\phantomsection
\addcontentsline{toc}{chapter}{\lstcodelabel}
\lstlistoflistings
\cleardoublepage

View File

@ -1,16 +0,0 @@
% Lábjegyzet folytonos számozása fejezetek között
% Continuous counting of footnotes among chapters
\counterwithout{footnote}{chapter}
% Tartalomjegyzék oldalszámozásának rejtése
% Hide page numbering of ToC
\newcounter{conpageno}
\let\oldtableofcontents\tableofcontents
\renewcommand{\tableofcontents}{
\pagenumbering{gobble}
\oldtableofcontents
\cleardoublepage
\setcounter{conpageno}{\value{page}}
\pagenumbering{arabic}
\setcounter{page}{\value{conpageno}}
}