PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Titelseite mit Logo und vertikalem Strich



p0mbaer
25-01-2009, 15:11
Hey
Ich habe seit diesem Semester LaTeX als Kurs im Optionalbereich meiner Uni belegt und bin dementsprechend noch nicht sehr bewandert was anspruchsvollere Anwendungen mit LaTeX angeht.
Nun sollen wir jedoch zum Abschluss des Kurses eine Hausarbeit erstellen, die auch eine Titelseite beinhalten muss. Natürlich könnte ich mir auch eine einfache Titelseite bauen aber das finde ich optisch nicht sehr ansprechen und ich möchte ja schließlich auch noch etwas lernen.
Mich spricht zum Beispiel diese Titelseite sehr an: Auf dieser Seite die zweite von unten (http://zoonek.free.fr/LaTeX/LaTeX_samples_title/0.html).
Der Code geht jedoch bei weitem über dem hinaus, was ich bisher gelernt habe und so fällt es mir auch sehr schwer individuelle Veränderungen vorzunehmen (die Hälfte der Befehle habe ich noch nie gehört...).
Ich habe zu aller erst den Rahmen um das Bild entfernt und dieses größer gemacht. Das hatte jedoch zur Folge, dass sich die Titelseite nun über 3 Seiten ersteckt, wobei die erste und die letzte Seite leer sind.
Ich suche deshalb nach einer anderen Möglichkeit ein ähnliches Design zu erstellen, sprich ein Logo in der linken oberen Bildecke, ein vertikaler Strich, welcher sich über die gesamte Texthöhe erstreckt sowie den Informationen über Autor, Datum usw. rechts daneben.
Wenn ich versuche das Design manuell zu rekonstruieren scheitere ich schon dabei den Strich neben dem Logo einzufügen. Beides für sich ist kein Problem, aber nebeneinander wollen die beiden irgendwie nicht stehen...

Ich hoffe ihr könnt mir weiterhelfen.


mfg: p0mbaer

mechanicus
25-01-2009, 15:19
Hallo und Willkommen,


Der Code geht jedoch bei weitem über dem hinaus, was ich bisher gelernt habe und so fällt es mir auch sehr schwer individuelle Veränderungen vorzunehmen (die Hälfte der Befehle habe ich noch nie gehört...).

Ich habe unten den Code einfach mal kopiert.
Zu deinem Problem:
Da du noch etwas lernen möchtest, frage ich doch einfach mal, welche Befehle verstehst du nicht?

\documentclass{sample}
\usepackage{graphicx}
\makeatletter
\def\thickhrulefill{\leavevmode \leaders \hrule height 1pt\hfill \kern \z@}
\renewcommand{\maketitle}{\begin{titlepage}%
\let\footnotesize\small
\let\footnoterule\relax
\parindent \z@
\reset@font
\null
\vskip 10\p@
\hbox{\mbox{%
\hspace{4pt}%
\fbox{\includegraphics[width=3em]{dessin}}%
\hspace{4pt}
}%
\vrule depth 0.9\textheight%
\mbox{\hspace{2em}}
\vtop{% %%%%%%%%%%%%%%%%%%
\vskip 40\p@
\begin{flushleft}
\Large \@author \par
\end{flushleft}
\vskip 80\p@
\begin{flushleft}
\huge \bfseries \@title \par
\end{flushleft}
\vfil
}}
\null
\end{titlepage}%
\setcounter{footnote}{0}%
}

\makeatother
\author{Isidore Ducasse, Comte de Lautréamont}
\author{Lautréamont}
\title{Les Chants de Maldoror}
\date{1874}
\begin{document}
\maketitle
\end{document}


Gruß
Marco

p0mbaer
25-01-2009, 15:36
Erstens kenne ich "\makeatletter" nicht, habe nun jedoch gelesen, dass man damit Zugriff auf eigentlich geschütze Makros hat oder so ähnlich.
"\def" definiert wahrscheinlich irgendetwas aber mit der Definition eigener Befehle habe ich noch überhauptkeine Erfahrung (\leavevmode \leaders \kern und \z@ sagen mir übrigens auch nichts).
Auch die Befehle "\let", "\null", "\vtop" sowie alles mit einem "@" sind mir neu.
Zudem ist mir auch die Strukturierung nicht ganz klar. Warum wird bei "\vrule depth 0.9\textheight" zum Beispiel keine Klammer benötigt?


edit: Anstatt diese Vorlage erläutert zu bekommen, würde ich es vorziehen eine auf meine Fähigkeiten aufbauende Vorlage erklärt zu bekommen, denn so würde ich noch etwas lernen, ohne deutlich überfodert zu sein.

mechanicus
25-01-2009, 16:19
Hallo,


Erstens kenne ich "\makeatletter" nicht, habe nun jedoch gelesen, dass man damit Zugriff auf eigentlich geschütze Makros hat oder so ähnlich.
Das ist richtig. Und geschützte Befehle sind durch das @ gekennzeichnet. Denn dieses @ ist ein Sonderzeichen und kann von latex aus nicht gelesen werden.



"\def" definiert wahrscheinlich irgendetwas
Das ist auch richtig. Hierbei ist zu beachten, dass man mit dem def aber nicht so einfach rumspielen darf. Zur Definition von neuen Befehlen solltest du newcommand nutzen. Diese Anweisung prüft zuerst, ob dieser Befehl bereits existiert. Ist dies der Fall, so gibt es eine Fehlermeldung. def hingegeben überschreibt direkt.
Zur Anwendung von newcommand hilft die hier (http://www.matthiaspospiech.de/blog/2008/04/16/definition-von-markos-und-umgebungen/) aufgeführte Erklärung.
Der Befehl thickrulefill wird bei dir aber nicht verwendet.



(\leavevmode \leaders \kern und \z@ sagen mir übrigens auch nichts).
Auch die Befehle "\let", "\null", "\vtop", "\par", sowie alles mit einem "@" sind mir neu.

Das @ hat sich wohl geklärt.
\leavemode: Bedeutung: verlaesst den vertikalen Modus und beginnt einen Absatz.
Bsp:

\documentclass{scrartcl}
\begin{document}
\begin{description}
% \leavevmode verlaesst den vertikalen Modus und beginnt einen Absatz.
\item[1987-1989]
\item[Schubladenschubser] \leavevmode
\begin{itemize}
\item[]{Eine Firma mit sehr vielen Schubladenschr{\"a}nken}
\end{itemize}
\end{description}
\end{document}
leaders: Kurz gesagt füllt leades den Freiraum mit einer Box bzw. einer Linie.
\kern: ???? weiß ich auch nicht :confused:
\z@: ist eine geschütze Maßeinheit und entspricht 0pt
\let: Aufbau: \let\makroA=\makroB, Also weißt let dem makroA das bestehende makroB zu.
\null: Erzeugt eine Box der Breite null. Um Abstand zwischen 2 Punkten zu bekommen, muss ja der erste Punkt gesetzt werden. Dieser unsichtbare Punkt ist \ņull.
\par: Beendet einen Absatz
\vtop: ????? :confused:

So hoffe konnte ein wenig deine Fragen beantworten.

Gruß
Marco

Donalduck
25-01-2009, 16:46
Ist \kern nicht einfach das Kerning, also die Veränderung eines Abstandes?

p0mbaer
26-01-2009, 14:36
Gut, nun kenne ich die Bedeutung der meisten Befehle, muss jedoch zugeben, dass mir dennoch nicht ganz klar ist, wie ich mit diesen arbeite.

Mein Problem besteht derzeit eben darin, dass ich es nicht richtig schaffe das Bild neben den vertikalen Strich zu setzen (und auf der anderen Seite eben einen Text). Gibt es dafür nicht eine einfache, also in etwa meinem Kenntnisstand entspechende Methode?

mechanicus
26-01-2009, 19:31
Hallo,

hier eine Alternativmöglichkeit. Hierbei kannst du mittels vspace und hspace alles hinschieben.


\documentclass[ngerman,a4paper,12pt,bibliography=totoc]{scrreprt}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[ngerman]{babel}
\usepackage{geometry}
\geometry{left=20mm,right=20mm, top=25mm, bottom=25mm}
\usepackage[demo]{graphicx}
\usepackage{setspace}
\onehalfspacing

\usepackage{calc}
\newlength{\BreiteDesBildes}
\newlength{\HoeheDesBildes}
%Angabe der Breit und Hoehe des Bildes
\setlength{\BreiteDesBildes}{3cm}
\setlength{\HoeheDesBildes}{3cm}


\begin{document}
\begin{titlepage}\noindent%
\begin{minipage}[t][0.9\textheight][t]{\BreiteDesBildes+0.5cm}\centering
\vspace{0.5\HoeheDesBildes}
\includegraphics[width=\BreiteDesBildes,height=\HoeheDesBildes]{logo}
\end{minipage}%
\hspace{2em}%
\llap{\vrule depth 0.9\textheight}%
\hspace{2em}%
\begin{minipage}[t][0.9\textheight][t]{\textwidth-\BreiteDesBildes-0.5cm-5em}\sffamily%
\Large\bfseries\vspace{0.5\HoeheDesBildes} TITEL

\vspace{5cm}

Author
\end{minipage}%
\end{titlepage}
\chapter{foo}
Text
\end{document}

Gruß
Marco

p0mbaer
26-01-2009, 20:14
Hab vielen Dank!
Hat zwar etwas gedauert, bis ich gemerkt habe, dass das "demo" Argument etwas damit zu tun haben könnte, dass nur ein schwarzer Kasten angezeigt wird, aber das ist ja nicht deine Schuld ;)
Genau so eine Lösung habe ich gesucht. Zwar sind mir einige Sachen neu aber das ganze scheint mir durchaus verständlich zu sein. Im Prinzip hast du doch zwei Minipages nebeneinander gesetzt, wobei die Größe der beiden jeweils in Relation zu der Größe des Bildes steht oder?
Genial einfach und einfach genial! :)