texlive[66764] Master/texmf-dist: scikgtex (4apr23)
commits+karl at tug.org
commits+karl at tug.org
Tue Apr 4 22:14:07 CEST 2023
Revision: 66764
http://tug.org/svn/texlive?view=revision&revision=66764
Author: karl
Date: 2023-04-04 22:14:07 +0200 (Tue, 04 Apr 2023)
Log Message:
-----------
scikgtex (4apr23)
Modified Paths:
--------------
trunk/Master/texmf-dist/tex/lualatex/scikgtex/scikgtex.lua
trunk/Master/texmf-dist/tex/lualatex/scikgtex/scikgtex.sty
Added Paths:
-----------
trunk/Master/texmf-dist/doc/lualatex/scikgtex/README.md
trunk/Master/texmf-dist/doc/lualatex/scikgtex/scikgtex.pdf
Removed Paths:
-------------
trunk/Master/texmf-dist/doc/lualatex/scikgtex/README
Deleted: trunk/Master/texmf-dist/doc/lualatex/scikgtex/README
===================================================================
--- trunk/Master/texmf-dist/doc/lualatex/scikgtex/README 2023-04-04 20:12:45 UTC (rev 66763)
+++ trunk/Master/texmf-dist/doc/lualatex/scikgtex/README 2023-04-04 20:14:07 UTC (rev 66764)
@@ -1,21 +0,0 @@
-SciKGTeX
--------------
-AUTHOR
- Christof Bless, christofbless at gmail.com
-
-DESCRIPTION
- Scientific Knowledge Graph TeX (SciKgTeX) is a LuaLaTeX package which makes
- it possible to annotate specific research contributions in scientific documents.
- SciKGTeX will enrich the document by adding the marked contributions to PDF metadata
- in a structured XMP format which can be picked up by Search Engines and
- Knowledge Graphs.
- More information on how to use the package can be found here:
- https://github.com/Christof93/SciKGTeX#readme
-
-VERSION
- 2.1.1 (13.11.2022)
-
-LICENSE
- This work is published under MIT License. https://opensource.org/licenses/MIT
-
- Copyright (C) 2022 Christof Bless
Added: trunk/Master/texmf-dist/doc/lualatex/scikgtex/README.md
===================================================================
--- trunk/Master/texmf-dist/doc/lualatex/scikgtex/README.md (rev 0)
+++ trunk/Master/texmf-dist/doc/lualatex/scikgtex/README.md 2023-04-04 20:14:07 UTC (rev 66764)
@@ -0,0 +1,20 @@
+SciKGTeX
+-------------
+AUTHOR
+ Christof Bless, christofbless at gmail.com
+
+DESCRIPTION
+ Scientific Knowledge Graph TeX (SciKgTeX) is a LuaLaTeX package which makes
+ it possible to annotate specific research contributions in scientific documents.
+ SciKGTeX will enrich the document by adding the marked contributions to PDF metadata
+ in a structured XMP format which can be picked up by Search Engines and
+ Knowledge Graphs.
+ For more information on how to use the package consult documentation SciKGTeX.pdf.
+
+VERSION
+ 2.2.0 (03.04.2023)
+
+LICENSE
+ This work is published under MIT License. https://opensource.org/licenses/MIT
+
+ Copyright (C) 2022 Christof Bless
Property changes on: trunk/Master/texmf-dist/doc/lualatex/scikgtex/README.md
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/lualatex/scikgtex/scikgtex.pdf
===================================================================
(Binary files differ)
Index: trunk/Master/texmf-dist/doc/lualatex/scikgtex/scikgtex.pdf
===================================================================
--- trunk/Master/texmf-dist/doc/lualatex/scikgtex/scikgtex.pdf 2023-04-04 20:12:45 UTC (rev 66763)
+++ trunk/Master/texmf-dist/doc/lualatex/scikgtex/scikgtex.pdf 2023-04-04 20:14:07 UTC (rev 66764)
Property changes on: trunk/Master/texmf-dist/doc/lualatex/scikgtex/scikgtex.pdf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/pdf
\ No newline at end of property
Modified: trunk/Master/texmf-dist/tex/lualatex/scikgtex/scikgtex.lua
===================================================================
--- trunk/Master/texmf-dist/tex/lualatex/scikgtex/scikgtex.lua 2023-04-04 20:12:45 UTC (rev 66763)
+++ trunk/Master/texmf-dist/tex/lualatex/scikgtex/scikgtex.lua 2023-04-04 20:14:07 UTC (rev 66764)
@@ -21,8 +21,7 @@
XMP.namespaces = {}
XMP.property_ns = {}
XMP.XMP_TOP = [[<x:xmpmeta xmlns:x="adobe:ns:meta/">]]
-XMP.XMP_BOTTOM = [[</rdf:RDF>
-</x:xmpmeta>]]
+XMP.XMP_BOTTOM = [[</x:xmpmeta>]]
XMP.PACKET_END = [[<?xpacket end="r"?>]]
local UUID = {}
@@ -379,11 +378,15 @@
end
end
-function SciKGTeX:print_entity(uri, label)
- if label ~= "" then
- tex.print(string.format('\\href{%s}{%s}',uri , label))
+function SciKGTeX:print_entity(uri, label, hyperrefloaded)
+ if label ~= "" and hyperrefloaded then
+ tex.print(string.format('\\href{%s}{%s}', uri , label))
+ elseif label ~= "" then
+ tex.print(label)
+ elseif hyperrefloaded then
+ tex.print(string.format('\\url{%s}',uri))
else
- tex.print(string.format('\\url{%s}',uri))
+ tex.print(uri)
end
end
@@ -595,7 +598,13 @@
end
for i, cb_id in pairs(sorted_contributions) do
contribution = self.paper.contributions[cb_id]
- self:add_line(' <orkg:hasResearchContribution>')
+ if i==1 then
+ if #sorted_contributions > 1 then
+ self:add_line(' <orkg:hasResearchContribution rdf:parseType="Collection">')
+ else
+ self:add_line(' <orkg:hasResearchContribution>')
+ end
+ end
self:add_line(
' <orkg:ResearchContribution rdf:about="https://www.orkg.org/orkg/paper/%s">',
self.paper.id .. "/" ..contribution.id
@@ -611,10 +620,13 @@
)
end
self:add_line(' </orkg:ResearchContribution>')
- self:add_line(' </orkg:hasResearchContribution>')
+ if i == #sorted_contributions then
+ self:add_line(' </orkg:hasResearchContribution>')
+ end
end
self:add_line(' </rdf:Description>')
end
+ self:add_line('</rdf:RDF>')
self:add_line(self.XMP_BOTTOM)
self:add_line(self.PACKET_END)
@@ -622,11 +634,11 @@
end
-function XMP:attach_metadata_pdfstream()
+function XMP:attach_metadata_pdfstream(metadata_type)
local xmp_string = self:generate_xmp_string()
local new_pdf = pdf.obj {
type = 'stream',
- attr = '/Type/Metadata /Subtype/XML',
+ attr = '/Type /'..metadata_type..' /Subtype /XML',
immediate = true,
compresslevel = 0,
string = xmp_string,
@@ -654,12 +666,14 @@
-- Writing metadata packets
luatexbase.add_to_callback('finish_pdffile', function()
if XMP.paper then
- local metadata_obj = XMP:attach_metadata_pdfstream()
+ if CONFORM_TO_PDFA then
+ catalog_key='SciKGMetadata'
+ else
+ catalog_key='Metadata'
+ end
+ local metadata_obj = XMP:attach_metadata_pdfstream(catalog_key)
local catalog = pdf.getcatalog() or ''
- pdf.setcatalog(catalog..string.format('/Metadata %s 0 R', metadata_obj))
- --if SciKGTeX.PRODUCE_XMP_FILE then
- -- XMP:dump_metadata()
- --end
+ pdf.setcatalog(catalog..string.format('/%s %s 0 R', catalog_key, metadata_obj))
end
end, 'finish')
Modified: trunk/Master/texmf-dist/tex/lualatex/scikgtex/scikgtex.sty
===================================================================
--- trunk/Master/texmf-dist/tex/lualatex/scikgtex/scikgtex.sty 2023-04-04 20:12:45 UTC (rev 66763)
+++ trunk/Master/texmf-dist/tex/lualatex/scikgtex/scikgtex.sty 2023-04-04 20:14:07 UTC (rev 66764)
@@ -16,10 +16,10 @@
%%
\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{scikgtex}[2022/11/13 v2.1.1]
-
+%
\def\useignorespacesandallpars#1\ignorespaces\fi{%
#1\fi\ignorespacesandallpars}
-
+%
\makeatletter
\def\ignorespacesandallpars{%
\@ifnextchar\par
@@ -27,15 +27,23 @@
{}%
}
\makeatother
-
+%
\RequirePackage{suffix}
-\RequirePackage{hyperref}
-
+%% init variable which checks if hyperref is loaded.
+\newcommand{\hyperrefloaded}{null}%
+%
\errorcontextlines=5
-
-\directlua {
- SciKGTeX = require('scikgtex')
+%
+\directlua {%
+ SciKGTeX = require('scikgtex')%
+ CONFORM_TO_PDFA = false%
}
+\DeclareOption{compatibility}{
+ \directlua {%
+ CONFORM_TO_PDFA = true%
+ }
+}
+\ProcessOptions\relax
\newcommand{\addmetaproperty}[2][]{%
\directlua{%
@@ -102,12 +110,18 @@
}%
\ignorespaces
}%
-
+%
\newcommand{\uri}[2]{%
+ \ifcsname href\endcsname%
+ \renewcommand{\hyperrefloaded}{true}%
+ \else%
+ \renewcommand{\hyperrefloaded}{false}%
+ \fi%
+%
\directlua{%
local label = "\luaescapestring{\unexpanded{#2}}"%
local uri = "\luaescapestring{\unexpanded{#1}}"%
- SciKGTeX:print_entity(uri, label)%
+ SciKGTeX:print_entity(uri, label, \hyperrefloaded)%
}%
}%
More information about the tex-live-commits
mailing list.