Compare commits

...

19 Commits

Author SHA1 Message Date
ee5514c2ca Updated and tested fedora packages 2025-10-17 23:49:44 +00:00
c4a41cbcb6 packages for template format nicely 2025-10-17 23:26:00 +00:00
96f006efb6 fixed up dev info 2025-10-17 18:34:37 +00:00
17574f0bb7 updated version number 2025-10-17 17:34:22 +00:00
9f6d6f3b92 remove polyglossia warning on lipsum 2025-10-17 17:32:34 +00:00
71f4def04d The hook is begindocument/before 2025-10-17 17:28:31 +00:00
d69d755519 \ref to gitignore, not \label 2025-10-17 17:26:36 +00:00
8c55dd2525 \texttt not \textt 2025-10-17 17:23:12 +00:00
a2551475a8 Merge branch 'master' of https://gitea.cs.ru.is/foley/ru-thesis into gitea 2025-10-17 15:14:25 +00:00
1d5cd98676 Restructured instructions a bit and cleaned up the gitignore reference 2025-10-17 15:13:47 +00:00
46572adf66 Moved temp files VC should ignore into separate file 2025-10-17 15:02:36 +00:00
3b6a5fcc40 Merge branch 'master' of https://gitea.cs.ru.is/foley/ru-thesis into gitea 2025-10-17 14:52:47 +00:00
60dc155377 Trimming custom of non-critical packages 2025-10-17 14:21:43 +00:00
5b6aee7bf8 Merge branch 'gitea' 2025-10-17 14:15:35 +00:00
065c016b91 overview for Overleaf & Gitea 2025-10-17 14:15:09 +00:00
df4586e143 Merge remote-tracking branch 'gitea/master' 2025-10-17 14:08:11 +00:00
b6c4466f0e Merge remote-tracking branch 'gitea/master' 2025-10-17 13:34:28 +00:00
Anonymous
d0b2b3694a Update on Overleaf. 2025-10-17 13:09:35 +00:00
Anonymous
7c2b48a7c0 Update on Overleaf. 2024-05-31 19:03:01 +00:00
6 changed files with 147 additions and 168 deletions

View File

@@ -16,27 +16,6 @@ go read the documentation and set these up as below. You
will save yourself a lot of effort, especially if you have to fix
anything.
%% This default style make long lines wrap nicely
\lstdefinestyle{default}{
%basicstyle=\footnotesize\ttfamily,%
numbers=left,%
numberstyle=\tiny,%
numberfirstline=true,%
stepnumber=2,%
numbersep=5pt,%
columns=fullflexible,%
tabsize=4,%
frame=lines,%
breaklines=true,% break long lines
prebreak=\raisebox{0ex}[0ex][0ex]{\ensuremath{\color{red}\hookleftarrow}}, % red arrow
postbreak=\raisebox{0ex}[0ex][0ex]{\ensuremath{\color{red}\hookrightarrow}}, % red arrow
% from http://tex.stackexchange.com/questions/116534/lstlisting-line-wrapping
}
\lstset{%
language=,%default similar to verbatim
style=default,
}
%% The pre-defined languages we want to use.
\lstloadlanguages{Java, XML}
@@ -67,7 +46,11 @@ anything.
showstringspaces=false
}
%%I have put the source code in the \directory{src/} folder.
%% I have put the source code in the \directory{src/} folder.
\lstinputlisting[language={bash}, firstline=1,
caption={File extensions to ignore of LaTeX temporary files},
label={src:gitignore-example}]{src/gitignore-example}
\lstinputlisting[language=Java, firstline=1,
lastline=40, caption={Data\_Bus.java: Setting up the class.},
label={src:Data_Bus.java}]{src/Data_Bus.java}
@@ -76,6 +59,8 @@ label={src:Data_Bus.java}]{src/Data_Bus.java}
caption={AndroidManifest.xml: Configuration for the Android UI.},
label={src:AndroidManifest.xml}]{src/AndroidManifest.xml}
%% TODO: fix wrapping from custom.sty
%%% Local Variables:

View File

@@ -1,46 +1,46 @@
%%%%% CUSTOM.STY %%%%%%%%%
%% Macros and packages to add functionality beyond the basic template
%% This is the location to put your own customizations
%%%%%%%%%%%%%%%%%% TextPos %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% These macros allow you to arbitrarily position things on the page
%% This is needed for any cover pages/graphics
%\RequirePackage{printlen}% display lengths in arbitrary units
%\ifbool{debug}{\PassOptionsToPackage{showboxes}{textpos}}
%\RequirePackage[absolute, verbose]{textpos}%
%% These commands set the units in \begin{textblock} when not
%% directly specified
%% We set them to the page sizes so we can align from them
%\setlength{\TPHorizModule}{\paperwidth}
%\setlength{\TPVertModule}{\paperheight}
%%\setlength{\TPMargin}{2mm} %% margins inside the textblock*
%\textblockorigin{0mm}{0mm} % start everything near the top-left corner
%% This is the intended location to put your own customizations
\newcommand{\formatemail}[1]{$<$\texttt{#1}$>$}
\usepackage[flushleft]{threeparttable} % allows us to make tables with footnotes
% Format email addresses consistently
\usepackage[final]{listings}
%%% Formatting code inclusion and snippets
%% "final" option to force it to display code
%% This default listings style make long lines wrap nicely
\lstdefinestyle{default}{
basicstyle=\ttfamily,%
numbers=left,%
numberstyle=\tiny,%
numberfirstline=true,%
stepnumber=2,%
numbersep=5pt,%
columns=fullflexible,%
tabsize=4,%
frame=lines,%
breaklines=true,% break long lines
prebreak=\raisebox{0ex}[0ex][0ex]{\ensuremath{\color{red}\hookleftarrow}}, % red arrow
postbreak=\raisebox{0ex}[0ex][0ex]{\ensuremath{\color{red}\hookrightarrow}}, % red arrow
% from http://tex.stackexchange.com/questions/116534/lstlisting-line-wrapping
}
\lstset{%
language=,%default similar to verbatim
style=default,
}
\usepackage{siunitx}
%% \SI{9.82}{\meter\per\second\square}
%% FIXME system for making notes to each other for what needs to
%% be completed in a group document.
\usepackage[layout=inline]{fixme}
%% FIXME system for reminders
%% internal layouts: inline, margin, footnote, index, marginclue
%% % Warning! The pdf external layouts do not play well with hyperref
%% % and must be loaded by doing \fxuselayouts{}
% \RequirePackage[autostyle,strict]{csquotes}
%% http://mirrors.concertpass.com/tex-archive/macros/latex/contrib/csquotes/csquotes.pdf
%% You invoke with \enquote{} and \blockquote{}
%% csquotes must be loaded before babel for AUCTeX
%% autostyle: update style as language changes in document
%% strict: any warnings become errors
%% Don't forget to load Babel!
%%% Local Variables:
%%% mode: latex
%%% TeX-master: "main"
%%% TeX-engine: luatex
%%% End:

View File

@@ -13,6 +13,15 @@
\newcommand{\TIheadofgrad}{TBA}
\newcommand{\TItvdadmin}{Sigrún Þorgeirsdóttir~\formatemail{sigrunth}}
%% Template Developers
%% Warning: overleaf only accepts branch Master
% 1. git clone <overleaf repo>
% 2. git remote add gitea <gitea repo>
% 4. <DO SOME WORK>
% 5. <COMMIT AND PUSH TO GITEA>
% 6. git push origin
% 7. git push gitea
% \begin{document} % this tells the compiler that it is time to make
% % text to print instead of just getting ready.
% \maketitle{} % make a title page from the Title, Date, and Author
@@ -29,17 +38,17 @@ If you are in another school, you should make sure that the template meets your
Critical information: The current version of the template uses Lua\LaTeX{} for enhanced font, code, and language support.
{\em It will not work on PDF\LaTeX{} nor classic \LaTeX.}
On debian based systems, you will need to install the \verb|texlive-luatex| package.
We also have discovered that Overleaf's LiveTex 2025 does not work with StiX2 so you should use the 2024 version.
If you are writing a PhD dissertation, you will want to edit \path{main-dissertation.tex} rather than \path{main.tex}
\begin{description}
\item [Overleaf Template:] \url{https://www.overleaf.com/latex/templates/reykjavik-university-project-report-and-thesis-template/fcwvcgnstrjs}
\item [Actively developed code:] \url{https://gitea.cs.ru.is/foley/ru-thesis}
\item Current maintainer: Joseph Timothy Foley.
Questions, comments, complaints should be submitted at \url{https://github.com/foleyj2/ru-thesis/issues}
\item [Current maintainer:] Joseph Timothy Foley.
His email is his last name AT \texttt{ru.is}
\end{description}
\subsection{Frequently Asked Questions}
\section{Frequently Asked Questions}
\begin{itemize}
\item {\em Why isn't there the RU logo on the front of the template on Overleaf/Git?}
The official cover for these documents is generated by the Reykjavik University department.
@@ -97,6 +106,7 @@ If you are writing a PhD dissertation, you will want to edit \path{main-disserta
Reykjavik University's communications department insists on a common outer appearance of official printed documentation, which includes Doctoral Dissertations.
The library has been delegated the role of deciding what the non-printed student theses and project reports should look like.
They have stated that since most never are printed, the focus should be on suitability for displaying on a screen and e-reader.
The current template in \path{main.tex} implements the cover page and copyright page that go on the inside.
Doctoral students need to contact the RU Communications department for slightly different custom cover PDF before the document is to be published\footnote{The author highly suggests doing this 2 weeks before it is due.}.
This class supports the RU Communication's desire for the common appearance through the \texttt{rucover} package.
@@ -115,11 +125,15 @@ You can control the filename with \verb|\usepackage[filename=name.pdf]{rucover}|
%graduation date
\end{itemize}
\section{Signatures}
If you are making a print copy, you may need a signature page.
\section{Limited Access}
In general, access to the project report, thesis, or dissertation shall be open.
If restricting access to a thesis is sought, e.g.\ for the purpose of protecting intellectual property or protecting commercial interests of an industrial partner participating in the MSc project, permission needs to be acquired, see {\em Reglur um skil á lokaritgerðum og lokaverkefnum við Háskólann í Reykjavík\/} (\url{http://www.ru.is/bokasafn/skemman}).
If restriction of access to a thesis is granted it should be clearly stated in the thesis right after the keywords following the abstract with specification of the date at which the restriction of access should be lifted.
\section{Printing and Binding}
If you are making a print copy to be bound into a book, you may need a signature page.
This is no longer required for most electronic submissions except perhaps PhD.
\section{Printing}
If you decide to print, make sure you are doing it on archival acid-free paper.
Otherwise, your document will yellow and fall apart in the library over time.
Traditionally, the student prints out and binds a copy for each advisor and examiner: this varies significantly.
@@ -152,7 +166,7 @@ The general submission sequence is:
\section{LaTeX Template Instructions}
Some information is at the top of \path{main.tex} file, this file is for a general overview and common problems.
\subsection{Getting started:}
\subsection{Preparation}
\begin{enumerate}
\item Find a safe place to work on your thesis document.
The author recommends Git on Overleaf, but anywhere data is backed up is a appropriate.
@@ -160,45 +174,33 @@ Some information is at the top of \path{main.tex} file, this file is for a gener
If you think this is unnecessary, just consider how much time you will lose if your computer crashes.
Due to Murphy's law, this is likely to happen just before your thesis is due\footnote{This has happened many times.}.
\item Get a LaTeX installation. We recommend TeXlive \url{https://www.tug.org/texlive/}
\item Get a LaTeX installation.
We recommend TeXlive \url{https://www.tug.org/texlive/}
For this template on windows, MiKTeX will also work, but will run very slowly the first time you render the template.
{\em As of September 2024, both MikTeX and TexLive did not want to install properly on the author's Windows 11 computer.}
You will need to enable the ``miktex'' option in the template to substitute packages.
It is very very important that you run the ``MikTeX Update Wizard'' before you start.
Otherwise you may get errors when you try to build the document.
Under linux this is the ``texlive'' package.
Under Mac/OSX this is the ``MacTeX'' distribution.
Under Apple iOS and linux this is the TexLive series of packages.
Linux distributions name the packages differently.
The author's recommendations for RedHat distributions such as Redhat Enterprise Linux, Centos, Fedora are in Listing~\ref{code:texlive-redhat}.
Debian-based distributions including Ubuntu and PopOS would use the packages in Listing~\ref{code:texlive-debian}.
\begin{lstlisting}[caption={RedHat Packages},label={code:texlive-redhat}]
sudo dnf -y install texlive-scheme-medium texlive-collection-{fontsrecommended,luatex,latexrecommended} texlive-biblatex-{apa,apa-doc,ieee,ieee-doc} texlive-{amsfonts,amsmath,canoniclayout,eepic,gitinfo2,fixme,makeglos,nomencl,lastpage,lipsum,listings,ltxkeys,pgf,pseudocode,stix2-otf,stix2-type1,siunitx,xurl}
\end{lstlisting}
\begin{lstlisting}[caption={Debian/Ubuntu Packages},label={code:texlive-debian}]
sudo apt-get -y install texlive texlive-luatex texlive-latex-extra texlive-science texlive-generic-extra texlive-lang-european texlive-lang-german latex-xcolor texlive-pictures pgf texlive-bibtex-extra texlive-publishers chktex evince fonts-lmodern lmodern biber
\end{lstlisting}
Alternatively, if nothing you are doing is particularly private or proprietary, you can do development online using Overleaf.
In this case, you won't need to setup the rest of the tools mentioned below except perhaps the Reference Manager mentioned in step~\ref{list:refmanager}.
\begin{description}
\item[RedHat]
\begin{lstlisting}
sudo yum -y install
texlive-collection-fontsrecommended
texlive-biblatex-{apa,apa-doc,ieee,ieee-doc}
texlive-{xargs,lipsum,lastpage,luatex,pseudocode,url,examplep,
listings,xspace,pgf,tikz,amsfonts,amsmath,amssymb,siunitx,svn-multi,
subfig,fixme,textpos,biblatex,makeglos,nomencl,xwatermark,ltxkeys,
framed,boondox,printlen}
\end{lstlisting}
\item[Debian/Ubuntu]
\end{description}
\begin{lstlisting}
sudo apt-get -y install texlive texlive-luatex texlive-latex-extra
texlive-science texlive-generic-extra texlive-lang-european
texlive-lang-german latex-xcolor texlive-pictures pgf
texlive-bibtex-extra texlive-publishers chktex evince
fonts-lmodern lmodern biber
\end{lstlisting}
\begin{enumerate}
\item Debian/Ubuntu:
\end{enumerate}
\item Get a LaTeX Integrated Development Environment (recommended, but not required)
\url{http://texstudio.sourceforge.net/} or
Some editors may include LaTeX support.
If you want to learn a very powerful (but old-fashioned) editor \url{http://www.gnu.org/software/emacs/}
Install the auctex package by: M-x list-packages, click on AUCTeX
Many people like TeXStudio \url{http://texstudio.sourceforge.net/}.
Some other code editors and IDEs may include LaTeX support.
If you want to learn a very powerful (but old-fashioned) editor, consider GNU Emacs: \url{http://www.gnu.org/software/emacs/}.
Of note, the author used Emacs to write this template.
\item Get a references manager (recommended, but not required)\label{list:refmanager}
\url{http://jabref.sourceforge.net/} (You may have to install a Java JRE first.)
@@ -211,14 +213,13 @@ framed,boondox,printlen}
\url{http://www.activestate.com/activeperl}
\item Get supporting programs for some tools.
For glossaries under windows, you will need to install Perl
For glossaries under Windows, you will need to install Perl
\url{http://strawberryperl.com/}
(it is already installed on the other platforms.)
\item Try building the \path{main.tex} file. If you get errors, there
\item Try building the \path{main.tex} file with lualatex. If you get errors, there
is something wrong with your LaTeX installation. Fix those first.
\item Rename the \path{main.tex} file with your information (optional).
DEGREE-NAME-YEAR is the recommended scheme
e.g. \path{msc-foley-2025.tex}.
@@ -232,19 +233,17 @@ framed,boondox,printlen}
\item Start editing all of the \path{.tex} files with your content.
\item Compile the document by running lualatex on the Main file, run the bibliography tool, then view the result.
\item Compile the document by running lualatex on the Main file, run \path{biber}, then view the result.
\item When you print, make sure that the scale is 100\%.
If you allow it to resize when printing, the margins won't be right.
If the margins aren't right, then the RU logo will not look right on the
cover.
\end{enumerate}
\subsection{Important Details}
\begin{itemize}
\item Make absolutely sure that your \path{references.bib} is in UTF-8. If it is another format (CP1251,etc) you may get weird problems with any accented characters.
\item Make absolutely sure that your \path{references.bib} is in UTF-8. If it is another format (CP1251, EBDIC) you may get weird problems with any accented characters.
{\em Students have run into encoding issues in the past and it has taken a surprisingly long time to debug.}
\item Make sure the rest of the files, particularly the \path{.tex} file are in UTF8 or are at least in the same encoding.
If the files are in different encoding, you will discover errors with accented characters when you try to include them together.
@@ -253,17 +252,15 @@ framed,boondox,printlen}
Icelandic characters may not work properly in your \path{references.bib} file if you use BibTeX.
TexMaker and TeXStudio require a configuration change to do this.
\item Be consistent about UPPER and lower case in naming files.
Preferably just use the 26 English letters, 10 numbers, and ``-'' to avoid filename issues.
Preferably just use the 26 English letters, 10 numbers, dash ``-'', and underscore ``\_'' to avoid filename issues.
Windows doesn't care (but some programs in Windows do).
OSX sometimes cares.
Linux always cares.
\item When using this template with SVN, you will want to tell it to ignore the extensions listed in Appendix~\ref{appendix:latex-gen}
\item \LaTeX{} generates a bunch of temporary files that you don't want to put into version control.
Look at Appendix~\ref{src:gitignore-example} for a list of extensions.
\end{itemize}
\subsection{Limited Access}
In general, access to the project report, thesis, or dissertation shall be open.
If restricting access to a thesis is sought, e.g.\ for the purpose of protecting intellectual property or protecting commercial interests of an industrial partner participating in the MSc project, permission needs to be acquired, see {\em Reglur um skil á lokaritgerðum og lokaverkefnum við Háskólann í Reykjavík\/} (\url{http://www.ru.is/bokasafn/skemman}).
If restriction of access to a thesis is granted it should be clearly stated in the thesis right after the keywords following the abstract with specification of the date at which the restriction of access should be lifted.
\section{Department of Engineering Information}
\subsection{Thesis Defense (Oral Examination Procedure)}
@@ -380,71 +377,24 @@ Lýsinging þarf ekki að eiga við verkefnið í öllum atriðum til að verkef
Frammistaða nemanda í vörninni sæmileg eða slök.
\end{description}
\section{PhD Special Instructions}
\section{Doctorate Special Instructions}
Final Preparation for PhD Dissertations:\footnote{Always refer to the website in case details have changed}
\begin{enumerate}
\item Send PDF to Administrative person \TItvdadmin{}
%\item Get signature pages signed, and scan them into PDF
\item Talk to one of the printing companies in Iceland and ask if they can do a B4 booklet with a printed cover.
\fxwarning{Someone needs to tell me which ones are good and what are the magic words}
\item Make clear which elements are the outside cover and which are the inside contents.
\textbf{You want to make sure they don't print a copy of the cover inside the book.}
\item They will insert your signature pages into the PDF and start the printing process;
The paper you want is archival-quality acid-free 240$\times$\SI{170}{\milli\meter} (aka B5, Programme, or Book Economy).
\item If you can, get a proof of the print to check that the layout is correct and the quality is acceptable, particularly any figures.
\item If is acceptable, then get them to print out the required number of copies.
\item Finally bring the copies to head of graduate studies(\TIheadofgrad{}), who should forward them as appropriate.
\end{enumerate}
\subsection{LaTeX Generated file extensions}\label{appendix:latex-gen}
These are the files that \LaTeX{} generates when you run it.
If you are using SVN or another version control system, you want to tell that system to ignore these files:
\begin{verbatim}
*-blx.bib
*.acr
*.acn
*.alg
*.aux
*.bak
*.bbl
*.bcf
*.blg
*.bst
*.dvi
*.glo
*.gl*
*.idx
*.ind
*.ilg
*.ist
*.lo?
*.mw
*.nlo
*.ntn
*.out
*.pdf
*.ps
*.rel
*.run.xml
*.sbl
*.slg
*.snm
*.sym
*.synctex.gz
*.tcp
*.thm
*.tdo
*.to?
*.tmp
*.tmproj
*.xwm
._*
._.DS_Store
.~lock*
auto
Thumbs.db
\end{verbatim}
%\end{document}
\item Use \path{main-dissertation.tex} not \path{main.tex}!
\item Send PDF to Administrative person \TItvdadmin{}
% \item Get signature pages signed, and scan them into PDF
\item Talk to one of the printing companies in Iceland and ask if they can do a B4 booklet with a printed cover.
\fxwarning{Someone needs to tell me which ones are good and what are the magic words}
\item Make clear which elements are the outside cover and which are the inside contents.
\textbf{You want to make sure they don't print a copy of the cover inside the book.}
\item They will insert your signature pages into the PDF and start the printing process;
The paper you want is archival-quality acid-free 240$\times$\SI{170}{\milli\meter} (aka B5, Programme, or Book Economy.
\item If you can, get a proof of the print to check that the layout is correct and the quality is acceptable, particularly any figures.
\item If is acceptable, then get them to print out the required number of copies.
\item Finally bring the copies to head of graduate studies(\TIheadofgrad{}), who should forward them as appropriate.
\end{enumerate}
% \end{document}
%%% Local Variables:
%%% mode: latex

View File

@@ -29,6 +29,7 @@
%% !!WARNING: The geometry package is incompatible with this template!
\usepackage{lipsum}%provides us with text for testing
\setlipsum{auto-lang=false}%eliminates polyglossia warning
%% usage: \lipsum[STARTNUM-ENDNUM]
\graphicspath{{graphics-cropped/}{graphics/}{./}}

View File

@@ -9,7 +9,7 @@
%% Details at LICENSE.md
%% --------------- Identification ----------------------------
\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{ruthesis}[2024/11/15 RU Thesis Formatting V3.2]
\ProvidesPackage{ruthesis}[2025/10/17 RU Thesis Formatting V3.3]
%% --------------- Option Processing--------------------------
%% The forcegraphics option renders graphics even in draft mode
\DeclareOption{forcegraphics}{%
@@ -336,7 +336,7 @@ in this publication does not imply, even in the absence of a specific statement
%%%%%%%%%% Metadata for pdf file %%%%%%%%%%%%%%%%%%%%%%
\AddToHook{beforedocument/before}{%
\AddToHook{begindocument/before}{%
%% package hyperref needs to be last, so we use a hook
\PassOptionsToPackage{hidelinks}{hyperref}%disable boxes around links
\RequirePackage{hyperref}

43
src/gitignore-example Normal file
View File

@@ -0,0 +1,43 @@
*-blx.bib
*.acr
*.acn
*.alg
*.aux
*.bak
*.bbl
*.bcf
*.blg
*.bst
*.dvi
*.glo
*.gl*
*.idx
*.ind
*.ilg
*.ist
*.lo?
*.mw
*.nlo
*.ntn
*.out
*.pdf
*.ps
*.rel
*.run.xml
*.sbl
*.slg
*.snm
*.sym
*.synctex.gz
*.tcp
*.thm
*.tdo
*.to?
*.tmp
*.tmproj
*.xwm
._*
._.DS_Store
.~lock*
auto
Thumbs.db