Wie erreiche ich, dass die Zahlen alle untereinanderstehen?

alt text

Die Subsection-Einträge haben alle den gleichen Aufbau: verschiedenlanges Wort + (vierstellige) Zahl.

Öffne in Overleaf
Code, hier editierbar zum Übersetzen:
\documentclass[paper=A5]{scrartcl}
\begin{document}
\tableofcontents
\addsec[short version sec]{}
\addsubsectiontocentry{}{subsec 1111}
\addsubsectiontocentry{}{subsecaaa 2222}
\addsubsectiontocentry{}{subsecbb 3333}
\addsubsectiontocentry{}{subsecccc 4444}
\addsubsectiontocentry{}{subsec 5555}
\addsubsectiontocentry{}{subsecdd 6666}
\end{document}
הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

gefragt 16 Dez '18, 04:43

cis's gravatar image

cis
9.6k103460491
Akzeptiert-Rate: 29%


Um unterschiedlich lange Wörter gleich lang zu machen, kennt LaTeX die Anweisung:

\makebox[Länge][Ausrichtung]{Wort}.

Die Länge ist dabei ein übliche LaTeX-Länge wie 4.5em oder .25\linelength oder auch ein e-TeX-Längenausdruck wie \dimexpr .25\linelength+.5em\relax. Bei Verwendung von Paket calc kann man auch Längenausdrücke ohne \dimexpr verwenden. Siehe dazu die Anleitung zu calc.

Die Ausrichtung ist entweder l für linksbündig, r für rechtsbündig, c für zentriert oder s für gestreckt. Näheres zu \makebox ist der zu LaTeX gehörenden Literatur zu entnehmen, in diesem Fall: »LaTeX2ε for authors«. Die Anweisung ist außerdem in jeder besseren LaTeX-Einführung erklärt.

Damit könnte man beispielsweise:

Öffne in Overleaf
Code, hier editierbar zum Übersetzen:
\documentclass[paper=A5]{scrartcl}
\DeclareRobustCommand*{\subsectiontocword}[1]{%
\makebox[4.5em][l]{#1}%
}
\begin{document}
\tableofcontents
\addsec[short version sec]{}
\addsubsectiontocentry{}{\subsectiontocword{subsec}1111}
\addsubsectiontocentry{}{\subsectiontocword{subsecaaa}2222}
\addsubsectiontocentry{}{\subsectiontocword{subsecbb}3333}
\addsubsectiontocentry{}{\subsectiontocword{subsecccc}4444}
\addsubsectiontocentry{}{\subsectiontocword{subsec}5555}
\addsubsectiontocentry{}{\subsectiontocword{subsecdd}6666}
\end{document}
הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

verwenden, um die Zahlen untereinander zu bekommen. Sind die Zahlen ebenfalls unterschiedlich lang und möchte man sie rechtsbündig untereinander setzen, böte sich eine Anweisung mit zwei Argumenten an:

Öffne in Overleaf
Code, hier editierbar zum Übersetzen:
\documentclass[paper=A5]{scrartcl}
\DeclareRobustCommand*{\subsectiontocword}[2]{%
\makebox[4.5em][l]{#1}\makebox[2em][r]{#2}%
}
\begin{document}
\tableofcontents
\addsec[short version sec]{}
\addsubsectiontocentry{}{\subsectiontocword{subsec}{1111}}
\addsubsectiontocentry{}{\subsectiontocword{subsecaaa}{22}}
\addsubsectiontocentry{}{\subsectiontocword{subsecbb}{333}}
\addsubsectiontocentry{}{\subsectiontocword{subsecccc}{4}}
\addsubsectiontocentry{}{\subsectiontocword{subsec}{5555}}
\addsubsectiontocentry{}{\subsectiontocword{subsecdd}{6666}}
\end{document}
הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Ich habe in den Beispielen \DeclareRobustCommand* an Stelle von \newcommand* verwendet, um mir die ganzen \protect sparen zu können, die sonst bei der Verwendung von \subsectiontocword in \addsubsectiontocentry notwendig wären. Näheres zu \DeclareRobustCommand ist der zu LaTeX gehörenden Literatur zu entnehmen, in diesem Fall: »LaTeX2ε for class and package writers«.

Permanenter link

beantwortet 16 Dez '18, 09:45

gast3's gravatar image

gast3
(ausgesetzt)
Akzeptiert-Rate: 53%

Ich habe noch aufbauend der Antwort von @Ijon Tichy einen Code erstellt, der die Breite des längsten Wortes aus einer Liste (hier Monatsnamen) ermittelt und dann für die Boxbreite verwendet.

Liefert:

alt text

Öffne in Overleaf
Code, hier editierbar zum Übersetzen:
\documentclass[paper=A5]{scrartcl}
\setparsizes{0pt}{0pt}{0pt plus 1fil}
\usepackage{calc}
\usepackage{tikz}
\usetikzlibrary{calendar}
\begin{document}
\def\Year{2018}
\tableofcontents
\addsec[short version sec]{}
\minisec{Test Maximum}
\def\MyList{1,2,5,1}
MyList: \MyList \\
Maximum: \pgfmathparse{max(\MyList)}\pgfmathresult \\
\minisec{Test Liste}
\newcommand{\List}{}% Name reservieren
\let\List=\empty% Liste erstellen
\makeatletter
\foreach \Month in {0,1,2,3}
{\ifx\empty\List{} \protected@xdef\List{\Month}%
\else \protected@xdef\List{\List,\Month}%
\fi}
\makeatother
Anzeigen: \List \\
\minisec{Test Monatsliste}
%\pgfcalendarmonthname{9}
\newlength\MonthWordWidth
\settowidth\MonthWordWidth{\pgfcalendarmonthname{9}}%
MonthWordWidth: \the\MonthWordWidth~ from \pgfcalendarmonthname{9}
\newcommand{\MonthWordWidthList}{}% reserve name
\let\MonthWordWidthList=\empty% create list
\makeatletter
\foreach \Month in {1,...,12}
{\settowidth\MonthWordWidth{\pgfcalendarmonthname{\Month}}%
\ifx\empty\MonthWordWidthList{} \protected@xdef\MonthWordWidthList{\the\MonthWordWidth}%
\else \protected@xdef\MonthWordWidthList{\MonthWordWidthList,\the\MonthWordWidth}%
 
הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
Permanenter link

beantwortet 16 Dez '18, 22:22

cis's gravatar image

cis
9.6k103460491
Akzeptiert-Rate: 29%

Deine Antwort
[Vorschau ausblenden]

Folgen dieser Frage

Per E-Mail:

Wenn sie sich anmelden, kommen Sie für alle Updates hier in Frage

Per RSS:

Antworten

Antworten und Kommentare

Frage-Themen:

×13

gestellte Frage: 16 Dez '18, 04:43

Frage wurde gesehen: 4,593 Mal

zuletzt geändert: 16 Dez '18, 22:22