Seite 1 von 1
Compactenum Buchstaben
Verfasst: Do 10. Mai 2018, 23:17
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}
Verfasst: Fr 11. Mai 2018, 11:11
von aasaa00
hat sich erledigt; bin auf enumerate umgestiegen; es ist halt flexibler
Verfasst: Fr 11. Mai 2018, 11:38
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.
Verfasst: Fr 11. Mai 2018, 11:42
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.
Verfasst: Fr 11. Mai 2018, 12:07
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)",...
Verfasst: Fr 11. Mai 2018, 13:27
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.
Verfasst: Fr 11. Mai 2018, 15:06
von aasaa00
Perfekt, es funktioniert! Vielen Dank!
Verfasst: Sa 12. Mai 2018, 01:03
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}
Verfasst: Sa 12. Mai 2018, 12:02
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.
Verfasst: Sa 12. Mai 2018, 12:59
von aasaa00
Super, genau das fehlte!