Große Leerstelle vor \cite

Antwort erstellen


Diese Frage dient dazu, das automatisierte Versenden von Formularen durch Spam-Bots zu verhindern.
Smilies
:D :) :( :o :shock: :? 8) :lol: :-x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen:

Markdown is OFF

BBCode ist eingeschaltet
[img] ist eingeschaltet
[flash] ist ausgeschaltet
[url] ist eingeschaltet
Smilies sind eingeschaltet

Die letzten Beiträge des Themas

Ich habe die Datenschutzerklärung gelesen und bin damit einverstanden.

   

Wenn du eine Datei oder mehrere Dateien anhängen möchtest, gib die Details unten ein.

Ansicht erweitern Die letzten Beiträge des Themas: Große Leerstelle vor \cite

Danke schön !!!

von IrenaSekuta » Do 21. Jan 2010, 19:40

Hallo zusammen,

recht herzlichen Dank für die toller Erklärungen.
Es gibt bei meinem MikTex gar kein Paket cite. Wo kommt das denn her?
Sorry, hab das wohl im Eifer des Gefächtes spontan hinzugefügt.
Der Zeilenumbruch in der Zeile mit \newcommand wird von LaTeX als Leerzeichen gesetzt. Wenn du den auskommentierst, funktioniert der Befehl wie gewünscht.
Und ich hatte mich schon die ganze Zeit gefragt, warum %-Zeichen ans Ende einer Zeile gesetzt wurden, ohne einen Kommentar zu schreiben. Jetzt habe ich auch diesen Sinn verstanden: Damit kann ich einen Code über mehrere Zeilen schreiben, Latex interpretiert ihn jedoch als eine Zeile.

@phi
Habe deine Erklärung im anderen Thread gelesen. Herzlichen Dank! Leider verstehe ich noch nicht alles, hoffe jedoch, dass sich das mit der Zeit ändern wird.

Gruß,

Irena

von phi » Mi 20. Jan 2010, 17:20

Hallo,

ich habe im anderen Thread gerade eine Antwort geschrieben, siehe die Bemerkung zu Leerzeichen. In diesem Fall könnte die Definition so lauten:

Code: Alles auswählen

\newcommand*{\Quelle}{%
  \@ifnextchar[\Quell@\Qu@lle
}
Oder so:

Code: Alles auswählen

\newcommand*{\Quelle}{%
  \@ifnextchar[%
  \Quell@
  \Qu@lle
}
Die Kommentarzeichen sind dabei enorm wichtig!

von cliffhanger » Mi 20. Jan 2010, 16:04

Hi Irena,

versuch mal, ob sich was ändert, wenn du in deiner Befehlsdefinition an das Ende jeder Zeile ein %-Zeichen (Kommentarzeichen) setzt. Möglicherweise sammeln sich in deinem Befehl durch die Zeilenwechsel mehrere Leerzeichen, die dir einen zu großen Abstand machen.

Gruß
Benedikt

von Syralist » Mi 20. Jan 2010, 16:03

Hallo Irena.

Es gibt bei meinem MikTex gar kein Paket cite. Wo kommt das denn her?
Aber das Minimalbeispiel funktioniert auch ohne.

Zu deinem Problem:
Der Zeilenumbruch in der Zeile mit \newcommand wird von LaTeX als Leerzeichen gesetzt. Wenn du den auskommentierst, funktioniert der Befehl wie gewünscht.

Code: Alles auswählen

\makeatletter
\newcommand*{\Quelle}{%
   \@ifnextchar{[}
      {\Quell@}
      {\Qu@lle}}
\def\Quell@[#1]#2{\cite[S.~#1]{#2}}
\def\Qu@lle#1{\cite{#1}}
\makeatother 
Ich hab meinen Befehl für Quellenangaben so ähnlich gebaut:

Code: Alles auswählen

\newcommand{\vergleiche}[2][\empty]{\xspace [vgl.: \ifthenelse{\equal{#1}{\empty}}{\cite{#2}}{\cite[#1]{#2}}]}
Find ich persönlich schicker im Quellcode weil ohne @, macht "nach aussen" aber fast das gleiche ;)

Große Leerstelle vor \cite

von IrenaSekuta » Mi 20. Jan 2010, 13:36

Hallo zusammen,

in folgendem Beitrag wurde mir geholfen, einen eigenen Befehl zu erzeugen: http://www.golatex.de/viewtopic.php?t=3 ... 5fafcf6326

Anbei ein Minimalbeispiel aus dem mein Problem ersichtlich wird:

Code: Alles auswählen

\documentclass[ngerman]{scrreprt}
\usepackage[T1]{fontenc}
\usepackage[ansinew]{inputenc}
\usepackage[ngerman]{babel}
\usepackage{cite}

\makeatletter
\newcommand*{\Quelle}{
	\@ifnextchar{[}
		{\Quell@}
		{\Qu@lle}}
\def\Quell@[#1]#2{\cite[S.~#1]{#2}}
\def\Qu@lle#1{\cite{#1}}
\makeatother

\begin{document}

Hier wird nun ein Querverweis auf die Literaturstelle \Quelle{Lit1} gesetzt und hier auf die gleiche Literaturstelle jedoch mit Zusatzinformation \Quelle[12]{Lit1}. Leider gibt es unschöne, zu große Leerzeichen vor den Verweisenstellen.

Hier wird nun ein Querverweis auf die Literaturstelle\Quelle{Lit1} gesetzt und hier auf die gleiche Literaturstelle jedoch mit Zusatzinformation\Quelle[12]{Lit1}. Nun gibt es keine unschönen, zu großen Leerzeichen, jedoch ist dafür der Quelltext unschön ''formatiert''.

\begin{thebibliography}{Literatur}
\bibitem{Lit1}
	Text\par
	Text\par
\end{thebibliography}

\end{document}
Gruß,

Irena

Nach oben