Differences

This shows you the differences between two versions of the page.

Link to this comparison view

computing:latex:beispiele [13.11.2008 22:31] (current)
Line 1: Line 1:
 +=====Hello World=====
 +
 +Erst einmal ein ganz einfaches Hello World Beispiel:
 +<code latex>​\documentclass[[A4]]{article}
 +
 +\begin{document}
 +
 +Hello World!
 +
 +\end{document}
 +</​code>​
 +
 +Erzeugt erwartungsgemäß eine A4 Seite mit "Hello World" und einer Seitenzahl (Siehe {{.:​helloworld.ps}})
 +
 +=====Einfach=====
 +
 +Die einfachsten Befehle:
 +
 +<code latex>​\documentclass[[10pt,​twoside,​fleqn]]{article}
 +\usepackage{german}
 +\usepackage[[latin1]]{inputenc}
 +\usepackage[[T1]]{fontenc}
 +\usepackage{a4wide}
 +\usepackage{amsmath}
 +\usepackage{amssymb}
 +\usepackage{graphics}
 +
 +
 +\newcommand{\qed}{\hfill \ensuremath{\Box}} ​       % q.e.d.
 +
 +\begin{document}
 +\section{Einleitung}
 +Mit \LaTeX{} kann man auch schnell mal einen Text schreiben.
 +\section{Einfache Formatierungen}
 +\subsection{Schrift}
 +Aufzählung der einfacher Formatierung
 +\begin{itemize}
 + \item {\bf fett}
 + \item {\em kursiv}
 + \item {\Large groß}, {\LARGE größer}
 + \item {\small klein}, {\scriptsize kleiner} ​
 +\end{itemize}
 +
 +\subsection{Layout}
 +\subsubsection{Tabellen}
 +\begin{tabular}{l||l|r}
 +  Schriftart & Befehl & Beispiel\\
 +  \hline
 +  Roman (normal) & \verb#​\textrm#​ & \textrm{Roman} \\
 +  Sans  & \verb#​\textsf#​ & \textsf{Sans} ​  \\
 +  Italy  & \verb#​\textit#​ & \textit{Italy}\\
 +  Kapitälchen & \verb#​\textsc#​ & \textsc{Small Kapitals}
 +\end{tabular}
 +
 +\section{Einfache mathematische Ausdrücke}
 +Eine Formel kann im Text erscheinen wie z.B.: $x_0=0$ oder
 +abgesetzt sein $$\overline x = \frac 1 n \sum_{i=0}^{n} x_i$$
 +Formelblöcke kann man setzten mit \verb/​align/​
 +\begin{align}
 +  x_i &= i\\
 +  \hat x &= \sum_{i=0}^{n} x_i \label{reihe}\\
 +         &​= \frac{n \cdot (n-1)}{2} \nonumber
 +\end{align}
 + Ein Verweis auf (\ref{reihe}) ist einfach zu bewerkstelligen.
 + Will man keine Nummern an den Formeln dann muß man einfach \verb/​align*/​ benutzen:
 + ​\begin{align*}
 +  f(x) &= x^2 + 4\\
 +  \frac{\partial f}{\partial x} = f'(x) &= 2x
 +\end{align*}
 +\qed
 +
 +\section{Quellcode}
 +\begin{verbatim}
 +\newcommand{\qed}{\hfill \ensuremath{\Box}} ​       % q.e.d.
 +.
 +.
 +.
 +\end{verbatim}
 +\end{document}
 +</​code>​
 +
 +Download:
 +  * Quelltext: {{.:​simple.tex}}
 +  * Ausgabe: {{.:​simple.ps}}
 +
 +=====Komplex=====
 +
 +Das folgende Beispiel soll die Struktur für Übungsaufgaben erläutern. So nun will man nicht jedesmal den ganzen Kopf neu schreiben bzw. nicht so viel in der Datei stehen haben. Abhilfe schafft da das **\\\include{file}** Kommando mit dem man eine andere Datei einbinden kann.
 +Wir erstellen also eine Datei **header.tex** die wir dann in jede Datei einbinden und eine ganz einfache **template.tex**,​ die dann vom **guard** script benutzt wird und die Grundstruktur für jedes neue Dokument wird.
 +
 +====Header.tex====
 +Download here: {{.:​header.tex}}
 +
 +<code latex>​\documentclass[[10pt,​twoside,​fleqn]]{article} ​    % Schriftgrösse 10 zweiseitig(siehe Fusszeile) ​
 +                                                % Mathematische Formeln eher links
 +\usepackage{fancyhdr} ​                          % Kopfzeile (siehe unten)
 +\usepackage{german} ​                            % deutsche Formatierung (Datum, Silbentrennung ...)
 +\usepackage[[latin1]]{inputenc} ​                  % man kann damit auch Umlaute schreiben
 +\usepackage[[T1]]{fontenc} ​                       % er kennt die Umlaute jetzt auch
 +\usepackage{a4wide} ​                            % das Batt wird sinnvoll ausgenutzt (Ränder nicht 4cm) 
 +\usepackage{parskip}
 +\usepackage{exscale}
 +\usepackage{amsmath} ​                           % AMS - american mathematic s....; viele mathematische Umgebungen
 +\usepackage{amssymb} ​                           % viele mathematische Symbole
 +\usepackage{graphics} ​                          % für Graphiken
 +\usepackage{calc} ​                              % zum rechnen in tex (braucht man für Graphikskalierung
 +\usepackage{eepic}
 +\usepackage[[dvips]]{graphicx} ​                   % Befehle für Graphiken in PS durch dvi durchleiten..oder so
 +\usepackage[[german]]{varioref} ​                  % Referenzen auf Labels sind dann schön (siehe letzte Seite...)
 +
 +% newcommand legt neues Kommando an
 +%   ​Syntax \newcommand{\neuerBefehl}[[parameteranzahl]][[defaultFuer1.Param]]{Amweisungen #1..#9 sind parameter}
 +
 +% folgende Einträge für jede Vorlesung editieren
 +\newcommand{\Vorlesungsname}{Tolle Vorlesung}
 +\newcommand{\Name}{Mustermann Fritz}
 +\newcommand{\Email}{fritz@mustermann.de}
 +\newcommand{\Seminargruppe}{1}
 +
 +
 +% Kopfzeilenformat
 +\pagestyle{empty}
 +\setlength{\headheight}{20pt}
 +
 +% TITELSEITE
 +\fancyhead{}
 +
 +% KOPFZEILEN
 +\pagestyle{fancy} ​                              % Seitenformat wird auf das vom Packet fancy gestellt (Kopfzeile)
 +\addtolength{\headwidth}{\marginparsep}
 +\addtolength{\headwidth}{\marginparwidth}
 +\fancyhf{}
 +\fancyhead[[LE,​RO]]{\bfseries\thepage} ​           % L|R Links oder rechts E|O even(gerade) oder odd (ungerade Seiten) ​
 +                                                % thepage gibt Seitenzahl zurück
 +\fancyhead[[LO,​RE]]{\Vorlesungsname,​\\
 +  {\bf \Name \ Gr. \Seminargruppe} {\small <​\Email>​}}
 +\fancypagestyle{plain}{%
 +    \fancyhead{} % get rid of headers
 +    \renewcommand{\headrulewidth}{0pt} % and the line
 +}
 +
 +\newcommand{\Angaben}[[1]] ​                        % Kommando um die Überschrift einer Übungsaufgabe zu setzten
 +    {
 +\begin{center}
 +    \large
 +    \normalsize #1. Übungsaufgabenserie,​ \today
 +\end{center}
 +    }
 +
 +
 +\DeclareGraphicsRule{.eps.gz}{eps}{.eps.bb}{`gunzip -c #1}
 +
 +\newcommand{\qed}{\hfill \ensuremath{\Box}} ​       % q.e.d.
 +\newcommand{\rang}{\ensuremath{\mathsf{rang}\,​}} ​  % Rang
 +\newcommand{\lin}{\ensuremath{\mathsf{lin}\,​}} ​    % lineare Hülle
 +\newcommand{\conv}{\ensuremath{\mathsf{conv}\,​}} ​  % konvexe Hülle
 +\newcommand{\cone}{\ensuremath{\mathsf{cone}\,​}} ​  % konvexer Kegel
 +\newcommand{\Id}{\ensuremath{\mathsf{Id}}} ​        % identische Abbildung
 +\newcommand{\Dim}{\ensuremath{\mathsf{dim}\,​}} ​   % Dimension
 +% setzt ein Zeichen genau über ein anderes
 +\newcommand{\CharOver}[[2]]{\ensuremath{\overset{_{#​1}}{#​2}}}
 +\newcommand{\ZeroOver}[[1]]{\CharOver{0}{#​1}} ​               % Null darüber setzen
 +\newcommand{\supp}{\ensuremath{\mathsf{supp}\,​}} ​  % Support
 +\newcommand{\Problem}[[2]]{\ensuremath{(#​1)_{\text{#​2}}}} ​   % Primäres/​Duales Problem
 +\newcommand{\ProblemP}[[1]]{\Problem{P}{#​1}} ​               % Primäres Problem vom Typ #1
 +\newcommand{\ProblemD}[[1]]{\Problem{D}{#​1}} ​               % Duales Problem vom Typ #1
 +
 +newcommand{\entrylabel}[[1]]{\mbox{\textsf{#​1:​}}\hfil}
 +
 +
 +
 +\newenvironment{entry}[[1]] ​                                  % eine Listenumgebung
 +{ \begin{list}{}%
 +  { \renewcommand{\makelabel}{\entrylabel}%
 +     ​\setlength{\labelwidth}{#​1}%
 +     ​\setlength{\leftmargin}{\labelwidth+\labelsep}%
 +  }%
 +}%
 +{\end{list}}
 +
 +% eine sehr schöne Listenumgebung (1.Param breite der 1.Spalte)
 +\newcommand{\Mentrylabel}[[1]]%
 + ​{\raisebox{0pt}[[1ex]][[0pt]]{\makebox[[\labelwidth]][[l]]%
 +  {\parbox[[t]]{\labelwidth}{\hspace{0pt}\textsf{#​1:​}}}}}
 +
 +\newenvironment{Mentry}[[1]]%
 + ​{\renewcommand{\entrylabel}{\Mentrylabel}\begin{entry}{#​1}}%
 +  {\end{entry}}
 +  ​
 +%% benutzung:
 +% \begin{Mentry}{1cm}
 +%    \item[[Erster Punkt]]
 +%    \item[[Zweiter Punkt]]
 +% \end{Mentry}
 +%
 +</​code>​
 +
 +Nicht von der Länge der Datei abschrecken lassen! Die wichtigsten Sachen stehen schon als Kommentar im Quelltext. Wenn du die Kopfzeile ändern möchtest, dann einfach \fancyhead[pos]{} entsprechend anpassen. ​
 +
 +====Template.tex:​====
 +{{.:​template.tex}}
 +
 +<code latex>​\input{header/​header.tex}
 +
 +\begin{document}
 +\Angaben{1}
 +
 +\subsection*{Aufgabe 1}
 +
 +\end{document}
 +</​code>​
 +
 +====Uebung1====
 +{{.:​uebung1.tex}}:​
 +
 +<code latex>​\input{header/​header.tex}
 +
 +\begin{document}
 +\Angaben{1}
 +
 +\subsection*{Aufgabe 1}
 +Selbstgebaute Aufzählung aus Headerfile:
 +\begin{Mentry}{2cm}
 +  \item[[itemize]] Eine Listenumgebung mit Anstrichen
 +  \item[[enumerate]] Eine Umgebung für Aufzählung. Den Typ und die Formatierung der 
 +     ​Nummern ist wie folgt:
 +     ​\begin{verbatim}
 +       ​\renewcommand{\theenumi}{Darstellung{enumi}}
 +       ​\renewcommand{\labelenumi}{Zeichendavor\theenumi Zeichendanach}
 +     ​\end{verbatim}
 +     ​Beispiel:​ Form (a)
 +     ​\begin{verbatim}
 +       ​\renewcommand{\theenumi}{\alph{enumi}}
 +       ​\renewcommand{\labelenumi}{(\theenumi)}
 +     ​\end{verbatim}
 +     ​\renewcommand{\theenumi}{\alph{enumi}}
 +     ​\renewcommand{\labelenumi}{(\theenumi)}
 +     ​\begin{enumerate}
 +      \item foo
 +      \item bar
 +     ​\end{enumerate}
 +     ​Zweite Ebene ist dann statt \verb/​enumi/​ \verb/​enumii/​ uns so weiter.\\
 +
 +     ​Beispiel:​ 1.Ebene I., II., .. 2.Ebene 1), 2), ...
 +     ​\begin{verbatim}
 +       ​\renewcommand{\theenumi}{\Roman{enumi}}
 +       ​\renewcommand{\labelenumi}{\theenumi.}
 +       ​\renewcommand{\theenumii}{\arabic{enumii}}
 +       ​\renewcommand{\labelenumii}{\theenumii)}
 +     ​\end{verbatim}
 +    \renewcommand{\theenumi}{\Roman{enumi}}
 +    \renewcommand{\labelenumi}{\theenumi.}
 +    \renewcommand{\theenumii}{\arabic{enumii}}
 +    \renewcommand{\labelenumii}{\theenumii)}
 +    \begin{enumerate}
 +      \item foo dann es gilt
 +        \begin{enumerate}
 +            \item foobar
 +            \item barfoo
 +        \end{enumerate}
 +      \item bar
 +    \end{enumerate}
 +  \item[[Verwendung von item]] Man kann \verb/​\item/​ verwenden, dann wird entsprechend der obigen Erläuterung gesetzt.
 +  Bei \verb/​\item[[text]]/​ wird statt der Nummer oder dem Bullet jetzt der Text benutzt. (Wie bei dieser Mentry Umgebung.) ​
 +\end{Mentry}
 +\subsection*{Aufgabe 2}
 +Denkt euch was aus!
 +
 +\end{document}
 +</​code>​
 +
 +Download:
 +  * {{.:​header.tex}} (soll in ein Unterverzeichnis namens **header**)
 +  * {{.:​template.tex}}
 +  * {{.:​uebung1.tex}}
 +  * Ausgabe: {{.:​uebung1.ps}}
 +
 +
 +{{tag>​computing latex}}
  

computing/latex/beispiele.txt · Last modified: 13.11.2008 22:31 (external edit)