Seite 1 von 2

Fußnote nur eine Zeile Lang

Verfasst: So 12. Jun 2011, 13:16
von dabauer82
Liebe Gemeinde,

ich habe mir eine eigene Funktion gebastelt, die mir erlaubt, eine verkürzte Zitierweise in der Fußnote zu verwenden. Die Funktion lautet \footshortcite[pre][post]{key} und erlaubt mir die Ausgabe von z.B.

vgl. Autor, YYYY, S.1.

in der Fußnote. Hintergrund ist, dass \footfullcite einfach zu viel Platz in Anspruch nimmt und ich daher eine verkürzte Ausgabe bevorzuge. Jetzt hatte ich aber die Idee, den Titel auch ausgeben zu lassen. Allerdings ist der Titel häufig länger als eine Zeile und das steht im Widerspruch zu meinem Ansatz, so dass ich mich frage, ob man Latex dahingehend programmieren kann, dass man den Titel nach 10 oder 20 Zeichen abbricht um sicherzustellen, dass man in einer Zeile bleibt...?


Geht das?

Danke

Verfasst: So 12. Jun 2011, 13:47
von iTob
Schau dir mal das Paket xstring (in der Anleitung nach gooble suchen) Damit kannst du Zeichenketten beschneiden. Vielleicht sogar unter Berücksichtigung vorhandener Leerzeichen

Verfasst: So 12. Jun 2011, 15:21
von dabauer82
Cool,
vielen dank für den Tipp. Leider scheint es nicht zu klappen. Der Befehl
\StrLeft{\citetitle{Key}}{10}
beschneidet leider nicht den Titel, sondern schreibt Ihn einfach vollständig hin. Das gleiche passiert auch bei \StrGobbleLeft oder ähnliches.

Allerdings klappt der Befehl unter Verwendung von Text durchaus:
\StrLeft{IchBinEinLangerText}{10}
Vermutlich wird es nicht klappen.
Grüße,
dabauer82[/code]

Verfasst: So 12. Jun 2011, 16:39
von iTob
Da du kein Minimalbeispiel lieferst, kann ich es nicht testen, aber versuche mal ein \expandafter vor \StrLeft zu ergänzen. Vielleicht gibt es in Abschnitt 3.1 vom xstring-Handbuch auch noch Hinweise.

Verfasst: Mo 13. Jun 2011, 12:06
von dabauer82
\RequirePackage{filecontents}
\begin{filecontents*}{Literatur.bib}

@BOOK{denz2005,
  author = {Denz, Hermann},
  title = {Grundlagen einer empirischen Soziologie: Der Beitrag des quantitativen
    Ansatzes},
  publisher = {Lit},
  location = {M\"unster},
  year = {2005}
}

\end{filecontents*}

\documentclass{scrartcl}                 

\usepackage[style=authoryear]{biblatex}
\bibliography{Literatur}
\usepackage{optparams}
\usepackage{xstring}

\def\footshortciteintern[#1][#2]#3{%
\ifx#1\empty
% Nur Autor
\footnote{\citeauthor{#3}, \citeyear{#3}.}
\else
\ifx#2\empty
% Autor und Seite
\footnote{\citeauthor{#3}, \citeyear{#3}, #1.}
\else
% Autor, Seite und vgl.
\expandafter
\footnote{#1 \citeauthor{#3}, \StrLeft{\citetitle{#3}}{10}, \citeyear{#3}, #2.}
\fi
\fi
}
\newcommand*\footshortcite{%
\optparams{\footshortciteintern}{[\empty][\empty]}
}

\begin{document} 

Hallo \footshortcite[vgl.][S.111]{denz2005}
%\footshortcite[S.111]{denz2005}
%\footshortcite{denz2005}

\end{document}
\footshortcite verwendet 3 Fälle, zur Zeite habe ich nur im dritten Fall \StrLeft eingebaut. Wie du siehst, sollte der Titel nach 10 Zeichen abgeschnitten werden, aber er wird vollständig ausgeschrieben.

Grüße,
dabauer82

Verfasst: Mo 13. Jun 2011, 13:28
von iTob
Hm … also das Problem ist offensichtlich, dass sich \citetitle nicht vollständig expandieren lässt, so dass im ersten Argument von \StrLeft nicht einfach eine Zeichenkette steht, die beschnitten werden kann :-(
Allerdings kann ich dir da jetzt auch nicht mehr weiterhelfen. Tut mir leid.

Du könntest aber mit deinem wirklich guten Minimalbeispiel (wobei man die Definition von \footshortcite noch von den ganze If-Klausen befreien könnte, denn das hat ja mir dem Problem nix zu tun) bei tex.sx nochmal nachfragen, falls hier niemand weiter weiß …

Verfasst: Mo 13. Jun 2011, 14:07
von dabauer82
Ok, das dachte ich mir auch schon. Vielen Dank für den weiteren Tipp, ich werde bei tex.sx mal sehen was ich rausfinden kann...

Grüße und Danke.

Verfasst: Mo 13. Jun 2011, 16:32
von dabauer82
Vielleicht kannst du mir bei etwas anderemhelfen.
Wenn du in meinem Minimalbeispiel den \begin{document}-Part ersetzt durch folgenden:
\begin{document} 

footfullcite\footfullcite[vgl.][S.111]{denz2005}footfullcite\footfullcite[vgl.][S.111]{denz2005}\footfullcite[vgl.][S.111]{denz2005}

footshortcite\footshortcite[vgl.][S.111]{denz2005}footshort\footshortcite[vgl.][S.111]{denz2005}\footshortcite[vgl.][S.111]{denz2005}

\end{document}
dann wird dir auffallen, dass hinter meinem selbtgeschriebenen Befehl \footshortcite ein Leerzeichen eingefügt wird. Dieses möchte ich aber nicht haben. Wo kommt es denn her? Hast du eine Idee?

Verfasst: Mo 13. Jun 2011, 16:55
von iTob
(Ohne es jetzt probiert zu haben …) Kommentiere alle Zeilenenden in deiner Definition aus, das sollte abhilfe schaffen. KOMA hat dazu mal was auf seiner Seite geschrieben.

Verfasst: Di 14. Jun 2011, 08:30
von dabauer82
mein Held :)