Hallo,
ich hoffe die Frage ist im richtigen Bereich, ansonsten bitte Verschieben.
ich möchte eine Vorlage für ein Normblatt mit Latex erstellen.
Wie das ganze aussehen soll, sieht man auf dem Bild im Anhang.
Die bisherige Vorlage ist in Word gemacht, und sieht nicht befriedigend aus.
Der Kopf und Fußbereich soll auf jeder neuen Seite wieder auftauchen. Der mittlere große Bereich soll ziemlich frei gestaltet werden können, also Bilder Tabellen, Text usw. enthalten.
Für mich stellt sich die Frage, wie ich das in Latex am besten umsetze.Das ganze Blatt als Tabelle? Die einzelnen bereiche als einzelne Frames?
Was wäre die eleganteste Lösung?
Die Vorlage soll möglichst lange haltbar (kompatibel) werden. Daher möchte ich möglichst auf exotische und schlecht gepflegte Pakete verzichten.
LG Evilamblonyx[/img]
Normblatt / aufgeteilte Seite mit Latex gestalten
-
- Forum-Anfänger
- Beiträge: 15
- Registriert: Di 25. Dez 2018, 14:34
Normblatt / aufgeteilte Seite mit Latex gestalten
- Dateianhänge
-
- BeispielBlatt.jpg (274.9 KiB) 2285 mal betrachtet
Hallo Evilamblonyx,
willkommen im Forum!
Vielleicht so:
Gruß vom Rolli
willkommen im Forum!
Vielleicht so:
% !TeX Program = pdflatex % !TeX encoding = UTF-8 Unicode % !TeX spellcheck = de-DE \documentclass{scrartcl} \usepackage[utf8]{inputenc} \usepackage{lmodern} \usepackage[T1]{fontenc} \usepackage[ngerman]{babel} \usepackage[absolute]{textpos} \usepackage{tikz} \usepackage{scrlayer-scrpage} \usepackage{blindtext} \usepackage[left=2cm,top=4cm,right=2cm,bottom=4cm]{geometry} \begin{document} \pagestyle{scrheadings} \clearscrheadfoot % Wir packen die statischen Elemente (Linien, Kästen, fixer Text, usw.) in eine TikZ-Umgebung in die Kopfzeile. \ihead{\begin{textblock*}{210mm}(0mm,0mm) \begin{tikzpicture} \draw (0,29.7) node {}; %Anker linke obere Ecke setzen \draw (1.0,1.0) rectangle (20.0,28.7); \draw (1.0,27.2) -- ++(19.0,0.0); \draw (1.0,26.2) -- ++(19.0,0.0); \draw (4.0,28.7) -- ++(0.0,-1.5); \draw (2.5,27.95) node {\huge UVV}; \draw (1.0,26.7) node [right] {Beschreibung:\quad Zerlegen, Reinigen und Prüfen ...}; \draw (6.0,27.95) node [right]{\color{red} und hier dann die weiteren statischen Elemente, wie Linien + Text}; \end{tikzpicture} \end{textblock*}} % Und auf jeder einzelnen Seite dann der individuelle Text: \blinddocument \end{document}
-
- Forum-Anfänger
- Beiträge: 15
- Registriert: Di 25. Dez 2018, 14:34
Hallo Rolli,
die Lösung gefällt mir sehr gut. Zumal ich mit Tikz auch schon ein bisschen Erfahrung habe.
Was ich bei deinem Code nur noch nicht verstanden habe, ist an welcher Stelle die Linien am linken und rechten Rand erzeugt werden. Vielleicht bin ich da aber gerade auch einfach blind.
Vielen dank auf jeden Fall schon mal für deine Hilfe.
LG Evilamblonyx
die Lösung gefällt mir sehr gut. Zumal ich mit Tikz auch schon ein bisschen Erfahrung habe.
Was ich bei deinem Code nur noch nicht verstanden habe, ist an welcher Stelle die Linien am linken und rechten Rand erzeugt werden. Vielleicht bin ich da aber gerade auch einfach blind.
Vielen dank auf jeden Fall schon mal für deine Hilfe.
LG Evilamblonyx
Bitteschön: Etwas aufgebohrt, die Linienerzeugung kommentiert, außerdem unterschiedliche Farben und Dicken - dann sollte es klar werden.
Die genaue Positionierung der Linien und Texte musst Du Dir halt noch von Deiner Vorlage heraus messen, und Schriftgröße, Font etc. auch noch so setzen, wie gewünscht.
Und: Ich würde empfehlen, die Daten, die pro Dokument feststehen (also z.B. "Beispielanlage", "Beschreibung", ...) nicht so wie ich es quick-and-dirty gemacht habe, im Code zu verstecken, sondern diese am Anfang des Dokuments zu definieren (siehe vier Beispiele).
Gruß vom Rolli
Die genaue Positionierung der Linien und Texte musst Du Dir halt noch von Deiner Vorlage heraus messen, und Schriftgröße, Font etc. auch noch so setzen, wie gewünscht.
Und: Ich würde empfehlen, die Daten, die pro Dokument feststehen (also z.B. "Beispielanlage", "Beschreibung", ...) nicht so wie ich es quick-and-dirty gemacht habe, im Code zu verstecken, sondern diese am Anfang des Dokuments zu definieren (siehe vier Beispiele).
% !TeX Program = pdflatex % !TeX encoding = UTF-8 Unicode % !TeX spellcheck = de-DE \documentclass{scrartcl} \usepackage[utf8]{inputenc} \usepackage{lmodern} \usepackage[T1]{fontenc} \usepackage[ngerman]{babel} \usepackage[absolute]{textpos} \usepackage{tikz} \usepackage{scrlayer-scrpage} \usepackage{lastpage} \usepackage{blindtext} \renewcommand*{\headfont}{\normalfont} % Die Werte in geometry beschreiben den Textbereich im Inneren des Blattes. % showframe auskommentieren, dann wird es angezeigt. \usepackage[left=2cm,top=4cm,right=2cm,bottom=4cm]{geometry} %\usepackage{showframe} \newcommand{\texti}{Beispielanlage} \newcommand{\textii}{Beschreibung:\quad Zerlegen, Reinigen und Prüfen des ausgebauten Beispielteils} \newcommand{\textiii}{AL000 $\to$ AL003 $\to$\quad\color{red}\textbf{AL005}\color{black}\quad$\to$ AL011 $\to$ AL0015} \newcommand{\textiv}{Herr Niemand\qquad Tel: 12345} \begin{document} \pagestyle{scrheadings} \clearscrheadfoot % Wir packen die statischen Elemente (Linien, Kästen, fixer Text, usw.) in eine TikZ-Umgebung in die Kopfzeile. \ihead{\begin{textblock*}{210mm}(0mm,0mm) \begin{tikzpicture} \draw (0,29.7) node {}; %Anker linke obere Ecke setzen \draw [ultra thick,red] (1.0,1.0) rectangle ++(19.0,27.7); % Gesamtrahmen \draw [ultra thin,red] (1.0,27.2) -- ++(19.0,0.0); % Horizontal oben oben \draw [ultra thick,blue] (1.0,26.2) -- ++(19.0,0.0); % Horizontal oben etwas tiefer \draw [ultra thick,green] (4.0,28.7) -- ++(0.0,-1.5); % Vertikal oben links \draw [ultra thick,yellow] (17.0,28.7) -- ++(0.0,-2.5); % Vertikal oben rechts \draw (2.5,27.95) node {\huge UVV}; \draw (4.0,28.7) node [below right] {Anleitung}; \draw (1.0,26.7) node [right] {\textii}; \draw (10.5,27.95) node {\huge\textbf{\texti}}; \draw (18.5,27.95) node {Logo}; \draw (18.5,26.7) node {Juli 2018}; \draw [ultra thick,brown] (1.0,1.5) -- ++(19.0,0.0); % Horizontal unten unten \draw [ultra thin,brown] (1.0,3.0) -- ++(19.0,0.0); % Horizontal unten etwas höher \draw [ultra thick, black] (11.0,1.5) -- ++(0.0,1.5); % Vertikal unten Mitte \draw [ultra thick, black] (17.0,1.5) -- ++(0.0,1.5); % Vertikal unten rechts \draw (6.0,2.7) node {\scriptsize{\color{red} Dokumentennummer} und Arbeitsablauf}; \draw (14.0,2.7) node {\scriptsize Verantwortlicher für dieses Dokument}; \draw (6.0,2.0) node {\textiii}; \draw (14.0,2.0) node {\textiv}; \draw (18.5,2.25) node {Seite \thepage\ von \pageref{LastPage}}; \draw (1.0,1.25) node [right] {\tiny Vermerke:}; \end{tikzpicture} \end{textblock*}} % Und auf jeder einzelnen Seite dann der individuelle Text: \blinddocument \end{document}
-
- Forum-Anfänger
- Beiträge: 15
- Registriert: Di 25. Dez 2018, 14:34
Wow, das ist ja fast schon ein Tutorial was du mir da geschrieben hast.
Anhand von deinem Code kann ich jetzt wirklich alles nachvollziehen, was da passiert. Mir war z.B, vorher nicht klar, dass sich das Tikz Bild in der Kopfzeile einfach über das gesamte Blatt erstrecken kann, und dann trotzdem noch "Platz" für den Text in der Mitte der Seite ist.
Vielen dank für die tolle Hilfe, das ist wirklich ein klasse Forum hier.
LG Evilamblonyx
Anhand von deinem Code kann ich jetzt wirklich alles nachvollziehen, was da passiert. Mir war z.B, vorher nicht klar, dass sich das Tikz Bild in der Kopfzeile einfach über das gesamte Blatt erstrecken kann, und dann trotzdem noch "Platz" für den Text in der Mitte der Seite ist.
Vielen dank für die tolle Hilfe, das ist wirklich ein klasse Forum hier.
LG Evilamblonyx
Das Geheimnis ist die textblock*-Umgebung - die Ausgabe kann man damit (unabhängig davon, was gerade die aktuelle Position ist) überall hin setzen. In der Kopfzeile steht sie nur, weil es ja auf jeder Seite statisch erscheinen soll - packst Du sie in die Fußzeile, geht es genau so gut.
Und der Bereich in der Mitte (da, wo der "eigentliche" Text + Bilder usw. rein sollen) wird mit geometry gesetzt.
Am Besten bastelst Du Dir erstmal die ganzen Linien und Texte in den Feldern so, dass es paßt. Dann aktivierst Du showframe und legst den "Satzspiegel" so in Dein Blatt rein, dass auch dieses passt.
Alles Gute für 2019, Gruß vom Rolli
Und der Bereich in der Mitte (da, wo der "eigentliche" Text + Bilder usw. rein sollen) wird mit geometry gesetzt.
Am Besten bastelst Du Dir erstmal die ganzen Linien und Texte in den Feldern so, dass es paßt. Dann aktivierst Du showframe und legst den "Satzspiegel" so in Dein Blatt rein, dass auch dieses passt.
Alles Gute für 2019, Gruß vom Rolli