summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/lualatex
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2022-04-16 20:24:55 +0000
committerKarl Berry <karl@freefriends.org>2022-04-16 20:24:55 +0000
commitf073b77317c365bd8325fd4256170adb2e17e125 (patch)
treec087fa0c197939448cd15bf2e7777abd5becac62 /Master/texmf-dist/tex/lualatex
parent7d72ead6b8682a0bbc5147d57d3d26c35cf816c2 (diff)
yamlvars (16apr22)
git-svn-id: svn://tug.org/texlive/trunk@63046 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/lualatex')
-rw-r--r--Master/texmf-dist/tex/lualatex/yamlvars/yamlvars.lua68
-rw-r--r--Master/texmf-dist/tex/lualatex/yamlvars/yamlvars.sty4
2 files changed, 42 insertions, 30 deletions
diff --git a/Master/texmf-dist/tex/lualatex/yamlvars/yamlvars.lua b/Master/texmf-dist/tex/lualatex/yamlvars/yamlvars.lua
index b485236d10e..a46b47e725b 100644
--- a/Master/texmf-dist/tex/lualatex/yamlvars/yamlvars.lua
+++ b/Master/texmf-dist/tex/lualatex/yamlvars/yamlvars.lua
@@ -1,5 +1,5 @@
--% Kale Ewasiuk (kalekje@gmail.com)
---% 2022-03-15
+--% 2022-04-16
--% Copyright (C) 2021-2022 Kale Ewasiuk
--%
--% Permission is hereby granted, free of charge, to any person obtaining a copy
@@ -92,6 +92,24 @@ function YAMLvars.pkgerr(m)
end
+
+
+-- todo need distinction beyyween table and penlight list ???
+ --val = pl.array2d.map_slice1(_1..'\\\\', val, 1,-2)
+ --return val:join('')
+ --return pl.tablex.reduce(_1.._2, val, '')
+
+function YAMLvars.xfm.markdown(var, val)
+ --return '\\begin{markdown} '..val..'\n \\end{markdown}'
+ pl.tex.help_wrt(val, md)
+ return [[begin markdown ..val..
+
+ par end markdown]]
+end
+
+
+
+
-- xfm functions (transforms) -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
function YAMLvars.xfm.addxspace(var, val)
return val .. '\\xspace'
@@ -106,15 +124,14 @@ function YAMLvars.xfm.arrsort2ZA(var, val)
end
function YAMLvars.xfm.addrule2arr(var, val)
- return pl.array2d.map_slice2(_1..'\\\\\\'.. YAMLvars.tabmidrule..' ', val, 1,-1,-2,-1) -- todo make gmidrule
+ return pl.array2d.map_slice2(_1..'\\\\\\'.. YAMLvars.tabmidrule..' ', val, 1,-1,-2,-1)
end
function YAMLvars.xfm.arr2tabular(var, val)
return pl.array2d.toTeX(val)..'\\\\'
end
-
-function YAMLvars.xfm.list2items(var, val) -- todo should be list2item
+function YAMLvars.xfm.list2items(var, val)
return pl.List(val):map('\\item '.._1):join(' ')
end
YAMLvars.xfm.arr2itemize = YAMLvars.xfm.list2items
@@ -140,7 +157,6 @@ function YAMLvars.xfm.arrsortlastnameAZ(var, val)
return val
end
--- todo need distinction beyyween table and penlight list ???
function YAMLvars.xfm.list2nl(var, val)
if type(val) == 'string' then
return val
@@ -155,29 +171,25 @@ function YAMLvars.xfm.list2and(var, val) -- for doc vars like author, publisher
return pl.List(val):join('\\and ')
end
- --val = pl.array2d.map_slice1(_1..'\\\\', val, 1,-2)
- --return val:join('')
- --return pl.tablex.reduce(_1.._2, val, '')
-
-function YAMLvars.xfm.lb2nl(var, val) --linebreak in text 2 new line
+function YAMLvars.xfm.lb2nl(var, val) --linebreak in text 2 newline \\
val, _ = val:gsub('\n','\\\\ ')
return val
end
-function YAMLvars.xfm.lowercase(var, val)
- return val:lower()
+function YAMLvars.xfm.lb2newline(var, val) --linebreak in text 2 newline \\
+ val, _ = val:gsub('\n','\\newline ')
+ return val
end
-
-function YAMLvars.xfm.markdown(var, val)
- --return '\\begin{markdown} '..val..'\n \\end{markdown}'
- pl.tex.help_wrt(val, md)
- return [[begin markdown ..val..
-
- par end markdown]]
+function YAMLvars.xfm.lb2par(var, val) --linebreak in text 2 new l
+ val, _ = val:gsub('\n%s*\n','\\par ')
+ return val
end
+function YAMLvars.xfm.lowercase(var, val)
+ return val:lower()
+end
-- dec laration functions, -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
@@ -211,7 +223,6 @@ function YAMLvars.prc.gdef(var, val)
end
function YAMLvars.prc.yvdef(var, val)
- --token.set_macro('yv--'..var, val, 'global') -- todo fix with csname hack?
pl.tex.defmacro('yv--'..var, val)
YAMLvars.debugtalk('yv--'..var..' = '..val, 'prc yvdef')
end
@@ -236,13 +247,11 @@ end
-
function YAMLvars.prc.setATvar(var, val) -- set a @var directly: eg \gdef\@title{val}
pl.tex.defcmdAT('@'..var, val)
end
-
function YAMLvars.prc.setdocvar(var, val) -- call a document var \var{val} = \title{val}
-- YAML syntax options
-- k: v -> \k{v}
@@ -264,10 +273,9 @@ function YAMLvars.prc.setdocvar(var, val) -- call a document var \var{val} = \ti
end
-
function YAMLvars.prc.setPDFdata(var, val)
- --update pdf metat data table
- -- requires a table
+ --update pdf meta data table (via penlight), uses pdfx xmpdata
+ -- requires a table input
for k, v in pairs(val) do
if type(v) == 'table' then
v = pl.List(v):join('\\sep ')
@@ -276,9 +284,6 @@ function YAMLvars.prc.setPDFdata(var, val)
end
end
-
-
-
-- with hyperref package
function YAMLvars.prc.PDFtitle(var, val)
tex.print('\\hypersetup{pdftitle={'..val..'}}')
@@ -288,6 +293,13 @@ function YAMLvars.prc.PDFauthor(var, val)
tex.print('\\hypersetup{pdfauthor={'..val..'}}')
end
+-- --
+
+
+-- ??
+--token.set_macro('yv--'..var, val, 'global') -- todo fix with csname hack?
+
+
-- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
diff --git a/Master/texmf-dist/tex/lualatex/yamlvars/yamlvars.sty b/Master/texmf-dist/tex/lualatex/yamlvars/yamlvars.sty
index 852b0de8cc0..92d5fbef2ea 100644
--- a/Master/texmf-dist/tex/lualatex/yamlvars/yamlvars.sty
+++ b/Master/texmf-dist/tex/lualatex/yamlvars/yamlvars.sty
@@ -1,5 +1,5 @@
% Kale Ewasiuk (kalekje@gmail.com)
-% 2022-03-15
+% 2022-04-16
% Copyright (C) 2021-2022 Kale Ewasiuk
%
% Permission is hereby granted, free of charge, to any person obtaining a copy
@@ -25,7 +25,7 @@
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{YAMLvars}[2022-03-15]
+\ProvidesPackage{YAMLvars}[2022-04-16]
\IfFileExists{markdown-tinyyaml.lua}{}{\PackageError{YAMLvars}{This package requires installation of the 'markdown' package, please install it and try again}{}}