summaryrefslogtreecommitdiff
path: root/macros/latex/contrib/projlib/new-modules/projlib-paper.sty
diff options
context:
space:
mode:
Diffstat (limited to 'macros/latex/contrib/projlib/new-modules/projlib-paper.sty')
-rw-r--r--macros/latex/contrib/projlib/new-modules/projlib-paper.sty108
1 files changed, 108 insertions, 0 deletions
diff --git a/macros/latex/contrib/projlib/new-modules/projlib-paper.sty b/macros/latex/contrib/projlib/new-modules/projlib-paper.sty
new file mode 100644
index 0000000000..5e1f9ac04e
--- /dev/null
+++ b/macros/latex/contrib/projlib/new-modules/projlib-paper.sty
@@ -0,0 +1,108 @@
+\NeedsTeXFormat{LaTeX2e}[2020-10-01]
+\RequirePackage{l3keys2e}
+\ProvidesExplPackage
+ {projlib-paper}
+ {2022/02/25} {}
+ {Paper style configuration}
+
+\keys_define:nn { projlib-paper }
+ {
+ , preview-mode .bool_set:N = \l__projlib_paper_preview_bool
+ , preview-mode .initial:n = { false }
+ , paperstyle .tl_set:N = \l__projlib_paper_paperstyle_tl
+ , paperstyle .initial:n = { normal }
+ , yellowpaper .meta:n = { paperstyle = yellow }
+ , yellow-paper .meta:n = { paperstyle = yellow }
+ , parchmentpaper .meta:n = { paperstyle = parchment }
+ , parchment-paper .meta:n = { paperstyle = parchment }
+ , greenpaper .meta:n = { paperstyle = green }
+ , green-paper .meta:n = { paperstyle = green }
+ , lightgraypaper .meta:n = { paperstyle = lightgray }
+ , lightgray-paper .meta:n = { paperstyle = lightgray }
+ , light-gray-paper .meta:n = { paperstyle = lightgray }
+ , graypaper .meta:n = { paperstyle = gray }
+ , gray-paper .meta:n = { paperstyle = gray }
+ , nordpaper .meta:n = { paperstyle = nord }
+ , nord-paper .meta:n = { paperstyle = nord }
+ , darkpaper .meta:n = { paperstyle = dark }
+ , dark-paper .meta:n = { paperstyle = dark }
+ , unknown .code:n = {}
+ }
+\ProcessKeysOptions { projlib-paper }
+
+\cs_new:Nn \projlib_paper_preview_disable:
+ {
+ \bool_set_false:c { l__projlib_paper_preview_bool }
+ }
+
+\hook_gput_code:nnn { begindocument/before } { projlib-paper }
+ {
+ \bool_if:NT \l__projlib_paper_preview_bool
+ {
+ \dim_set:Nn \paperwidth
+ {
+ \dim_eval:n { \textwidth * 21 / 20 }
+ }
+ \dim_set:Nn \paperheight
+ {
+ \dim_eval:n { ( \textheight + \headheight + \headsep + \footskip ) * 21 / 20 }
+ }
+ \dim_set:Nn \oddsidemargin
+ {
+ \dim_eval:n { ( \paperwidth - \textwidth ) / 2 - 1in }
+ }
+ \dim_set:Nn \evensidemargin
+ {
+ \dim_eval:n { ( \paperwidth - \textwidth ) / 2 - 1in }
+ }
+ \dim_set:Nn \topmargin
+ {
+ \dim_eval:n { ( \paperheight - \textheight - \headheight - \headsep - \footskip ) / 2 - 1in }
+ }
+ }
+ }
+
+\RequirePackage { xcolor }
+
+\definecolor { paper } { RGB } { 255, 255, 255 }
+\definecolor { main-text } { RGB } { 0, 0, 0 }
+
+\str_case_e:nn { \l__projlib_paper_paperstyle_tl }
+ {
+ { yellow } { \definecolor { paper } { RGB } { 247, 246, 233 } }
+ { parchment } { \definecolor { paper } { RGB } { 224, 204, 160 } }
+ { green } { \definecolor { paper } { RGB } { 207, 231, 207 } }
+ { lightgray } { \definecolor { paper } { RGB } { 236, 239, 244 }
+ \definecolor { main-text } { RGB } { 37, 41, 46 } }
+ { light-gray } { \definecolor { paper } { RGB } { 236, 239, 244 }
+ \definecolor { main-text } { RGB } { 37, 41, 46 } }
+ { gray } { \definecolor { paper } { RGB } { 127, 130, 136 }
+ \definecolor { main-text } { RGB } { 236, 239, 244 } }
+ { nord } { \definecolor { paper } { RGB } { 46, 52, 64 }
+ \definecolor { main-text } { RGB } { 214, 220, 230 } }
+ { dark } { \definecolor { paper } { RGB } { 28, 29, 33 }
+ \definecolor { main-text } { RGB } { 210, 213, 217 } }
+ }
+
+\cs_new:Nn \projlib_paper_set_page_color:n
+ {
+ \pagecolor { #1 }
+ }
+\cs_new:Nn \projlib_paper_set_text_color:n
+ {
+ \color { #1 }
+ \cs_gset_eq:cc { default@color } { current@color }
+ }
+
+\projlib_paper_set_page_color:n { paper }
+\projlib_paper_set_text_color:n { main-text }
+
+\hook_gput_code:nnn { begindocument/before } { projlib-paper }
+ {
+ \cs_if_exist:NT \tcbset
+ { \tcbset { colupper = main-text, collower = main-text } }
+ }
+
+\endinput
+%%
+%% End of file `projlib-paper.sty'.