von Bianca1504 » Do 8. Mai 2025, 22:59
Ist es möglich, in einer LuaTeX pdf_literal whatsit node einen Farbgradienten zu registrieren, den man dann auf ein Objekt anwendet?
Ich habe es mit folgendem Code versucht:
\documentclass{article}
\begin{document}
Hello
\addvspace{2\baselineskip}
\directlua{
local wi_node = node.new ( node.id ( "whatsit" ), table.swapped ( node.whatsits () )["pdf_literal"] )
wi_node.mode = 0
wi_node.data = [[
q
/Resources <<
/Shading <<
/GradShading <<
/ShadingType 2
/ColorSpace /DeviceRGB
/Coords [0 0 100 100]
/Function <<
/FunctionType 2
/Domain [0 1]
/C0 [1 0 0]
/C1 [0 0 1]
/N 1
>>
>>
>>
>>
0 0 m
100 0 l
100 -100 l
0 -100 l
h
rg /GradShading sh f
Q
]]
node.write(wi_node)
}
\end{document}
Das Quadrat bleibt aber schwarz.
Ich weiß nicht, ob evtl. der PDF-Code nicht korrekt ist oder es an LuaTeX liegt bzw. ob man so etwas überhaupt vernünftig mit LuaTeX machen kann …
Ist es möglich, in einer LuaTeX pdf_literal whatsit node einen Farbgradienten zu registrieren, den man dann auf ein Objekt anwendet?
Ich habe es mit folgendem Code versucht:
[code]\documentclass{article}
\begin{document}
Hello
\addvspace{2\baselineskip}
\directlua{
local wi_node = node.new ( node.id ( "whatsit" ), table.swapped ( node.whatsits () )["pdf_literal"] )
wi_node.mode = 0
wi_node.data = [[
q
/Resources <<
/Shading <<
/GradShading <<
/ShadingType 2
/ColorSpace /DeviceRGB
/Coords [0 0 100 100]
/Function <<
/FunctionType 2
/Domain [0 1]
/C0 [1 0 0]
/C1 [0 0 1]
/N 1
>>
>>
>>
>>
0 0 m
100 0 l
100 -100 l
0 -100 l
h
rg /GradShading sh f
Q
]]
node.write(wi_node)
}
\end{document}[/code]
Das Quadrat bleibt aber schwarz.
Ich weiß nicht, ob evtl. der PDF-Code nicht korrekt ist oder es an LuaTeX liegt bzw. ob man so etwas überhaupt vernünftig mit LuaTeX machen kann …