goLaTeX - Mein LaTeX-Forum

Mein LaTeX-Forum


Login  | Registrieren
Forum
      Option
[Erweitert]
  • Diese Seite weiterempfehlen
     


Gehe zu:  
Neues Thema eröffnen Neue Antwort erstellen

Liste Buchstaben a), b), c) ...

 

IrenaSekuta
Forum-Century
Forum-Century

Beiträge: 230
Anmeldedatum: 02.12.08
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 29.01.2009, 18:18     Titel: Liste Buchstaben a), b), c) ...
  Antworten mit Zitat      
Hallo zusammen,

Anbei mein Minimalbeispiel:

Code • Öffne in Overleaf
\documentclass{scrreprt}
\usepackage[T1]{fontenc}      % erweiterte TeX-Zeichens\"{a}tze (vgl.Kopka, S. 222)
\usepackage[latin1]{inputenc}
\usepackage[ngerman]{babel}

\begin{document}
   \newcounter{zaehler}
   \begin{list}
      \usecounter{zaehler}
       \setcounter{zaehler}{1}
      \item[\alph{zaehler})]\stepcounter{zaehler} text1
      \item[\alph{zaehler})] text2
   \end{list}
\end{document}


In der Ausgabe erscheint jedoch Folgendes:
Zitat:
zaehler
a) text1
b) text2


Warum taucht hier der String "zaehler" im Text auf?

Gruß,

Irena
Private Nachricht senden Benutzer-Profile anzeigen

localghost
Forum-Meister
Forum-Meister


Beiträge: 825
Anmeldedatum: 08.07.08
Wohnort: Braunschweig
Version: TeXworks 0.5 (r1349) mit TeX Live 2013
     Beitrag Verfasst am: 29.01.2009, 20:15     Titel: Vereinfachung
  Antworten mit Zitat      
Du machst das alles sehr umständlich.
Code • Öffne in Overleaf
\documentclass{scrreprt}
\usepackage[T1]{fontenc}
\usepackage[latin1]{inputenc}
\usepackage[ngerman]{babel}
\usepackage{enumitem}

\begin{document}
  \begin{enumerate}[label={\alph*)}]
     \item text1
     \item text2
  \end{enumerate}
\end{document}

Weitere Möglichkeiten zeigt die Anleitung von enumitem auf.


MfG
Thorsten¹
_________________

TeX und LaTeX, Fragen und Antworten – TeXwelt

¹ Es tut mir Leid. Meine Antworten sind begrenzt. Sie müssen die richtigen Fragen stellen.
² System: openSUSE 13.1 (Linux 3.11.6), TeX Live 2013, TeXworks 0.5 (r1349)
³ Lernt gerade TeX (und versucht, es zu verstehen).
Private Nachricht senden Benutzer-Profile anzeigen

IrenaSekuta
Forum-Century
Forum-Century

Beiträge: 230
Anmeldedatum: 02.12.08
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 29.01.2009, 21:48     Titel:
  Antworten mit Zitat      
Vielen Dank für den Hinweis. Ich wusste bis dato gar nicht, dass es auchhierfür schon ein Packet gibt, was "alles" viel einfacher macht. Smile

Nichtsdestotrotz interessiert es mich, wie es bei LaTex zu dieser merkwürdigen Ausgabe kommt.

Gruß,

Irena
Private Nachricht senden Benutzer-Profile anzeigen

Thomas
Forum-Anfänger
Forum-Anfänger

Beiträge: 32
Anmeldedatum: 23.11.08
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 30.01.2009, 02:21     Titel:
  Antworten mit Zitat      
IrenaSekuta hat Folgendes geschrieben:

Nichtsdestotrotz interessiert es mich, wie es bei LaTex zu dieser merkwürdigen Ausgabe kommt.


Nun denn, da ich gerade schlecht schlafen kann, eine Vermutung von mir.

Wenn ich wahllos im Internet nach der list-Umgebung suche, finde ich als Beispiel:
Code • Öffne in Overleaf
 \begin{list}{label}{spacing}
 \item First item
 \item Second item
 ....
 \end{list}
 

und stelle fest, dass bei \begin drei Argumente in geschweiften Klammern angegeben werden bzw. dass die list-Umgebung zunächst noch 2 Eingaben in geschweiften Klammern erwartet, anstatt einen neuen Befehl. Deswegen wird \usecounter nicht wie gewünscht ausgewertet und das Argument des Befehls mit ausgegeben.

Zuegegeben, ausgehend von meinem Wissensstand eine halsbrecherische Theorie, dennoch funktioniert zumindest das nachfolgende Minimalbeispiel wie gewünscht.

Code • Öffne in Overleaf
\documentclass{scrreprt}
\usepackage[T1]{fontenc}      % erweiterte TeX-Zeichens\"{a}tze (vgl.Kopka, S. 222)
\usepackage[latin1]{inputenc}
\usepackage[ngerman]{babel}

\begin{document}
   \newcounter{zaehler}
   \begin{list}{}{}     % <- Änderung lediglich hier
      \usecounter{zaehler}
       \setcounter{zaehler}{1}
      \item[\alph{zaehler})]\stepcounter{zaehler} text1
      \item[\alph{zaehler})] text2
   \end{list}
\end{document}



Eventuell kann ein vorbeischauender Experte meine Theorie zerstreuen oder noch stützen. Verstehen würde ich es auch sehr gern, da \usecounter offensichtlich auch vorher "korrekt" ausgeführt, nur eben das Argument mit ausgegeben wurde.

Gruß
Thomas
Private Nachricht senden Benutzer-Profile anzeigen

KOMA
TeX-Entwickler
TeX-Entwickler


Beiträge: 2637
Anmeldedatum: 04.07.08
Wohnort: ---
Version: Ich bin hier nicht mehr zu erreichen!
     Beitrag Verfasst am: 30.01.2009, 15:12     Titel:
  Antworten mit Zitat      
Ich empfehle schlicht den dokumentierten Quelltext zu \list in source2e. Tatsächlich ist von den LaTeX-Entwicklern nicht wirklich vorgesehen, dass man list direkt als Umgebung verwendet. Stattdessen definiert man sich eine abgeleitete Umgebung. Wie das geht, ist wiederum seht schön am dokumentierten Quelltext zur enumerate-Umgebung zu sehen.

Das erste Argument von \list (oder \begin{list}) ist übrigens dafür vorgesehen, die Art und Weise festzulegen, in der Einträge mit einem Label versehen werden sollen. Das zweite Argument ist für eine Reihe von Befehlen zur Änderung der horizontalen und vertikalen Ausrichtung vorgesehen. Die beiden Argumente werden zu Unterschiedlichen Zeitpunkten in der Listendefinition ausgeführt.

Beispiel enumerate:
Code • Öffne in Overleaf
\def\enumerate{%
  \ifnum \@enumdepth >\thr@@\@toodeep\else
    \advance\@enumdepth\@ne
    \edef\@enumctr{enum\romannumeral\the\@enumdepth}%

So weit dient das erst einmal dazu zu klären, dass die maximale Schachtelungstiefe noch nicht überschriftten ist und der Zähler welcher Schachtelungstiefe zu verwenden ist.
Code • Öffne in Overleaf
      \expandafter
      \list
        \csname label\@enumctr\endcsname

Jetzt wurde es interessant, denn das ganze bedeutet schlicht, dass \list mit einem ersten Argument aufgerufen wird. Als Argument wird dabei eine der Anweisungen \labelenumi, \labelenumii, \labelenumiii, \labelenumiv verwendet.
Code • Öffne in Overleaf
       {\usecounter\@enumctr\def\makelabel##1{\hss\llap{##1}}}%

Hier haben wir jetzt das zweite Argument. In diesem wird gesagt, dass der Zähler \@enumctr, also \enumi, \enumii, \enumiii oder \enumiv, verwendet werden soll und wie das Label zu setzen ist. Das war schon der ganze Aufruf von \list. Der Rest
Code • Öffne in Overleaf
  \fi}

nur der Vollständigkeit halber.

Natürlich muss auch noch das Ende der Umgebung definiert werden:
Code • Öffne in Overleaf
\let\endenumerate =\endlist


Man hätte das auch einfach so machen können:
Code • Öffne in Overleaf
\newenvironment{enumerate}{%
  \ifnum \@enumdepth >\thr@@\@toodeep\else
    \advance\@enumdepth\@ne
    \edef\@enumctr{enum\romannumeral\the\@enumdepth}%
      \expandafter
      \list
        \csname label\@enumctr\endcsname
        {\usecounter\@enumctr\def\makelabel##1{\hss\llap{##1}}}%
  \fi
}{\endlist}

Falls Du jetzt noch wissen willst, warum die LaTeX-Entwickler hier \list und \endlist und nicht einfach \begin{list] und \end{list} verwenden, kannst Du einmal folgendes ausprobieren:
Code • Öffne in Overleaf
% ACHTUNG: Dieses Beispiel _soll_ zwei Fehler produzieren!
\documentclass{minimal}
\newenvironment{BASISUMGEBUNG}{}{}
\newenvironment{UMUMGEBUNG
}{%
  \begin{BASISUMGEBUNG}%
}{%
  \end{BASISUMGEBUNG}%
}
\newenvironment{BESSERUMGEBUNG}{%
  \BASISUMGEBUNG
}{%
  \ENDBASISUMGEBUNG
}
\begin{document}
\begin{UMUMGEBUNG}
Warum bekomme ich gleich eine falsche Fehlermeldung:
\end{umumgebung}

\begin{BESSERUMGEBUNG}
Warum ist hier die Fehlermeldung korrekt:
\end{besserumgebung}
\end{document}

Für alles weitere zu \list sei nun wirklich auf source2e und auf weiterführende Literatur wie den Begleiter verwiesen.
_________________

goLaTeX-Knigge (mit Themen Minimalbeispiel und So stellst Du Deine Frage richtig)
DE-TeX-FAQ, UK-FAQ, l2kurz, l2tabu, CTAN, The TeX Catalogue
KOMA-Script
Ich bin hier nicht mehr zu erreichen!
Private Nachricht senden Benutzer-Profile anzeigen

IrenaSekuta
Forum-Century
Forum-Century

Beiträge: 230
Anmeldedatum: 02.12.08
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 02.02.2009, 12:54     Titel:
  Antworten mit Zitat      
Hallo zusammen,

vielen Dank für eure Antworten. Bei der Antwort von KOMA habe ich nur Bahnhof verstanden - das ist nicht böse gemeint! Bin eben schlicht und ergreifen "nur" eine Userin und nutze TeX lediglich als Mittel zum Zweck, daher war mir die von KOMA zitierte Literaturangabe auch nicht bekannt.

Habe aber in meinen alten TeX-Büchern gestöbert und in Kopka's Band 1 Folgendes gefunden:

Zitat:
Der Befehl \newcount darf nicht in einem File auftreten, das durch \include eingelesen werden soll. Um diese Einschränkung zu umgehen, sollten alle \newcount-Befehle im Vorspann angeordnet werden.


Gruß,

Irena
Private Nachricht senden Benutzer-Profile anzeigen

Neues Thema eröffnen Neue Antwort erstellen



Options and Permissions
Beiträge der letzten Zeit anzeigen:

Du kannst Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.
Du kannst Dateien in diesem Forum nicht posten
Du kannst Dateien in diesem Forum herunterladen
.

goLaTeX ist Teil der goForen
goForen.de goMATLAB.de goLaTeX.de goPCB.de


  Impressum | FAQ | goLaTeX RSS Button RSS-Feed

Copyright © 2008 - 2017 goLaTeX.de