Wasserzeichen mit mehreren Grafiken

Tabellen und Grafiken erstellen und anordnen


Zwixx
Forum-Anfänger
Forum-Anfänger
Beiträge: 10
Registriert: Sa 5. Nov 2016, 17:17

Wasserzeichen mit mehreren Grafiken

Beitrag von Zwixx »

Hallo,

ich habe ein kleines Designproblem und komme nicht wirklich weiter. Ich habe eine Wasserzeichen, was 2 verschiedene Bilder beinhaltet. Eines davon soll in der Mitte, das andere in den jeweiligen 4 Ecken der Seite dargestellt werden (hier einmal durch die Datei mit hohem scale dargestellt). Das Problem ist, das ich die Bilder nicht wirklich fix positionieren kann, sondern sie sobald das mittlere Bild da ist, diese nach aussen gedrückt werden. Auch ist das ganze mit der Positionierei sehr suboptimal gelöst. Gibt es da eine einfache Möglichkeit solche mehrfachen Bilder darzustellen? Alternative wäre es, die Bilder aus dem Rand noch einmal in das Bild des Hintergrundes zu integrieren. Jedoch würde dadurch das Bild in der Mitte exorbitant größer dadurch.

Davon abgesehen wird offenbar, sobald ich das Bild in der Mitte etwas verändere, alles drumherum total durcheinandergewürfelt.

Vielen Dank schonmal für eventuelle Ideen.
\documentclass[a4paper, oneside]{scrreprt} 
\usepackage{geometry} 
\usepackage[ngerman]{babel}
\usepackage{background}
\usepackage{blindtext}

\geometry{a4paper, top=10mm, left=10mm, right=10mm, bottom=10mm, headsep=10mm, footskip=12mm} 

\backgroundsetup{scale=1, angle=0, opacity=.8, color=black, 
	contents={
		\begin{picture}(0,0)
			\put(250,-300){\hbox{\includegraphics[scale=1]{kreis.png}}}
		\end{picture}
		\begin{picture}(0,0)
			\put(-180,300){\hbox{\includegraphics[scale=1]{kreis.png}}}
		\end{picture}
		\begin{picture}(0,0)
			\put(-180,-300){\hbox{\includegraphics[scale=1]{kreis.png}}}
		\end{picture}
		\begin{picture}(0,0)
			\put(180,300){\hbox{\includegraphics[scale=1]{kreis.png}}}
		\end{picture}
		\includegraphics[scale=4]{kreis.png}
	}
}

\begin{document}
	
	\Blindtext

\end{document}
Dateianhänge
kreis.png
kreis.png (2.1 KiB) 2802 mal betrachtet

Bartman
Forum-Meister
Forum-Meister
Beiträge: 2456
Registriert: Do 16. Jul 2009, 21:41
Wohnort: Hessische Provinz

Beitrag von Bartman »

Da ich mich mit der picture-Umgebung nicht auskenne, möchte ich eine Alternative mit pgf/TikZ zeigen:
\documentclass{scrreprt}
\usepackage{geometry} 
\usepackage[ngerman]{babel}
\usepackage{background}% lädt tikz
\usepackage{blindtext}

\geometry{margin=10mm, headsep=10mm, footskip=12mm, showframe}% Optionen zusammengefasst 

\pgfdeclareimage[width=6cm]{figure-a}{example-image-a}
\pgfdeclareimage[width=4cm]{figure-b}{example-image-b}

\backgroundsetup{
	scale=1,
	angle=0, 
	opacity=.8, 
	color=black, 
	contents={%
		\begin{tikzpicture}[remember picture, overlay]
		\node [below right=15mm] at (current page.north west) {\pgfuseimage{figure-b}};
		\node [below left=15mm]  at (current page.north east) {\pgfuseimage{figure-b}};
		\node [above right=15mm] at (current page.south west) {\pgfuseimage{figure-b}};
		\node [above left=15mm]  at (current page.south east) {\pgfuseimage{figure-b}};
		\node                    at (current page)            {\pgfuseimage{figure-a}};
		\end{tikzpicture}%
   }
}

\begin{document}
\Blindtext
\end{document}

Zwixx
Forum-Anfänger
Forum-Anfänger
Beiträge: 10
Registriert: Sa 5. Nov 2016, 17:17

Beitrag von Zwixx »

Danke für die Antwort.

Ich hatte in der Tat schon etwas ähnliches, jedoch hat dies (wie auch das Beispiel) nicht funktioniert. Ich hatte als Compiler XeLatex verwendet, weil mein Dokument auch erweiterte Unicode-Zeichen enthält. Offenbar passt da aber irgendwas nicht so ganz und er interpretiert dies dann anders. Es kommt dann ein kuddelmuddel in dem PDF heraus...

Zumindest weiss ich jetzt aber, woran es liegt.

Gast

Beitrag von Gast »

Ich glaube jetzt ehrlich gesagt nicht, dass es an XeLaTeX liegt. Aber du solltest zum einen \hbox ganz schnell vergessen und zum anderen, einfach alles in dieselbe picture-Umgebung packen:
\documentclass[a4paper, oneside]{scrreprt} 
\usepackage{geometry} 
\usepackage[ngerman]{babel}
\usepackage{background}
\usepackage{blindtext}

\geometry{a4paper, top=10mm, left=10mm, right=10mm, bottom=10mm, headsep=10mm, footskip=12mm} 

\backgroundsetup{scale=1, angle=0, opacity=.8, color=black, 
   contents={
      \begin{picture}(0,0)
         \put(180,-300){\makebox(0,0)[c]{\includegraphics[scale=.1]{example-image}}}
         \put(-180,300){\makebox(0,0)[c]{\includegraphics[scale=.1]{example-image}}}
         \put(-180,-300){\makebox(0,0)[c]{\includegraphics[scale=.1]{example-image}}}
         \put(180,300){\makebox(0,0)[c]{\includegraphics[scale=.1]{example-image}}}
         \put(0,0){\makebox(0,0)[c]{\includegraphics[scale=.4]{example-image}}}
      \end{picture}
   }
}

\begin{document}
   
   \Blindtext

\end{document}
Das funktioniert bei mir mit pdflatex, xelatex oder lualatex wie erwartet. Natürlich geht das auch mit deinem Kreis (erschwert dann aber die Verwendung von Overleaf):
\documentclass[a4paper, oneside]{scrreprt} 
\usepackage{geometry} 
\usepackage[ngerman]{babel}
\usepackage{background}
\usepackage{blindtext}

\geometry{a4paper, top=10mm, left=10mm, right=10mm, bottom=10mm, headsep=10mm, footskip=12mm} 

\backgroundsetup{scale=1, angle=0, opacity=.8, color=black, 
   contents={
      \begin{picture}(0,0)
         \put(180,-300){\makebox(0,0)[c]{\includegraphics[scale=1]{kreis}}}
         \put(-180,300){\makebox(0,0)[c]{\includegraphics[scale=1]{kreis}}}
         \put(-180,-300){\makebox(0,0)[c]{\includegraphics[scale=1]{kreis}}}
         \put(180,300){\makebox(0,0)[c]{\includegraphics[scale=1]{kreis}}}
         \put(0,0){\makebox(0,0)[c]{\includegraphics[scale=4]{kreis}}}
      \end{picture}
   }
}

\begin{document}
   
   \Blindtext

\end{document}
Bei Verwendung einer picture-Umgebung ist es übrigens oft sinnvoll \unitlength zu setzen. Alternativ kann das Paket picture hilfreich sein, mit dem man direkt Längen angeben kann:
\documentclass[a4paper, oneside]{scrreprt} 
\usepackage{geometry} 
\usepackage[ngerman]{babel}
\usepackage{background}
\usepackage{blindtext}
\usepackage{picture}

\geometry{a4paper, top=10mm, left=10mm, right=10mm, bottom=10mm, headsep=10mm, footskip=12mm} 

\backgroundsetup{scale=1, angle=0, opacity=.8, color=black, 
   contents={
      \begin{picture}(0,0)
         \put(.5\paperwidth,-.5\paperheight){\makebox(0,0)[rb]{\includegraphics[scale=1]{kreis}}}
         \put(-.5\paperwidth,-.5\paperheight){\makebox(0,0)[lb]{\includegraphics[scale=1]{kreis}}}
         \put(-.5\paperwidth,.5\paperheight){\makebox(0,0)[lt]{\includegraphics[scale=1]{kreis}}}
         \put(.5\paperwidth,.5\paperheight){\makebox(0,0)[rt]{\includegraphics[scale=1]{kreis}}}
         \put(0,0){\makebox(0,0)[c]{\includegraphics[scale=4]{kreis}}}
      \end{picture}
   }
}

\begin{document}
   
   \Blindtext

\end{document}
Hier sieht man außerdem wie praktisch die picture-Version von \makebox tatsächlich ist.

Gast

Beitrag von Gast »

PS: Zur Erklärung, was mit deinen mehreren picture-Umgebungen schief geht, sei auf https://komascript.de/signifikanteLeerzeichen verwiesen. Du hast da nämlich zwischen den Umgebungen Leerzeichen durch nicht auskommentierte Zeilenenden. Da nützt es dann wenig, wenn die Umgebungen selbst weder Breite noch Höhe haben.

Zwixx
Forum-Anfänger
Forum-Anfänger
Beiträge: 10
Registriert: Sa 5. Nov 2016, 17:17

Beitrag von Zwixx »

Wie gesagt, ich hatte das Beispiel von Bartman in XeLatex probiert, was dann aber vollkommen durcheinander gekommen ist und nur Müll anzeigte. Die geiche Variante mit pdfLatex hat einwandfrei funktioniert. So habe ich es jetzt auch gelöst, da ich daran einige Zeit mit den verschiedensten Varianten (auch der von Bartman) experimentiert habe und nichts ging.

Aber danke für die Hinweise, das mit dem auskommentieren von Leerzeichen war mir so nicht bewusst und ist erstmal verwirrend.

Ich werde mir aber auf jeden Fall die anderen Varianten einmal genauer ansehen.

Das Zeichenproblem habe ich einfach mit einer eigenen Definition des Unicode-Zeichens umgangen. Zum Glück war es nur ein Zeichen, was ich recht schnell hinzufügen konnte.

Gast

Beitrag von Gast »

Missverständnis: Ich glaube nicht, dass das Problem bei deinem Originalbeispiel an xelatex lag. Bei Bartmans Beispiel gibt es mit xelatex in der Tat Probleme, das jedoch anders gelagert ist. Mit lualatex, der anderen Unicode-Engine, geht es aber und liefert das gleiche Ergebnis wie mit pdflatex.

Generell dürfte bei Verwendung von pgf/tikz lualatex oftmals eine gute Idee sein. Spätestens, wenn man pgfplots verwendet, geht sonst schon einmal gerne der Speicher aus. Manches geht auch nur mit lualatex.

Antworten