Compactenum Buchstaben

Schriftbild, Absätze und Auflistungen einstellen


aasaa00
Forum-Century
Forum-Century
Beiträge: 104
Registriert: Do 1. Mär 2018, 11:43

Compactenum Buchstaben

Beitrag von aasaa00 »

Hallo,

ich habe mich in den letzten Wochen - trotz so mancher Rückschläge - durch LaTeX durchgeboxt, komme an die dieser Stelle nicht weiter.

Ich benutze für Listen \compactenum und habe nun eine Liste, die in den Unterpunkten über "z" hinausgeht. Anstelle von "aa), bb),.." bleiben die Klammern leer. Ich habe in einem Forum die Lösung mit \enumerate gefunden, aber wenn ich es anpassen will, geht es nicht. Für jede Hilfe wäre ich dankbar. Das ist die Lösung für enumerate, die ich jedoch für \compactenum nicht umformen kann. Ich habe jetzt auf compactenum umgestellt und würde nur ungern wieder wechseln
 

\documentclass[]{article}
\usepackage{alphalph}
\usepackage{enumitem}

\makeatletter
\def\enumalphalphcnt#1{\expandafter\@enumalphalphcnt\csname c@#1\endcsname}
\def\@enumalphalphcnt#1{\alphalph{#1}}
\makeatother
\AddEnumerateCounter{\enumalphalphcnt}{\@enumalphalphcnt}{aa}
\setenumerate{label=\arabic*}
\setenumerate[2]{label=\enumalphalphcnt*)}
\begin{document}
\begin{enumerate}
\item foo
\item bar
\item next level
\begin{enumerate}
\item foo \item bar \item foo
\item bar \item foo \item bar
\item foo \item bar \item foo
\item bar \item foo \item bar
\item foo \item bar \item foo
\item bar \item foo \item bar
\item foo \item bar \item foo
\item bar \item foo \item bar
\item foo \item bar \item foo
\item bar \item foo \item bar
\item foo \item bar \item foo
\item bar \item foo \item bar
\item foo \item bar \item foo
\item bar \item foo \item bar
\item foo \item bar \item foo
\item bar \item foo \item bar
\end{enumerate}
\end{enumerate}
\end{document}


aasaa00
Forum-Century
Forum-Century
Beiträge: 104
Registriert: Do 1. Mär 2018, 11:43

Beitrag von aasaa00 »

hat sich erledigt; bin auf enumerate umgestiegen; es ist halt flexibler

aasaa00
Forum-Century
Forum-Century
Beiträge: 104
Registriert: Do 1. Mär 2018, 11:43

Beitrag von aasaa00 »

Ich habe nur noch ein Problem: Wenn ich das Beispiel aus meinem ersten Beitrag nehme, folgt auf z) => aa), ab), ac)...

Ich will aber: aa), bb), cc)...

Wie mache ich das? Ich habe es mit \mult funktioniert, da hat sich nichts verändert.

Benutzeravatar
Johannes_B
Moderator
Moderator
Beiträge: 5079
Registriert: Do 1. Nov 2012, 14:55
Kontaktdaten:

Beitrag von Johannes_B »

Eigentlich nimmt man für Listen enumitem.

Deine gewollte Zählweise ist aber unsinnig, da kannst du auch gleich Zufallszahlen mit dem Lotto-Paket generieren.
TeXwelt - Fragen und Antworten Schaut vorbei und stellt Fragen.
LaTeX-Vorlagen?

Der Weg zum Ziel: Ruhe bewahren und durchatmen, Beiträge und unterstützende Links aufmerksam lesen, Lösungsansätze verstehen und ggf. nachfragen.

aasaa00
Forum-Century
Forum-Century
Beiträge: 104
Registriert: Do 1. Mär 2018, 11:43

Beitrag von aasaa00 »

Enumitem ist doch drin; es geht nur darum, dass enumitem bei z) aufhört und es dann ")" produziert. In meinem Beispiel kommt aber "aa)", "ab)",.. heraus - ich will aber "aa)", "bb)",...

Gast

Beitrag von Gast »

Eigentlich hast Du es schon fast, Du musst alphalph nur zu Deinem gewünschten Format überreden. Das passiert mit \newalphalph{\alphmult}[mult]{\@alph}{26}, siehe https://tex.stackexchange.com/q/52599/35864

Du möchtest
\documentclass{article}
\usepackage{alphalph}
\usepackage{enumitem}

\makeatletter
\newalphalph{\alphmult}[mult]{\@alph}{26}
\def\enumalphalphcnt#1{\expandafter\@enumalphalphcnt\csname c@#1\endcsname}
\def\@enumalphalphcnt#1{\alphmult{#1}}
\makeatother
\AddEnumerateCounter{\enumalphalphcnt}{\@enumalphalphcnt}{mm}
\setenumerate{label=\arabic*}
\setenumerate[2]{label=\enumalphalphcnt*)}
\begin{document}
\begin{enumerate}
\item foo
\item bar
\item next level
\begin{enumerate}
\item foo \item bar \item foo
\item bar \item foo \item bar
\item foo \item bar \item foo
\item bar \item foo \item bar
\item foo \item bar \item foo
\item bar \item foo \item bar
\item foo \item bar \item foo
\item bar \item foo \item bar
\item foo \item bar \item foo
\item bar \item foo \item bar
\item foo \item bar \item foo
\item bar \item foo \item bar
\item foo \item bar \item foo
\item bar \item foo \item bar
\item foo \item bar \item foo
\item bar \item foo \item bar
\end{enumerate}
\end{enumerate}
\end{document}
In das dritte Argument von \AddEnumerateCounter gehört das längste mögliche Label. Das sollten im Allgemeinen die "m"s sein, es kommt jetzt nur darauf an, wie viele es sind. Im Zahlbereich von 1 bis 52 sind wird zweistellig, wenn es größer wird, solltest Du das anpassen.

aasaa00
Forum-Century
Forum-Century
Beiträge: 104
Registriert: Do 1. Mär 2018, 11:43

Beitrag von aasaa00 »

Perfekt, es funktioniert! Vielen Dank!

aasaa00
Forum-Century
Forum-Century
Beiträge: 104
Registriert: Do 1. Mär 2018, 11:43

Beitrag von aasaa00 »

Wenn ich die Lösung von "Gast" (nochmals danke dafür!) in die Präambel schreibe und an irgendeiner späteren Stelle im Kapitel die Zählungsform für eine Liste ändern (in diesem Fall wollte ich nur für meine insgesamt 10. von 24 Listen mit römischen und dann arabischen Zahlen beginnen, abschließend Buchstaben), bleibt die zweite Stelle stets unverändert.
Hat jmd. eine Lösung? Bisher stehe ich hier:
\documentclass{article}
\usepackage{alphalph}
\usepackage{enumitem}

\makeatletter
\newalphalph{\alphmult}[mult]{\@alph}{26}
\def\enumalphalphcnt#1{\expandafter\@enumalphalphcnt\csname c@#1\endcsname}
\def\@enumalphalphcnt#1{\alphmult{#1}}
\makeatother
\AddEnumerateCounter{\enumalphalphcnt}{\@enumalphalphcnt}{mm}
\setenumerate{label=\arabic*}
\setenumerate[2]{label=\enumalphalphcnt*)}
\begin{document}
\begin{enumerate}
\renewcommand{\labelenumi}{\arabic{enumi}. }
\renewcommand{\labelenumii}{\labelenumi\Roman{enumii}) }
\renewcommand{\labelenumiii}{\labelenumii\alph{enumiii}: }
\item foo
\item bar
\item next level
\begin{enumerate}
\item foo \item bar \item foo
\item bar \item foo \item bar
\item foo \item bar \item foo
\item bar \item foo \item bar
\item foo \item bar \item foo
\item bar \item foo \item bar
\item foo \item bar \item foo
\item bar \item foo \item bar
\item foo \item bar \item foo
\item bar \item foo \item bar
\item foo \item bar \item foo
\item bar \item foo \item bar
\item foo \item bar \item foo
\item bar \item foo \item bar
\item foo \item bar \item foo
\item bar \item foo \item bar
\end{enumerate}
\end{enumerate}
\end{document}

Gast

Beitrag von Gast »

Ich denke, das Problem ist, dass Du hier manuell mit \labelenumi und Freunden hantierst, obwohl das eigentlich von enumitem geregelt werden sollte.

Was spricht gegen
\documentclass{article}
\usepackage{alphalph}
\usepackage{enumitem}

\makeatletter
\newalphalph{\alphmult}[mult]{\@alph}{26}
\def\enumalphalphcnt#1{\expandafter\@enumalphalphcnt\csname c@#1\endcsname}
\def\@enumalphalphcnt#1{\alphmult{#1}}
\makeatother
\AddEnumerateCounter{\enumalphalphcnt}{\@enumalphalphcnt}{mm}
\setenumerate{label=\arabic*}
\setenumerate[2]{label=\enumalphalphcnt*)}
\begin{document}
\begin{enumerate}
\item foo
\item bar
\item next level
\begin{enumerate}[label*=.\Roman*)]
\item foo \item bar \item foo
\item bar \item foo \item bar
\item foo \item bar \item foo
\item bar \item foo \item bar
\item foo \item bar \item foo
\item bar \item foo \item bar
\item foo \item bar \item foo
\item bar \item foo \item bar
\item foo \item bar \item foo
\item bar \item foo \item bar
\item foo \item bar \item foo
\item bar \item foo \item bar
\item foo \item bar \item foo
\item bar \item foo \item bar
\item foo \item bar \item foo
\item bar \item foo \item bar
\end{enumerate}
\end{enumerate}
\end{document}
Du kannst das auch mit globalen Einstellungen oder benannten Optionengruppen vereinfachen, siehe Ulrikes Antwort zu https://tex.stackexchange.com/q/431069/35864 Dann musst Du die Optionen nicht andauernd wiederholen.

aasaa00
Forum-Century
Forum-Century
Beiträge: 104
Registriert: Do 1. Mär 2018, 11:43

Beitrag von aasaa00 »

Super, genau das fehlte!

Antworten