scrlttr2: Falzmarken auf allen Seiten und erste Seite-Layer

Klassen und Pakete zur einfachen Umsetzung individueller Vorstellungen


snake

scrlttr2: Falzmarken auf allen Seiten und erste Seite-Layer

Beitrag von snake »

Hallo zusammen,

ich versuche mich gerade an scrlttr2 und möchte damit eine schöne Briefvorlage erstellen.

Diesbezüglich bin ich leider auf zwei Fragen/ Herausforderungen gestoßen:
  • 1. Wie kann ich die Falz-/ Faltmarken auf allen Seiten ausgeben? Dabei möchte ich anhand der Optionen oneside/twoside unterscheiden, d. h. bei twoside nur auf jeder zweiten Seite Falz-/ Faltmarken, ansonsten diese auf jeder Seite ausgeben.
    2. Ich habe im Minimalbeispiel einen Layer definiert, der auf allen Seiten des Briefs - unabhängig von der Option oneside/ twoside - erscheinen soll. Bisher taucht dieser Layer nicht auf der ersten Seite auf und ich bin ratlos, wie ich das hinbekomme.
Ich danke euch bereits im Voraus. Ihr seid eine engagierte Community.

\documentclass[]{scrlttr2}

\usepackage[ngerman]{babel}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{scrlayer-scrpage}
\usepackage{lipsum}


\DeclareNewLayer[%
	leftmargin,
	foreground,
	voffset={0.8 \paperheight},
	contents={%
			\begin{center}
                ABC XYZ
            \end{center}
		}
]{new-layer}

\AddLayersAtEndOfPageStyle{scrheadings}{new-layer}


\begin{document}
\begin{letter}{Empfänger}
    
	\opening{Sehr geehrte Damen und Herren,}
    
    \lipsum

	\closing{Mit freundlichen Gruessen}

\end{letter}
\end{document}

esdd
Forum-Meister
Forum-Meister
Beiträge: 2561
Registriert: So 7. Feb 2010, 16:36

Beitrag von esdd »

Die erste Seite des Briefes verwendet den Seitenstil empty. Nachdem Laden von scrlayer-scrpage ist das ebenfalls ein Layer-Seitenstil, dem Du Deinen Layer hinzufügen kannst:
\documentclass[]{scrlttr2}
\usepackage[ngerman]{babel}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{scrlayer-scrpage}
\usepackage{lipsum}

\DeclareNewLayer[%
   leftmargin,
   foreground,
   voffset={0.8 \paperheight},
   contents={%
         \begin{center}
                ABC XYZ
            \end{center}
      }
]{new-layer}
\AddLayersAtEndOfPageStyle{scrheadings}{new-layer}
\AddLayersAtEndOfPageStyle{empty}{new-layer}

\begin{document}
\begin{letter}{Empfänger}
    \opening{Sehr geehrte Damen und Herren,}
   \lipsum
   \closing{Mit freundlichen Gruessen}
\end{letter}
\end{document}
Für den Rest hilft vielleicht Add marker lines in page margin weiter.

snake

Beitrag von snake »

Vielen Dank für die schnelle Antwort.

Das mit dem pagestyle=empty funktioniert. Ich hatte die ganze Zeit gerätselt, welcher Style es wohl ist...

Danke auch für den Tipp bzgl. der Falzmarken. Idealerweise würde ich mir wünschen, dass es bei KOMA-Script eine Clone-Funktion o. ä. gibt, sodass ich mit einem Einzeiler das auf alle weiteren Seiten übertragen kann. Aber wenn das nicht klappt, dann werde ich wohl den verlinkten Weg gehen...

Gast

Beitrag von Gast »

Es gibt in KOMA-Script diverse Clone-Funktionen. Im verlinkten Beispiel wird eine davon auch verwendet. Welche Art Clone-Funktion dir fehlt, weiß ich nicht. Aber es sei darauf hingewiesen, dass Dinge selten vom Himmel fallen. Du solltest unbedingt einmal das Vorwort zur KOMA-Script-Anleitung lesen! Bis dahin gilt: Klagen ist einfach und fruchtlos, etwas bewegen ist kaum schwerer aber nutzbringender!

snake

Beitrag von snake »

Die KOMA-Script-Anleitung habe ich bereits ausführlicher studiert und viele Optionen habe ich auch dort entnehmen können.

Mir ist bewusst, dass es eine Clone-Funktion für Layer gibt!
\DeclareLayer[clone=...]{layer-name}
Ich weiß nur leider nicht wie der Layer der Falzmarken heißt (ich nehme an, dass es ein Layer ist). Das ist das konkrete Problem

Gast

Beitrag von Gast »

Da keine der KOMA-Script-Klassen von sich aus scrlayer-scrpage oder scrlayer lädt, ist es extrem unwahrscheinlich, dass die Falzmarken auf dem Briefbogen von scrlttr2 mit einem Layer realisiert werden. Tatsächlich steht in der Anleitung, dass die Elemente des Briefbogens über \opening gesetzt werden.

In dem erwähnten (und verlinkten) Vorwort steht übrigens nichts von Optionen sondern von der Weiterentwicklung von KOMA-Script und was dazu notwendig ist …

esdd
Forum-Meister
Forum-Meister
Beiträge: 2561
Registriert: So 7. Feb 2010, 16:36

Beitrag von esdd »

Die erste Seite eines Briefes wird mit dem Seitenstil empty ausgegeben. Elemente wie firsthead, firstfoot, die Falzmarken etc. werden auf dieser Seite nicht über einen Seitenstil eingefügt.

Ich frage mich dabei aber auch, wozu man Falzmarken auf den weiteren Briefseiten braucht, hier ist aber trotzdem eine Ansatz mit Layern:
\documentclass[twoside]{scrlttr2} 
\usepackage[ngerman]{babel} 
\usepackage[utf8]{inputenc} 
\usepackage[T1]{fontenc} 
\usepackage{scrlayer-scrpage} 
\usepackage{lipsum}

\DeclareNewLayer[
  background,
  oddpage,
  align=tl,
  hoffset=\useplength{foldmarkhpos},
  voffset=\useplength{tfoldmarkvpos}-.5\useplength{foldmarkthickness},
  width=\useplength{tfoldmarklength},
  height=\useplength{foldmarkthickness},
  mode=picture,
  contents=\putLL{\usekomafont{foldmark}\rule{\layerwidth}{\layerheight}}
]{tfoldmark}
\DeclareNewLayer[
  clone=tfoldmark,
  voffset=\useplength{bfoldmarkvpos}-.5\useplength{foldmarkthickness},
  width=\useplength{bfoldmarklength}
]{bfoldmark}
\DeclareNewLayer[
  clone=tfoldmark,
  voffset=.5\paperheight-.5\useplength{foldmarkthickness},
  width=\useplength{pfoldmarklength}
]{pfoldmark}
\AddLayersToPageStyle{@everystyle@}{tfoldmark,bfoldmark,pfoldmark}

\makeatletter
\renewcommand\@foldmark[2]{}% "normale" Falt- und Lochmarken verhindern
\makeatother

\begin{document} 
\begin{letter}{Empfänger} 
\opening{Sehr geehrte Damen und Herren,} 
\lipsum
\lipsum[1-5]
\closing{Mit freundlichen Grüßen} 
\end{letter}
\end{document}

snake

Beitrag von snake »

Vielen Dank, das ist top!

PS: Wenn man viele Seiten bei einem Brief hat, ist es manchmal ganz hilfreich. Aber ein kritisches Hinterfragen ist ja immer gut.

Antworten