-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathmetadata.sty
More file actions
47 lines (40 loc) · 1.07 KB
/
metadata.sty
File metadata and controls
47 lines (40 loc) · 1.07 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
\ExplSyntaxOn
\keys_define:nn { metadata }
{
author .tl_set:N = \l_nb_metadata_author_tl,
title .tl_set:N = \l_nb_metadata_title_tl,
subtitle .tl_set:N = \l_nb_metadata_subtitle_tl,
url .tl_set:N = \l_nb_metadata_url_tl,
commit .tl_set:N = \l_nb_metadata_commit_tl,
date .tl_set:N = \l_nb_metadata_date_tl,
pdfdate .tl_set:N = \l_nb_metadata_pdfdate_tl
}
\tl_new:N \l_nb_metadata_file_tl
\NewDocumentCommand \SetMetadata {m}
{
\keys_set:nn { metadata } {#1}
}
% hypersetup doesn't play nice with \NewDocumentCommand
\def \GetMetadata #1
{
\tl_use:c { l_nb_metadata_#1_tl }
}
\NewDocumentCommand \TryReadMetadataFile {O{aux/metadata}}
{
\file_get:nnNT {#1} {} \l_nb_metadata_file_tl
{
\keys_set:nV {metadata} \l_nb_metadata_file_tl
}
}
\NewDocumentCommand \SetupPdfMetadata {m}
{
\hypersetup
{
pdfinfo={
Title={\GetMetadata{title}},
Author={\GetMetadata{author}},
CreationDate={\GetMetadata{pdfdate}}
}
}
}
\ExplSyntaxOff