设置与行缩进无关的制表位

设置与行缩进无关的制表位

我想用 itemize 创建一个嵌套列表,并在页面右侧添加一个“列”。我知道有几种方法可以制作制表位或类似的东西,但它们似乎都与行的缩进有关。

以下是在 MS Word 中制作的示例: 在此处输入图片描述

这就是我目前在 TeX 中所做的(而且很糟糕),使用 -package tabto

\tabto{0.865\linewidth} Zeit in h
\vspace{-5mm}
\begin{itemize}
    \item Projekteinrichtung \tabto{0.9\linewidth} \textbf{2}
    \begin{itemize}
        \item VisualStudio-Projekt \tabto{0.895\linewidth} 1,5
        \item SQL-Server \tabto{0.895\linewidth} 0,5
    \end{itemize}
    \item Basis-Oberfläche mit geplanten Funktionen \tabto{0.9\linewidth} \textbf{3}
    \item Funktionslevel 1 umsetzen \tabto{0.9\linewidth} \textbf{35}
    \begin{itemize}
        \item Manuelle Zeiterfassung \tabto{0.895\linewidth} 2
        \item Datenbindung an SQL-Server \tabto{0.895\linewidth} 8
        \item Rechteverwaltung für SQL-Server-Zugriffe \tabto{0.895\linewidth} 10
        \item Projektzuordnung für Zeitabrechnung \tabto{0.895\linewidth} 2
        \item \glqq automatische\grqq\ Erfassung \tabto{0.895\linewidth} 2
        \item Anzeige der eigenen Zeiten \tabto{0.895\linewidth} 3
        \item Manuelles Bearbeiten der eigenen Zeiten \tabto{0.895\linewidth} 5
        \item Export bzw. Druck \tabto{0.895\linewidth} 3
    \end{itemize}
    \item Basisoberfläche durch richtiges UI ersetzen \tabto{0.9\linewidth} \textbf{12}
    \begin{itemize}
        \item Tray-Funktionalität \tabto{0.895\linewidth} 2
        \item praktisches und übersichtliches UI für die Basisansicht \tabto{0.895\linewidth} 5
        \item praktisches und übersichtliches UI für die Liste der Zeiten \tabto{0.895\linewidth} 5
    \end{itemize}
    \item Funktionslevel 2 umsetzen (Stufe 1 der optionalen Anforderungen) \tabto{0.9\linewidth} \textbf{15}
    \begin{itemize}
        \item AutoStart \tabto{0.895\linewidth} 2
        \item Verbessertes Tray-Menü \tabto{0.895\linewidth} 3
        \item Einfache Auswertungen \tabto{0.895\linewidth} 10
    \end{itemize}
    \item Dokumentation abschließen (Erstellung läuft meist parallel ab) \tabto{0.9\linewidth} \textbf{3}
\end{itemize} 

我考虑过通过减去缩进来计算真正的制表位,但无法读出当前行的缩进......

我该如何实现这种布局?我也会使用表格,只要我能够让它就像一个嵌套列表。

答案1

另一种可能性是 --- 我认为宏是不言自明的。它还可以管理很长的行。

\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{lmodern}
\usepackage{enumitem}
\newlength\rboxlen\setlength{\rboxlen}{3cm}
\newlength\rspace\setlength{\rspace}{1em}
\newcommand{\splat}[1]{\hfill\rlap{\makebox[\rboxlen][l]{\hspace{\rspace} #1}}}
\newcommand{\splatout}[2][\null]{\hfill\llap{#1}%
         {\makebox[\rboxlen][l]{\hspace{\rspace} #2}}}

\begin{document}

Title \splatout[This will go before:]{Number}
% you need a blank line here

\begin{itemize}[rightmargin=\rboxlen]
    \item Level 1 short \splat{l1-s}
        \begin{itemize}
            \item Level 2 short \splat{l2-s}
            \item Level 2 but this time it is long, 
                so long it will go into the next part of the line, 
                and then some, and then some \splat{l2-l}
            \item Short no splat
        \end{itemize}
    \item Level 1 no splat
    \item Level 1 but this time it is long, 
        so long it will go into the next part of the line, and then some, 
        and then some \splat{l2-l}
\end{itemize}

\splatout[Sum:]{sum}

您只需\rboxlen\rspace距离即可改变空间。

代码片段的输出

答案2

像这样 :

\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{lmodern}
\usepackage[frenchb]{babel}

\begin{document}
Titre\hfill Somme
\begin{itemize}
\item Level 1 \hfill \makebox[1cm][l]{\textbf{10}}
  \begin{itemize}
  \item Level 2.1 \hfill \makebox[1cm][l]{4}
  \item Level 2.2 \hfill \makebox[1cm][l]{3}
  \item Level 2.3 \hfill \makebox[1cm][l]{3}
  \end{itemize}
\item Level 1.1 \hfill \makebox[1cm][l]{\textbf{10}}
  \begin{itemize}
  \item Level 2.1 \hfill \makebox[1cm][l]{4}
  \item Level 2.2 \hfill \makebox[1cm][l]{3}
  \item Level 2.3 \hfill \makebox[1cm][l]{3}
  \end{itemize}
\end{itemize}
\hfill Somme : \makebox[1cm][l]{20}
\end{document}

在此处输入图片描述

相关内容