PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : \verse zentrieren?



badera
05-12-2006, 20:40
Ich möchte die Gedichte stumpf linksbündig, das ganze aber zentriert haben. Nur wie kriegt man das hin?



\begin{center}
\begin{quote}
A soul in tension that's learning to fly\\
Condition grounded but determined to try\\
Can't keep my eyes from the circling skies\\
Tongue-tied and twisted just an earth--bound misfit: I.\\
(Pink Floyd: Learning To Fly)
\end{quote}
\end{center}


ergibt genau die gleiche Ausgabe, wie wenn \begin{center} .. \end{center} nicht verwendet wäre.
(Ich möchte nicht jede Zeile einzeln zentiert, sondern linksbündig, aber soweit eingerückt, dass das ganze Gedicht zentriert als linkbündiger Block erscheint)

Hat jemand eine Idee? Danke schon im Voraus!
- Adrian

bischi
05-12-2006, 20:44
Das ganze in ne Minipage rein und danach zentrieren?

MfG Bischi

PS: Ev. auch von Hand ein \hspace*{3cm} rein (müsstest dann aber von Hand die entsprechende Breite rausfinden - daher nur als Notfalllösung zu empfehlen!)

badera
06-12-2006, 07:03
Danke für die Antwort!
Ich kann mir aber nicht vorstellen, wie das mit der minipage gehen sollte: dort muss man ja die Breite angeben. Also müsste man trotzdem schon vorher wissen, wie lange die längste Zeile ist! Ansonsten wird das Konstrukt ja eben trotzdem nicht eingemittet!

Von Hand geht nicht, da es sich um eine generelle Vorlage handelt, welche in einer Server-Umgebung eingesetzt wird, die auf Abruf von ganz unterschiedlichen Texten PDFs erzeugt.

Der Nachteil einer minipage wäre auch, dass die Fussnoten innerhalb der minipage gesetzte würden und nicht an das Seitenende. Ausserdem ist der Seitenumbruch problematisch...

Danke aber trotzdem!
- Adrian

badera
19-12-2006, 19:55
So, ich habe jetzt die Lösung. Im Paket pbox habe ich einen Trick
gefunden, wie man die längste Zeile eines Multi-Line Textes findet ->
genau das, was ich brauche. Und statt eine minipage (oder varwidth)
Umgebung zu nehmen, welche Probleme mit Seitenumbruch und Fussnoten
macht, kann ich somit den richtigen Leftskip berechnen und den Text
einfach ohne umgebung rein schreiben lassen...



==============================================
...
\usepackage{calc}
...

\newcommand{\minwidth}[1]{%
\widthof{\begin{tabular}{@{}l@{}}#1\end{tabular}}}

\newlength{\gedichtlength}

\newcommand{\gedicht}[1]%
{%
{%
\vspace{6pt}%
\it%
\setlength{\gedichtlength}{\minwidth{#1}}%
\setlength{\leftskip}{0.5\textwidth-0.5\gedichtlength}%
\par\noindent\protect{#1}\par%
\vspace{6pt}%
}%

}%

...

\gedicht
{
Dies ist ein Gedicht.\\
Schriebe ich es nicht,\\
wär' es kein Gedicht.\\
Peng --\\
dem Gedicht fehlt ein Refrain.

}

...

==============================================




Voilà! Der Trick besteht darin, den Text in eine Tabelle zu kopieren
und davon mit \withof die Breite zu messen. Somit wird die Tabelle
selbst nicht erzeugt; man hat aber die Breite...
- Adrian