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

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: Liste Buchstaben a), b), c) ...

von IrenaSekuta » Mo 2. Feb 2009, 12:54

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:
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

von KOMA » Fr 30. Jan 2009, 15:12

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:
\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.
      \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.
       {\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
  \fi}
nur der Vollständigkeit halber.

Natürlich muss auch noch das Ende der Umgebung definiert werden:
\let\endenumerate =\endlist
Man hätte das auch einfach so machen können:
\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:
% 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.

von Thomas » Fr 30. Jan 2009, 02:21

IrenaSekuta hat 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:
 \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.
\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

von IrenaSekuta » Do 29. Jan 2009, 21:48

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. :-)

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

Gruß,

Irena

Vereinfachung

von localghost » Do 29. Jan 2009, 20:15

Du machst das alles sehr umständlich.
\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¹

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

von IrenaSekuta » Do 29. Jan 2009, 18:18

Hallo zusammen,

Anbei mein Minimalbeispiel:
\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:
zaehler
a) text1
b) text2
Warum taucht hier der String "zaehler" im Text auf?

Gruß,

Irena

Nach oben