"Gib einen Punkt aus, wenn noch kein Punkt vorher."

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:

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: "Gib einen Punkt aus, wenn noch kein Punkt vorher."

von KOMA » Mo 6. Sep 2010, 07:21

talueng hat geschrieben:
Mechanicus hat geschrieben:das ist kein Minimalbeispiel.
Sorry, aber da ich noch keine Lösung zu meinem Problem hatte, konnte ich auch kein Minimalbeispiel geben.
Wie kannst Du so etwas schreiben, wenn du den Link, den man Dir gegeben hat, beachtet und die entsprechenden Seiten gründlich gelesen hast? Du kannst doch problemlos ein vollständiges Minimalbeispiel (← dies ist ein geprüfter Link mit relevanten Informationen!) machen, in dem genau das von Dir beschriebene Problem mit dem Aufeinandertreffen von zwei Punkten gezeigt wird. Idealer Weise hättest Du genau an der Stelle dann wahlweise als Teil des Textes der Minimalbeispiels oder als Kommentar noch angemerkt, dass eben an dieser Stelle zwei Punkte erscheinen, aber nur einer stehen soll.

von talueng » So 5. Sep 2010, 14:50

Mechanicus hat geschrieben:das ist kein Minimalbeispiel.
Sorry, aber da ich noch keine Lösung zu meinem Problem hatte, konnte ich auch kein Minimalbeispiel geben. Geht in diesem Fall ja nicht um eine Fehlermeldung, sondern um eine Lösung, die ich suche.
Mechanicus hat geschrieben:und was ist das Problem daran? Wenn du eine Fußnote mit einem Punkt abschließen willst, dann musst du zwei Punkte haben. Denn der erste Punkt bezieht sich doch auf ff.
Nein, typografisch korrekt ist es, keinen zweiten Punkt zu setzen.
Mechanicus hat geschrieben:Möglichkeit:
Danke, funktioniert. Sehr schön! :)

von Mechanicus » So 5. Sep 2010, 12:32

Hi,

das ist kein Minimalbeispiel.

Das Problem dabei ist der Punkt am Ende. Wenn bereits die Funktion \ct[seiten]{key} einen Punkt ausgibt (wegen dem "f." bzw. "ff.") hätte ich nachher zwei Punkte am Ende. [/quote]
und was ist das Problem daran? Wenn du eine Fußnote mit einem Punkt abschließen willst, dann musst du zwei Punkte haben. Denn der erste Punkt bezieht sich doch auf ff.

Möglichkeit:
\documentclass{article}
\usepackage{xspace}
\newcounter{testA}
\makeatletter
\newif\ifpunctation
\punctationfalse
\newcommand*\ct[2][]{%
  \cite{#2}\ifx\relax#1\relax\punctationtrue\else, S.\,%
  \expandafter\Seite@i#1--\@nil\fi}
\def\Seite@i#1-#2-#3\@nil{%
  \ifx\relax#2\relax %    ohne -
    #1\punctationtrue\else
    \setcounter{testA}{#2}%
    \addtocounter{testA}{-#1}%
    \ifnum \value{testA}=1
       \mbox{#1\,f.\xspace}\else\ifnum \value{testA}<6
         \mbox{#1\,ff.\xspace}\else#1--#2\punctationtrue\fi\fi\fi}
\makeatother 
\newcommand{\Cf}[1]{%
  \footnote{Vgl. \cite{#1}}%
}

\newcommand{\Cp}[2][]{%
  \footnote{Vgl. \ct[#1]{#2}\ifpunctation .\punctationfalse \fi}%
}
 
\begin{document}
Text \Cp{foo} \\%
Text \Cp[23]{foo} \\%
Text \Cp[23-24]{foo} \\%
Text \Cp[23-27]{foo} \\%
Text \Cp[24-500]{foo} \\
Text \Cp{foo} \\%
Text \Cp[23]{foo} \\%
Text \Cp[23-24]{foo} \\%
Text \Cp[23-27]{foo} \\%
Text \Cp[24-500]{foo} 
\begin{thebibliography}{xxx}
\bibitem{foo}Foo, bar, baz 2010
\end{thebibliography}

\end{document}
Gruß
Marco

von talueng » So 5. Sep 2010, 12:14

Also, diese Funktion wird aufgerufen mit \ct[seiten]{key} und gibt dann, je nachdem, welchen Wert der optionale Parameter "seiten" hat, folgendes aus:

S. [seiten] -- wenn [seiten] nur ein einzelner numerischer Wert ist.
S. [seiten] f. -- wenn [seiten] sich auf zwei aufeinanderfolgende Seiten bezieht.
S. [seiten] ff. -- wenn [seiten] sich auf 3-5 aufeinanderfolgende Seiten bezieht.
S. [von-bis] -- wenn [seiten] sich auf mehr als 5 aufeinanderfolgende Seiten bezieht.

Mit dieser Funktion möchte ich jetzt eine neue Funktion bauen, die automatisch eine Fußnote setzt, außerdem "Vgl." hinzufügt und am Ende einen Punkt, d.h.:
\newcommand{\Cp}[2][]{%
  \footnote{Vgl. \ct[#1]{#2}.}%
}
Das Problem dabei ist der Punkt am Ende. Wenn bereits die Funktion \ct[seiten]{key} einen Punkt ausgibt (wegen dem "f." bzw. "ff.") hätte ich nachher zwei Punkte am Ende. Lasse ich umgekehrt den Punkt weg, würde ein Punkt fehlen, sofern die Funktion kein "f."/"ff." ausgibt, sondern nur eine Seitenzahl.

von Mechanicus » So 5. Sep 2010, 12:06

Hi,

erstelle bitte ein Minimalbeispiel, dass das Problem zeigt. Ich persönlich verstehe nicht, was du mit den Punkten meinst bzw. wo der herkommen soll.

Gruß
Marco

"Gib einen Punkt aus, wenn noch kein Punkt vorher."

von talueng » So 5. Sep 2010, 11:50

In diesem Beitrag wurde ein eigener Befehl entwickelt, der je nach Parameter entweder S. seite, S. seite f., S. seite ff., bzw. S. von-bis ausgibt. Wenn ich diesen Befehl jetzt in einem anderen Befehl verwenden will, weiß ich ex ante nicht, was der Befehl ausgibt. Zum Beispiel weiß ich nicht, ob durch das "f." bzw. "ff." bereits ein Punkt ausgegeben wurde.

Deshalb die Frage: Existiert irgendein LaTeX-Befehl, der einen Punkt (".") nur dann ausgibt, wenn nicht vorher schon ein Punkt ausgegeben wurde?

Nach oben