scrlayer contents Variableninhalte überschreiben/-sprechen/-lagern sich

Antwort erstellen


Diese Frage dient dazu, das automatisierte Versenden von Formularen durch Spam-Bots zu verhindern.
Smilies
:D :) :( :o :shock: :? 8) :lol: :-x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen:

BBCode ist eingeschaltet
[img] ist eingeschaltet
[flash] ist ausgeschaltet
[url] ist eingeschaltet
Smilies sind eingeschaltet

Die letzten Beiträge des Themas

Ich habe die Datenschutzerklärung gelesen und bin damit einverstanden.

   

Wenn du eine Datei oder mehrere Dateien anhängen möchtest, gib die Details unten ein.

Ansicht erweitern Die letzten Beiträge des Themas: scrlayer contents Variableninhalte überschreiben/-sprechen/-lagern sich

Re: scrlayer contents Variableninhalte überschreiben/-sprechen/-lagern sich

von gast » Do 15. Okt 2020, 08:01

maximilianminimalis hat geschrieben:
Mi 14. Okt 2020, 14:25

bin neu und auf Empfehlung von Markus hier ...

Wobei Markus auch darauf hingewiesen hat, dass scrlayer noch nie Layerinhalte an den definierten Layergrenzen abgeschnitten hat und das deshalb eher kein KOMA-Script sondern ein Problem mit dem Umgang mit TikZ/pgf ist … Allerdings dachte er dabei eher an Clipping als Fading, was Ulrike dankenswerter Weise als den besseren Weg erkannt und erklärt hat.

Allgemein sei daher der Umstand festgehalten, dass die Layer von scrlayer genau wie TeX-Boxen oder LaTeX's \parbox kein automatisches Clipping beinhalten.

Re: scrlayer contents Variableninhalte überschreiben/-sprechen/-lagern sich

von maximilianminimalis » Do 15. Okt 2020, 00:45

Der Counter-Trick funktioniert bestens. Danke sehr!

Re: scrlayer contents Variableninhalte überschreiben/-sprechen/-lagern sich

von u_fischer » Do 15. Okt 2020, 00:33

Meine Kristallkugel sagt, dass du dieses Problem hast: https://tex.stackexchange.com/a/566619/2388

Mache deine fadings eindeutig, mit einem Zähler

\newcounter{fadingcnt}
\newcommand\fadingtext[3][]{\stepcounter{fadingcnt}%
	\begin{tikzfadingfrompicture}[name=fading letter\arabic{fadingcnt}]%
		\node[text=transparent!0,inner xsep=0pt,outer xsep=0pt,#1] {#3};
	\end{tikzfadingfrompicture}%
	\begin{tikzpicture}[baseline=(textnode.base)]%
		\node[inner sep=0pt,outer sep=0pt,{#1}](textnode){\phantom{#3}};
		\shade[path fading=fading letter\arabic{fadingcnt},#2,fit fading=false]
		(textnode.south west) rectangle (textnode.north east);%
	\end{tikzpicture}%
}

Re: scrlayer contents Variableninhalte überschreiben/-sprechen/-lagern sich

von u_fischer » Do 15. Okt 2020, 00:25

also ohne Bilder, die zeigen, wie es richtig aussieht und was nun falsch ist, und was der erste und was der zweite Layer ist, ist das eine ziemlich mühselig Frage.

scrlayer contents Variableninhalte überschreiben/-sprechen/-lagern sich

von maximilianminimalis » Mi 14. Okt 2020, 14:25

Hallo zusammen,

bin neu und auf Empfehlung von Markus hier ...

Mir scheint's als übersprechen/überschreiben sich neuerdings die "contents-" Inhalte über Layergrenzen hinweg.

Der folgende Code funktionierte die letzten 1,5 Jahren fehlerfrei - neuerdings leider nicht mehr (der Inhalt des ersten Layers taucht neuerdings im zweiten/dritten Layer auf). Erklären kann ich mir dies leider nicht. Vielleicht/hoffentlich weiß jemand von Euch warum und kann mir weiterhelfen.

Vielen Dank!

Umgebung: TL2020 (Up2date).
Compiler: LuaLatex.
Editor: TexStudio 3.x

\RequirePackage{luatex85}
\documentclass[draft]{scrartcl}

\usepackage[%
	paperheight=294mm,
	paperwidth=210mm,
	%showcrop,
	%showframe,
	margin=0cm,
	noheadfoot,
	nomarginpar,]%
{geometry}

\usepackage{fontspec}
\usepackage{xcolor}
\usepackage{blindtext}

\usepackage{tikz}
\usetikzlibrary{fadings}

\newcommand\fadingtext[3][]{%
	\begin{tikzfadingfrompicture}[name=fading letter]%
		\node[text=transparent!0,inner xsep=0pt,outer xsep=0pt,#1] {#3};
	\end{tikzfadingfrompicture}%
	\begin{tikzpicture}[baseline=(textnode.base)]%
		\node[inner sep=0pt,outer sep=0pt,{#1}](textnode){\phantom{#3}};
		\shade[path fading=fading letter,#2,fit fading=false]
		(textnode.south west) rectangle (textnode.north east);%
	\end{tikzpicture}%
}

%Hintergrundebenengestaltung mit tikz:
\tikzset{%
	seite/.style = {%
		text=black,
		shade,%shading=axis,shading angle=45,
		left color=green,
		right color=orange,
		middle color=brown,
		minimum height=294mm,
		minimum width=210mm,
		anchor=south west
	},
}

\usepackage{scrlayer}
\DeclareNewLayer[%
	background,
	align=tl,
	hoffset=0mm,
	voffset=0mm,
	width=\paperwidth,
	height=\paperheight,]%
{seite}

\DeclareNewLayer[%
	foreground,
	align=tl,
	hoffset=5mm,
	voffset=5mm,
	width=200mm,
	height=142mm,]%
{info}

\DeclareNewLayer[%
	foreground,
	align=tl,
	hoffset=5mm,
	voffset=152mm,
	width=200mm,
	height=65mm,]%
{nummer}

\DeclareNewLayer[%
	foreground,
	align=tl,
	hoffset=5mm,
	voffset=222mm,
	width=200mm,
	height=69mm,]%
{name}

%Hintergrundebenengestaltung anwenden:
\newcommand{\seite}{%
	\begin{tikzpicture}%
		\node (seite) [seite] {};%
	\end{tikzpicture}%
}
\ModifyLayer[contents=\seite]{seite}

%Inhalte den Vordergrundebenen zuweisen:
\newcommand{\info}{%
	\centering%
	\fadingtext[scale=1.0]{%
		%shading=axis, shading angle=45,
		left color=red,%
		right color=yellow,%
		middle color=blue}%
	{%
		\parbox{0.80\layerwidth}{%
			\noindent
			\blindtext[1]
		}%<-parbox
	}%<-fadingtext
	\par%<-wg. centering!
}
\ModifyLayer[contents=\info]{info}

\newcommand{\nummer}{%
	\centering
	\fadingtext[scale=1.0]{%<- funktioniert nicht [mehr]
		left color=red,%
		right color=yellow,%
		middle color=blue}%
	{%
		{\fontsize{40pt}{\baselineskip}\selectfont
			1234}%
	}%<-\fadingtext
	\par%<-wg. centering!
}
\ModifyLayer[contents=\nummer,]{nummer}

\newcommand{\name}{%
	\centering%
%	\fadingtext[scale=1.0]{%<- funktioniert [auch] nicht [mehr]
%		left color=red,%
%		right color=yellow,%
%		middle color=blue}%
	{%
		{\fontsize{40pt}{\baselineskip}\selectfont%
			oror}%
	}%
	\par%<-wg. centering!
}
\ModifyLayer[contents=\name,]{name}

\DeclareNewPageStyleByLayers{seitenStil}{%
	seite,%
	info,%
	nummer,%
	name,%
}
\pagestyle{seitenStil}

\begin{document}
\mbox{}%
\end{document}

Viele Grüße
MM


Nach oben