Anzeige:
Ergebnis 1 bis 10 von 10

Thema: \labelsep in thebibliography?

  1. #1
    Registrierter Benutzer
    Registriert seit
    23.11.2004
    Ort
    Hamburg
    Beiträge
    279

    [solved] \labelsep in thebibliography?

    Hallo LaTeX-Fans!

    kennst sich irgendwer mit \labelsep aus?
    Ich mache mir gerade eine 2-spaltige Bibliography und wollte da einen kleineren \labelsep haben (BiBLaTeX ist keine Option mehr, habe zu spaet davon erfahren). Bloss weiss ich nicht genau wie das Ganze angelegt ist.

    Wie ich das Mass veraendere ist klar, mein Plan waere: aktuellen Wert zu Beginn der Umgebung sichern, neuen Wert setzen, zum Ende wieder herstellen.

    Die Fragen waeren nun:
    - wo wird denn \labelsep ueberhaupt gesetzt? Definition habe ich gefunden (base/latex.ltx), aber nix wo da mal eine Zahl hinzukommt
    - muss ich wirklich speichern und wieder herstellen oder faellt der Wert nach der Umgebung auf einen Default zurueck?

    MfG

    bienchen
    Geändert von bienchen (19-06-2012 um 13:42 Uhr) Grund: Problem geloest ;-)

  2. #2
    Registrierter Benutzer Avatar von bobmalaria
    Registriert seit
    28.11.2006
    Ort
    Düsseldorf
    Beiträge
    4.174
    hi,

    bei der menge deiner beitraege solltest du doch wissen, dass ein beispiel unabdingbar ist um dir zu helfen. keiner kann aktuell wissen was du genau machst und was genau veraendert werden muss damit es fuer dich am ende funktioniert. mache dir also bitte die muehe ein minimalbeispiel zu erstellen.

    gruss
    Mein Ball ist umgefallen

  3. #3
    Registrierter Benutzer
    Registriert seit
    23.11.2004
    Ort
    Hamburg
    Beiträge
    279
    Ich dachte, gerade durch meine vielen Eintraege haette ich gelernt mich so auszudruecken, dass ich keine Besipiele mehr brauche ;-)

    Code:
    \documentclass{book}
    \usepackage{multicol}
    
    \makeatletter
    \newdimen\orgstretch
    \renewenvironment{thebibliography}[1]{%
      \multicoltolerance=9999
      \begin{multicols*}{2}[\chapter*{\bibname}\addcontentsline{toc}{chapter}{\bibname}]%
        \begin{small}%
        % fetch original spacing/ stretching
        \orgstretch=\fontdimen3\font%
        \fontdimen3\font=0.487\orgstretch%
        \@mkboth{\MakeUppercase\bibname}{\MakeUppercase\bibname}%
        \list{\@biblabel{\@arabic\c@enumiv}}%
             {\settowidth\labelwidth{\@biblabel{#1}}%
               \leftmargin\labelwidth
               \advance\leftmargin0.75\labelsep
               \@openbib@code
               \usecounter{enumiv}%
               \let\p@enumiv\@empty
               \renewcommand\theenumiv{\@arabic\c@enumiv}}%
             \emergencystretch 1.461em%
             \hfuzz .5\p@
             \vfuzz\hfuzz
             \clubpenalty4000
             \@clubpenalty \clubpenalty
             \widowpenalty4000%
             \sfcode`\.\@m}
      {\fontdimen3\font=\orgstretch\end{small}\def\@noitemerr
        {\@latex@warning{Empty `thebibliography' environment}}%
        \endlist\end{multicols*}}
    \makeatother
    
    \begin{document}
    \cite{test}
    \bibliography{minibib}
    \bibliographystyle{plain}
    \end{document}
    Und hier ein extraklaines Literaturverzeichnis

    Code:
    @article{test,
      title =        {Foo},
      journal =      "Journal of Bar",
      volume =       "1",
      number =       "1",
      pages =        "1 - 1",
      author =       "M.E. Calling Home"
    }

  4. #4
    Registrierter Benutzer
    Registriert seit
    23.11.2004
    Ort
    Hamburg
    Beiträge
    279
    Und darin hätte ich nun gerne \labelsep angepasst, so dass nach der Bibliography wieder der alte Wert eingestellt ist. Mit vorher Abspeichern & Restore oder geht das automatisch?

  5. #5
    Registrierter Benutzer Avatar von rais
    Registriert seit
    18.07.2005
    Beiträge
    5.862
    Moin moin,
    Zitat Zitat von bienchen Beitrag anzeigen
    - wo wird denn \labelsep ueberhaupt gesetzt?
    spätestens in der Klassendatei, hier book.cls
    Zitat Zitat von bienchen Beitrag anzeigen
    - muss ich wirklich speichern und wieder herstellen
    nein.
    Zitat Zitat von bienchen Beitrag anzeigen
    oder faellt der Wert nach der Umgebung auf einen Default zurueck?
    ja, Änderungen an Längenregistern wirken sich nur auf die jeweilige Gruppe aus:
    Code:
    \documentclass{book}
    \usepackage{multicol}
    \begin{filecontents*}{minibib.bib}
    @article{test,
      title =        {Foo},
      journal =      "Journal of Bar",
      volume =       "1",
      number =       "1",
      pages =        "1 - 1",
      author =       "M.E. Calling Home"
    }
    \end{filecontents*}
    \makeatletter
    \newdimen\orgstretch
    \renewenvironment{thebibliography}[1]{%
      \multicoltolerance=9999
      \begin{multicols*}{2}[\chapter*{\bibname}\addcontentsline{toc}{chapter}{\bibname}]%
        \small%
        % fetch original spacing/ stretching
        \orgstretch=\fontdimen3\font%
        \fontdimen3\font=0.487\orgstretch%
        \@mkboth{\MakeUppercase\bibname}{\MakeUppercase\bibname}%
        \setlength\labelsep{4em}%
        \typeout{Info: \string\labelsep: \the\labelsep}%
        \list{\@biblabel{\@arabic\c@enumiv}}%
             {\settowidth\labelwidth{\@biblabel{#1}}%
               \leftmargin\labelwidth
               \advance\leftmargin0.75\labelsep
               \@openbib@code
               \usecounter{enumiv}%
               \let\p@enumiv\@empty
               \renewcommand\theenumiv{\@arabic\c@enumiv}}%
             \emergencystretch 1.461em%
             \hfuzz .5\p@
             \vfuzz\hfuzz
             \clubpenalty4000
             \@clubpenalty \clubpenalty
             \widowpenalty4000%
             \sfcode`\.\@m}
      {\fontdimen3\font=\orgstretch\def\@noitemerr
        {\@latex@warning{Empty `thebibliography' environment}}%
        \endlist\end{multicols*}}
    \makeatother
    
    \begin{document}
    \cite{test}
    \typeout{Info: \string\labelsep: \the\labelsep}%
    \bibliography{minibib}
    \bibliographystyle{plain}
    \typeout{Info: \string\labelsep: \the\labelsep}%
    \end{document}
    BTW: \small ist ein Schalter, keine Umgebung.

    MfG
    Rainer
    There's nothing a good whack with a hammer won't fix!

  6. #6
    Registrierter Benutzer
    Registriert seit
    23.11.2004
    Ort
    Hamburg
    Beiträge
    279
    Vielen Dank fuer die Antwort, passt.
    Allerdings kann man small usw. auch als Umgebung nutzen und ich meine mich zu erinneren, dass \small TeX Syntax ist, waehrend ein Environment LaTex ist oder was ist da der Unterschied?

    Immerhin, die labelsep- Geschichte laeuft gut!

  7. #7
    Registrierter Benutzer
    Registriert seit
    06.03.2010
    Ort
    St. Petersburg, Russland
    Beiträge
    2.468
    Die sind einfach so definiert, dass es nicht schlimm ist, wenn man sie aus Versehen als Umgebung benutzt (jedenfalls habe ich so mal Ulrikes ausfürhliche Erklärung verstanden, die dürfte hier im Forum in einem Thema mit "Umgebung" im Titel zu finden sein).

  8. #8
    Registrierter Benutzer
    Registriert seit
    23.11.2004
    Ort
    Hamburg
    Beiträge
    279
    Also dann doch eher {\small ...}?

  9. #9
    Registrierter Benutzer Avatar von rais
    Registriert seit
    18.07.2005
    Beiträge
    5.862
    Moin moin,
    Zitat Zitat von bienchen Beitrag anzeigen
    und ich meine mich zu erinneren, dass \small TeX Syntax ist, waehrend ein Environment LaTex ist oder was ist da der Unterschied?
    nö, \small wird z. B. in bk10.clo (die Datei wird von der book-Klasse bei 10pt Brotschrift geladen) per \newcommand -- also als Makro -- definiert.
    Zitat Zitat von bienchen Beitrag anzeigen
    Also dann doch eher {\small ...}?
    Im Text ja.
    Bei der Umdefinition der thebibliography-Umgebung übernimmt die Umgebung bereits die Klammerung, deshalb genügt hier \small.

    MfG
    Rainer
    There's nothing a good whack with a hammer won't fix!

  10. #10
    Registrierter Benutzer
    Registriert seit
    23.11.2004
    Ort
    Hamburg
    Beiträge
    279
    OK, dann hab ich jetzt auch auf \small geschaltet ;-)

    Vielen Dank fuer die Hilfe.

    bienchen

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •