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.