Skip to content
Snippets Groups Projects
Verified Commit 9cc06b36 authored by Tomáš Nováček's avatar Tomáš Nováček
Browse files

[1.4.0] Added PDF metadata

parent b2ec285b
No related branches found
No related tags found
1 merge request!38[v1.4.0] Added PDF metadata
......@@ -13,8 +13,9 @@ _minted-ctufit-thesis/
*.out
*.ps
*.run.xml
*.synctex.gz
*.synctex*
*.toc
example-asssignment-include.pdf
ctufit-thesis.pdf
pdfa.xmpi
*.xmpdata
\ No newline at end of file
......@@ -12,7 +12,7 @@ Recommended template for theses submitted at [Faculty of Information Technology]
 
Version
--------
1.3.10, built 27. 2. 2025. The whole changelog can be found in the [Changelog file](changelog.md).
1.4.0, built 19. 3. 2025. The whole changelog can be found in the [Changelog file](changelog.md).
 
 
Bugs and support
......
......@@ -5,6 +5,17 @@ All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](http://keepachangelog.com/)
and this project adheres to [Semantic Versioning](http://semver.org/).
 
## [1.4.0] - 19. 3. 2025
PDF metadata.
### Added
- Added code for generating file with PDF metadata for PDF/A.
- Added Czech and Slovak name for dissertation thesis.
### Changed
- Updated hyperref package.
## [1.3.10] - 27. 2. 2025
 
Darkmode image example improved.
......
......@@ -40,16 +40,40 @@
\AtBeginDocument{\selectlanguage{czech}}
\PassOptionsToPackage{english,main=czech}{babel}
\def\@ctufitlang{C}
\newcommand{\ctufitthesistypename}{
\if\@ctufitthesistype B(Bakalářská práce)%
\else
\if\@ctufitthesistype M(Diplomová práce)%
\else(Disertační práce)%
\fi
\fi
}
}
\DeclareOption{english}{
\AtBeginDocument{\selectlanguage{english}}
\PassOptionsToPackage{czech,main=english}{babel}
\def\@ctufitlang{E}
\newcommand{\ctufitthesistypename}{
\if\@ctufitthesistype B(Bachelor's thesis)%
\else
\if\@ctufitthesistype M(Masters's thesis)%
\else(Dissertation thesis)%
\fi
\fi
}
}
\DeclareOption{slovak}{
\AtBeginDocument{\selectlanguage{slovak}}
\PassOptionsToPackage{english,main=slovak}{babel}
\def\@ctufitlang{S}
\newcommand{\ctufitthesistypename}{
\if\@ctufitthesistype B(Bakalárska práca)%
\else
\if\@ctufitthesistype M(Diplomová práca)%
\else(Disertačná práca)%
\fi
\fi
}
}
\DeclareOption{subsubsection}{
\def\@ctufitsecdepth{3}
......@@ -97,8 +121,7 @@
\fi
% colours end
 
\RequirePackage{hyperref}[2020/05/15]
\RequirePackage{hyperref}[2024/11/05]
\DeclareRobustCommand{\ctufittitle}[1]{
\def\thectufittitle{#1}
\title{#1}
......@@ -148,7 +171,7 @@
\if\@ctufitlang C{Bakal{\' a}{\v r}sk{\' a} pr{\' a}ce}\else\if\@ctufitlang S{Bakal{\' a}rska pr{\' a}ca}\else{Bachelor's thesis}\fi\fi
}\else\if\@ctufitthesistype M{%
\if\@ctufitlang C{Diplomov{\' a} pr{\' a}ce}\else\if\@ctufitlang S{Diplomov{\' a} pr{\' a}ca}\else{Master's thesis}\fi\fi
}\else\if\@ctufitthesistype D{Dissertation thesis}\else{\ClassError{ctufit-thesis}{Thesis type not specified}{Add either `bachelor', `master', or `dissertation' option to this document class}}\fi\fi\fi
}\else\if\@ctufitthesistype D\if\@ctufitlang C{Disertačn{\' i} pr{\' a}ce}\else\if\@ctufitlang S{Disertačn{\' a} pr{\' a}ca}\else{Dissertation thesis}\fi\fi\else{\ClassError{ctufit-thesis}{Thesis type not specified}{Add either `bachelor', `master', or `dissertation' option to this document class}}\fi\fi\fi
}
 
\DeclareRobustCommand{\thectufituniversity}{\if\@ctufitlang C{{\v C}esk{\' e} vysok{\' e} u{\v c}en{\' i} technick{\' e} v~Praze}\else\if\@ctufitlang S{{\v C}esk{\' e} vysok{\' e} u{\v c}en{\' i} technick{\' e} v~Praze}\else{Czech Technical University in Prague}\fi\fi}
......@@ -171,6 +194,22 @@
 
\DeclareRobustCommand{\thectufitcopyrighttext}{\if\@ctufitlang C{Tato pr{\' a}ce vznikla jako {\v s}koln{\' i} d{\' i}lo na {\v C}esk{\' e}m vysok{\' e}m u{\v c}en{\' i} technick{\' e}m v~Praze, Fakult{\v e} informa{\v c}n{\' i}ch technologi{\' i}. Pr{\' a}ce je chr{\' a}n{\v e}na pr{\' a}vn{\' i}mi p{\v r}edpisy a~mezin{\' a}rodn{\' i}mi {\' u}mluvami o~pr{\' a}vu autorsk{\' e}m a~pr{\' a}vech souvisej{\' i}c{\' i}ch s~pr{\' a}vem autorsk{\' y}m. K~jej\'\i{}mu u\v zit\'\i{}, s~v\'yjimkou bez\'uplatn\'ych z\'akonn\'ych licenc\'\i{} a nad r\'amec opr\'avn\v en\'\i{} uveden\'ych v~Prohl\'a\v sen\'\i{}, je nezbytn\'y souhlas autora.}\else\if\@ctufitlang S{T\'ato pr\'aca vznikla ako \v skolsk\'e dielo na FIT \v CVUT v Prahe. Pr\'aca je chr\'anen\'a medzin\'arodn\'ymi predpismi a~zmluvami o~autorskom pr\'ave a~pr\'avach s\'uvisiacich s~autorsk\'ym pr\'avom. Na jej vyu\v zitie, s~v\'ynimkou bezplatn\'ych z\'akonn\'ych licenci\'\i, je nutn\'y s\'uhlas autora.}\else{This thesis is school work as defined by Copyright Act of the Czech Republic. It has been submitted at Czech Technical University in Prague, Faculty of Information Technology. The thesis is protected by the Copyright Act and its usage without author's permission is prohibited (with exceptions defined by the Copyright Act).}\fi\fi}
 
% Generate metadata file
\AtBeginDocument{%
\newwrite\metadatafile
\immediate\openout\metadatafile=\jobname.xmpdata
\immediate\write\metadatafile{\string\Title{\thectufittitle}}
\immediate\write\metadatafile{\string\Author{\thectufitauthorfull}}
\if\@ctufitlang E{
\immediate\write\metadatafile{\string\Keywords{\thectufitkeywords}}
}\else{
\immediate\write\metadatafile{\string\Keywords{\thectufitklicovaslova}}
}\fi
\immediate\write\metadatafile{\string\Subject{\thectufittitle\ctufitthesistypename}}
\immediate\write\metadatafile{\string\Copyright{© \thectufityear\space \thectufitauthorfull}}
\immediate\closeout\metadatafile
}
% title page
\renewcommand{\maketitle}{\begin{titlepage}%
\newgeometry{left=67mm,top=80mm,right=40mm}%\thispagestyle{empty}%
......
%% This is the ctufit-thesis example file. It is used to produce theses
%% for submission to Czech Technical University, Faculty of Information Technology.
%%
%% This is version 1.3.10, built 27. 2. 2025.
%% This is version 1.4.0, built 19. 3. 2025.
%%
%% Get the newest version from
%% https://gitlab.fit.cvut.cz/theses-templates/FITthesis-LaTeX
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment