PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Zwei Layoutfragen (lettrine und quote)



lektorat
05-07-2011, 23:29
Guten Tag!

Ich versuche zurzeit, ein eigenes Buchlayout mit LaTeX zu entwerfen und habe da nun zwei kleine Fragen:

1. Wie kann ich es erreichen, dass der erste Buchstabe des Fließtext-Absatzes nach einer Chapter-Überschrift automatisch über drei Zeilen gesetzt wird, ohne dass ich dies bei jedem Chapter "von Hand" mit je einem \lettrine{} selbst einfügen muss?

2. Ich möchte gerne die Quote-Umgebung etwas erweitern. Sie ist ja gegen den restlichen Fließtext zu beiden Rändern hin etwas "eingerückt". Diesen Freiraum möchte ich gerne mit hellgrauen eckigen Klammern in Zitathöhe "füllen" (links vom Text: [, rechts vom Text: ]). Ist das so verständlich? Hat jemand eine Idee, wie man das machen könnte?

Ich bedanke mich schonmal für alle Hilfsversuche.

PS: Ich nutze als Klasse scrbook.

bobmalaria
06-07-2011, 01:20
hi,

zu 1) du bist faul :D spass beiseite, ich glaube das das extrem schwer wäre. denn nicht zwingend steht nach \chapter{} direkt der text, es könnte ja noch ein \label{} stehen oder sonst ein befehl. dann müsste man irgendwie feststellen können wann der absatz beginnt.
zumindest geht das über meinen kopf....

zu 2)

das könnte so gehen:


\documentclass[parskip=half]{scrartcl}

\usepackage{tikz}
\usetikzlibrary{calc}
\usepackage{environ,xcolor}
\usepackage{lipsum}

\NewEnviron{bquote}{%
\noindent%
\begin{quote}%
\begin{tikzpicture}%
\node[text width=0.97\linewidth](q){\BODY};%
\draw[ultra thick,line width=7pt,overlay,gray!30] (q.north west) -- ($(q.north west) - (15pt,0)$) -- ($(q.south west) - (15pt,0)$) -- (q.south west);%
\draw[ultra thick, line width=7pt,overlay,gray!30] (q.north east) -- ($(q.north east) + (15pt,0)$) -- ($(q.south east) + (15pt,0)$) -- (q.south east);%
\end{tikzpicture}%
\end{quote}%
}%

\begin{document}
\lipsum[1]
\begin{bquote}
\lipsum[3]
\end{bquote}
\lipsum[1]
\end{document}

http://www.mrunix.de/forums/attachment.php?attachmentid=4661&stc=1&d=1309911644

lektorat
06-07-2011, 11:19
hi,

zu 1) du bist faul

Definitiv.



:D spass beiseite, ich glaube das das extrem schwer wäre. denn nicht zwingend steht nach \chapter{} direkt der text, es könnte ja noch ein \label{} stehen oder sonst ein befehl. dann müsste man irgendwie feststellen können wann der absatz beginnt.
zumindest geht das über meinen kopf....

Daran habe ich nicht gedacht, da hast Du völlig recht. Schade.



zu 2)

das könnte so gehen:

Danke, das probiere ich mal. Dein Beispiel sieht schonmal sehr gelungen aus! Vielen Dank.

lektorat
06-07-2011, 16:49
Der Quellcode für die Klammern um Zitate funktioniert und sieht super aus, allerdings gibt es eine Einschränkung: Fußnoten innerhalb dieser Umgebung werden nun nicht mehr am Seitenende angezeigt, sondern am unteren Ende der Umgebung. Das ist natürlich ärgerlich...

bobmalaria
06-07-2011, 18:16
hier eine modifikation mit dem paket footnote. so sollte es gehen das fussnote immer am seitenende gesetzt werden. musste dafuer auch die gurus befragen (http://tex.stackexchange.com/questions/22472/tikz-how-to-move-a-footnote-in-a-node-out-of-that-group) :)


\documentclass[parskip=half]{scrartcl}

\usepackage{tikz}
\usepackage{xcolor}
\usepackage{footnote}
\usepackage{lipsum}

\newenvironment{bquote}{%
\par%
\noindent%
\addmargin{30pt}
\begin{savenotes}
\begin{tikzpicture}%
\node[text width=0.97\linewidth](q)\bgroup
}{%
\egroup;%
\draw[ultra thick,line width=7pt,overlay,gray!30] (q.north west) --
([shift={(-15pt,0)}]q.north west) -- ([shift={(-15pt,0)}]q.south west) --
(q.south west);%
\draw[ultra thick, line width=7pt,overlay,gray!30] (q.north east) --
([shift={(15pt,0)}]q.north east) -- ([shift={(15pt,0)}]q.south east) --
(q.south east);%
\end{tikzpicture}%
\end{savenotes}%
\par%
}%

\begin{document}
\lipsum[1]
\begin{bquote}
\lipsum*[3]\footnote{Hier die fussnote} bla bla
\end{bquote}
\lipsum[1]
\end{document}

lektorat
06-07-2011, 22:26
Wahnsinn. Das klappt! Hab vielen Dank für Deine Mühen!

lektorat
07-07-2011, 11:57
Zu früh gefreut. Wenn ich eine gewisse Anzahl dieser Umgebungen überschreite, kommt als Fehlermeldung "Too deeply nested. \begin{bquote}"
Wenn ich alles als quote lasse, läuft es. Sobald ich zu viele quote durch bquote ersetze, meckert er.
Bei Deiner ersten Version habe ich den Fehler nicht. Erst durch die Fußnoten-Korrektur kommt er hinzu.

bobmalaria
07-07-2011, 12:55
hi,

kommentiere mal das \addmargin{30pt} aus. to deeply nested ist eigentlich ein problem aus geschachtelten listen. mal sehen wie sich das loesen laesst.

esdd
07-07-2011, 14:07
Hallo,

hier ist noch ein anderer Ansatz, der den Text nicht in eine Node setzt. Allerdings braucht er zwei Durchläufe, damit die Klammern am richtigen Platz sind:


\documentclass[parskip=half]{scrartcl}

\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[ngerman]{babel}

\usepackage{tikz}

\usepackage{environ}

\usepackage{blindtext}

\NewEnviron{bquote}{%
\noindent%
\begin{quote}%
\tikz[remember picture]\node(B)[inner sep=0pt,outer sep=0pt]{\vphantom{T}};\\
\BODY\\%
\null\hfill%
\begin{tikzpicture}[remember picture,overlay]
\node(E)[inner sep=0pt,outer sep=0pt]{\vphantom{g}};
\draw[ultra thick,line width=7pt,remember picture,overlay,gray!30]%
([xshift=15pt]B.north)--([xshift=-15pt]B.north) --([xshift=-15pt]B|-E)--([xshift=15pt]B|-E);
\draw[ultra thick,line width=7pt,remember picture,overlay,gray!30]%
([xshift=-15pt]E|-B.north)--([xshift=15]E|-B.north) --([xshift=15pt]E.center)--([xshift=-15pt]E.center);
\end{tikzpicture}%
\end{quote}%
}%

\begin{document}
\blindtext

\begin{bquote}
\blindtext\footnote{Fußnote1}

\blindtext\footnote{Fußnote2}
\end{bquote}

\blindtext

\blindtext
\end{document}

Gruß
Elke

bobmalaria
07-07-2011, 14:43
so, fehler gefunden dank markus kohm, em entwickler von KOMA. allerdings war es meine eigene bloedheit :)

habe mit \addmargin{30pt} begonnen, aber vergessen mit \endaddmargin diese umgebung auch wieder zu beenden.

jetzt sollte alles gehen wie gewuenscht


\documentclass[parskip=half]{scrartcl}

\usepackage{tikz}
\usepackage{xcolor}
\usepackage{footnote}
\usepackage{lipsum}

\newenvironment{bquote}{%
\par%
\noindent%
\addmargin{30pt}
\begin{savenotes}
\begin{tikzpicture}%
\node[text width=0.97\linewidth](q)\bgroup
}{%
\egroup;%
\draw[ultra thick,line width=7pt,overlay,gray!30] (q.north west) --
([shift={(-15pt,0)}]q.north west) -- ([shift={(-15pt,0)}]q.south west) --
(q.south west);%
\draw[ultra thick, line width=7pt,overlay,gray!30] (q.north east) --
([shift={(15pt,0)}]q.north east) -- ([shift={(15pt,0)}]q.south east) --
(q.south east);%
\end{tikzpicture}%
\end{savenotes}%
\endaddmargin
\par%
}%

\begin{document}
\begin{bquote}
\lipsum*[3]\footnote{Hier die fussnote} bla bla
\end{bquote}

\begin{bquote}
\lipsum*[3]\footnote{Hier die fussnote} bla bla
\end{bquote}

\begin{bquote}
\lipsum*[3]\footnote{Hier die fussnote} bla bla
\end{bquote}

\begin{bquote}
\lipsum*[3]\footnote{Hier die fussnote} bla bla
\end{bquote}

\begin{bquote}
\lipsum*[3]\footnote{Hier die fussnote} bla bla
\end{bquote}

\begin{bquote}
\lipsum*[3]\footnote{Hier die fussnote} bla bla
\end{bquote}

\begin{bquote}
\lipsum*[3]\footnote{Hier die fussnote} bla bla
\end{bquote}

\end{document}

lektorat
07-07-2011, 14:52
Leute, ich muss das mal loswerden, und es ist garantiert ehrlich und ohne jeden Spaß gemeint: Es ist beeindruckend, wie einem hier geholfen wird, wenn man konkrete Fragen hat. Ihr habt euch ja richtig Mühe gegeben, mir zu helfen! Das kenne ich (leider) aus anderen Foren anders. Ich bin zutiefst positiv beeindruckt und wünsche allen hier im Forum einen traumhaften Sommer.

lektorat
01-08-2011, 21:04
Noch eine kleine Zusatzfrage hat sich leider ergeben:
Bekomme ich den Inhalt meiner neuen genialen Zitatumgebung irgendwie in Blocksatz?

Danke...

bobmalaria
02-08-2011, 09:58
hi,

das sollte so gehen



\node[text width=0.97\linewidth,align=justify](q)\bgroup

lektorat
02-08-2011, 22:13
Leider nicht. Nun kommt bei jeder Stelle, an der die Umgebung aufgerufen wird:

"Package pgfkeys Error: I do not know the key '/tikz/align' and I am going to
ignore it. Perhaps you misspelled it."

lektorat
02-08-2011, 22:19
Habs selbst herausgefunden:

\node[text width=0.97\linewidth, text justified](q)\bgroup

Trotzdem vielen Dank! Der Tipp war genau richtig.

bobmalaria
02-08-2011, 22:32
liegt wohl daran da du noch eine alte version von tikz hast.
aber wenn es geht dann ist ja gut

lektorat
04-08-2011, 23:44
Oh, das kann sein. Wobei ich erst vor wenigen Monaten ein neues Linux (SuSE 11.4) installiert habe. Hab nicht überprüft, wie aktuell die LaTeX-Sachen und TikZ etc. so sind...

Hier nochmal die komplette Zitat-Umgebung, wie ich sie jetzt nutze:


\newenvironment{bquote}{%
\par%
\noindent%
\addmargin{30pt}
\begin{savenotes}
\begin{tikzpicture}%
\node[text width=0.97\linewidth, text justified](q)\bgroup
}{%
\egroup;%
\draw[ultra thick,line width=3pt,overlay,gray!30] (q.north west) --
([shift={(-10pt,0)}]q.north west) -- ([shift={(-10pt,0)}]q.south west) --
(q.south west);%
\draw[ultra thick, line width=3pt,overlay,gray!30] (q.north east) --
([shift={(10pt,0)}]q.north east) -- ([shift={(10pt,0)}]q.south east) --
(q.south east);%
\end{tikzpicture}%
\end{savenotes}%
\endaddmargin
\par%
}%

\makeatletter
\g@addto@macro\bquote{\small}
\makeatother

lektorat
04-08-2011, 23:45
Klappt das so auch in einer neueren tikz-Version?