PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Fehler bei Blocksatz



Georg
14-05-2009, 00:38
Hallo,

ich hab noch ein weiteres Problem:
Irgendetwas stimmt bei meinem Blocksatz nicht. Der letze Buchstabe vom nachfolgenden Text rutscht nach oben und ich weiss nicht woran es liegt.

Was ist falsch bei meinem Code?



\documentclass[a4paper,halfparskip,12pt]{scrbook}

\usepackage[ngerman]{babel}
\usepackage[ansinew]{inputenc}
\usepackage[babel,german=quotes]{csquotes}
\usepackage[T1]{fontenc}
\usepackage{fancyhdr}
\usepackage[]{graphicx,float,subfigure}
\usepackage {natbib}
\citestyle{natdin}
\setcitestyle{notesep={:}} % resultiert in: autor. jahr. note.
\usepackage{setspace}

\addtolength{\voffset}{1.5cm}
\addtolength{\headsep}{.1cm}
\addtolength{\textheight}{-1cm}
\addtolength{\evensidemargin}{-1.5cm}
\addtolength{\oddsidemargin}{1.5cm}

\pagestyle{fancy}

\doublespacing

\fancyhead[EL]{\nouppercase{\leftmark}}
\fancyhead[ER]{}
\fancyhead[OR]{\nouppercase{\leftmark}}
\fancyhead[OL]{}
\fancyfoot[C]{\thepage}

\setcounter{secnumdepth}{3}
\setcounter{tocdepth}{3}

\begin{document}

\newcommand{\block}[2]{{\singlespacing\small\blockquote{\enquote{#1}{#2} }}\vspace{-3mm}}
Lorem ipsum dolor sit amet, consectetuer sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea. \block{Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Ut purus elit, vestibulum ut, placerat ac, adipiscing vitae, felis. Curabitur dictum gravida mauris. Nam arcu libero, nonummy eget, consectetuer id, vulputate a, magna. Donec vehicula augue eu neque. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Mauris ut leo. Cras viverra metus rhoncus sem. Nulla et lectus vestibulum urna fringilla ultrices. Phasellus eu tellus sit amet tortor gravida placerat. Integer sapien est, iaculis in, pretium quis, viv} Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet.

\end{document}

Stefan_K
14-05-2009, 00:50
Hallo Georg,

\block ist als Makro mit zwei Parametern definiert. Du hast jedoch nur einen Parameter angegeben, daher wird der Buchstabe S von Stet als zweiter Parameter angesehen und dem Makro übergeben.

Stefan


--
TeXblog.net (http://texblog.net)

Georg
14-05-2009, 00:53
Ah! Danke!
Und wie ändere ich das am besten?
Ich bin noch ziemlich ungeübt. Was soll ich durch was ersetzen?

Stefan_K
14-05-2009, 01:15
Es kommt darauf an, was Du vorhast. Soll \block zwei Parameter haben, oder nur einen? Wenn nur einen, dann kannst Du die Definitions-Zeile ändern in:

\newcommand{\block}[1]{{\singlespacing\small\blockquote{\enquote{#1}}}\v space{-3mm}}

Stefan

Georg
14-05-2009, 01:26
Danke!
Ich möchte einfach einen Blocksatz haben. Reicht dafür ein Parameter?
Leider weiß ich nicht was der Unterschied zwischen ein und zwei Parameter ist. (aber es würde mich interessieren) Den Code habe ich nämlich hier im Forum gefunden.

Stefan_K
14-05-2009, 01:31
Ich möchte einfach einen Blocksatz haben. Reicht dafür ein Parameter?


Blocksatz ist Standard, voreingestellt. Meinst Du evtl. wie hier ein eingerücktes Zitat? Dafür würde ein Parameter reichen.

Stefan

Georg
14-05-2009, 01:41
Ja, ich meine ein eingerücktes Zitat mit kleinerer Schrift, einfachen Zeilenabstand, geblockt und etwas weniger Abstand nach unten.
Also ich denke das passt mit einem Parameter. Wozu bräuchte man zwei?

Stefan_K
14-05-2009, 01:53
Ja, ein Parameter reicht. Zwei oder mehr Parameter braucht man vielleicht für Ergänzungen, andere Formatierungen, "Stellschrauben", ... z.B. könnte man in einem Parameter das Zitat bringen, einen zweiten Parameter verwenden um den Autor zu bringen in ggf. anderer Formatierung wie z.B. kursiv.
Da Du keine Notwendigkeit für so etwas siehst, reicht natürlich einer.

Stefan

Georg
14-05-2009, 13:50
Vielen Dank für deine Hilfe.
Da ich mit citavi arbeite, hat es sich jetzt als besser erwiesen eine neue Umgebung anstelle eines neuen commands zu definieren.

Ich hab es probiert, aber jetzt wirkt die Umgebung nur beim ersten Buchstaben. Abhilfe schafft es, wenn ich den ganzen Text zwischen \begin{block} und \end{block} in Geschwungene Klammern {} setze.

Aber eigentlich sollte das doch nicht notwendig sein, oder?


\documentclass[a4paper,halfparskip,12pt]{scrbook}

\usepackage[ngerman]{babel}
\usepackage[ansinew]{inputenc}
\usepackage[babel,german=quotes]{csquotes}
\usepackage[T1]{fontenc}
\usepackage{fancyhdr}
\usepackage[]{graphicx,float,subfigure}
\usepackage {natbib}
\citestyle{natdin}
\setcitestyle{notesep={:}} % resultiert in: autor. jahr. note.
\usepackage{setspace}

\addtolength{\voffset}{1.5cm}
\addtolength{\headsep}{.1cm}
\addtolength{\textheight}{-1cm}
\addtolength{\evensidemargin}{-1.5cm}
\addtolength{\oddsidemargin}{1.5cm}

\pagestyle{fancy}

\doublespacing

\fancyhead[EL]{\nouppercase{\leftmark}}
\fancyhead[ER]{}
\fancyhead[OR]{\nouppercase{\leftmark}}
\fancyhead[OL]{}
\fancyfoot[C]{\thepage}

\setcounter{secnumdepth}{3}
\setcounter{tocdepth}{3}

\begin{document}

\newenvironment{block}[1]{{\singlespacing\small\blockquote{\enquote{#1}}}\v space{-3mm}}

Lorem ipsum dolor sit amet, consectetuer sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea.
\begin{block}
Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Ut purus elit, vestibulum ut, placerat ac, adipiscing vitae, felis. Curabitur dictum gravida mauris. Nam arcu libero, nonummy eget, consectetuer id, vulputate a, magna. Donec vehicula augue eu neque. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Mauris ut leo. Cras viverra metus rhoncus sem. Nulla et lectus vestibulum urna fringilla ultrices. Phasellus eu tellus sit amet tortor gravida placerat. Integer sapien est, iaculis in, pretium quis, viv
\end{block}
Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet.

Stefan_K
14-05-2009, 20:11
Ich hab es probiert, aber jetzt wirkt die Umgebung nur beim ersten Buchstaben. Abhilfe schafft es, wenn ich den ganzen Text zwischen \begin{block} und \end{block} in Geschwungene Klammern {} setze.
Aber eigentlich sollte das doch nicht notwendig sein, oder?


Auf dieses Weise doch, denn \enquote öffnet keine Umgebung, sondern fordert einen direkten Parameter. Also nimmt es den folgenden Buchstaben oder die folgende Klammergruppe.
Man könnte statt \enquote eine quote-Umgebung vewenden. Mal so konstruiert:

\newenvironment{block}{\singlespacing\small\begin{ displayquote}
\glqq\ignorespaces}{\grqq\end{displayquote}\vspace {-3mm}}

Das ist auch noch nicht so toll. Wenn man die Umgebung mit % beendet, etwa

...viv%
\end{block}
dann sieht es ok aus, ansonsten wirkt der Zeilenumbruch wie ein Leerzeichen.

Stefan

Georg
15-05-2009, 10:39
Danke für deine Hilfe.
Ist es einfacher, wenn ich auf die Anführungszeichen verzichte? (Die kann ich schon vorher in meinem citavi Eintrag machen - das ist vielleicht gar keine schlechte Idee)

Stefan_K
15-05-2009, 13:50
Das Makro würde sich dann vereinfachen und könnte so aussehen:

\newenvironment{block}{\singlespacing\small\begin{ displayquote}}%
{\end{displayquote}\vspace{-3mm}}

Dann hast Du natürlich die Mehrarbeit mit den Anführungszeichen in den Einträgen selbst. Ggf. achte darauf, dass es "richtige" Anführungszeichen sind, nicht nur "...".

Stefan

Georg
15-05-2009, 15:11
Vielen Dank für deine Hilfe!
Auf die richtigen Anführungszeichen hätte ich sicher vergessen. Wie ich jetzt gesehen habe, gibt es sogar eine Button dafür bei Citavi.
Nun ist es fast perfekt.

Allerdings ist der Zeilenabstand vor dem Zitat einfach statt 1 1/2 fach :confused:


\documentclass[a4paper,halfparskip,12pt]{scrbook}

\usepackage[ngerman]{babel}
\usepackage[ansinew]{inputenc}
\usepackage[babel,german=quotes]{csquotes}
\usepackage[T1]{fontenc}
\usepackage{fancyhdr}
\usepackage[]{graphicx,float,subfigure}
\usepackage {natbib}
\citestyle{natdin}
\setcitestyle{notesep={:}} % resultiert in: autor. jahr. note.
\usepackage{setspace}

\addtolength{\voffset}{1.5cm}
\addtolength{\headsep}{.1cm}
\addtolength{\textheight}{-1cm}
\addtolength{\evensidemargin}{-1.5cm}
\addtolength{\oddsidemargin}{1.5cm}

\pagestyle{fancy}

\doublespacing

\fancyhead[EL]{\nouppercase{\leftmark}}
\fancyhead[ER]{}
\fancyhead[OR]{\nouppercase{\leftmark}}
\fancyhead[OL]{}
\fancyfoot[C]{\thepage}

\setcounter{secnumdepth}{3}
\setcounter{tocdepth}{3}

\newenvironment{block}{\singlespacing\small\begin{ displayquote}}%
{\end{displayquote}\vspace{-3mm}}

\begin{document}
\chapter{Lorem Ipsum}

Lorem ipsum dolor sit amet, consectetuer sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. \begin{block}
"`Lorem ipsum dolor sit amet, consectetuer sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua.''
\end{block} onumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet.

\end{document}

Stefan_K
15-05-2009, 15:20
Hallo Georg,



Allerdings ist der Zeilenabstand vor dem Zitat einfach statt 1 1/2 fach :confused:


das liegt daran, dass kein Absatzumbruch am Block-Beginn stattfindet, \singlespacing gilt absatzweit und damit auch für den darüberstehenden Absatz. Abhilfe schafft eine Leerzeile oder \par vor \begin{block}, oder ein generelles \par in der block-Definition:

\newenvironment{block}{\par\singlespacing\small\be gin{displayquote}}%
{\end{displayquote}\vspace{-3mm}}

Falls nötig, kannst Du \par zusätzlich noch am Ende einfügen.

Stefan