Anzeige:
Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 15 von 20

Thema: Synchronisierte enumerate-Umgebung

  1. #1
    Registrierter Benutzer
    Registriert seit
    20.03.2006
    Beiträge
    180

    Synchronisierte enumerate-Umgebung

    Für die Erstellung der Arbeitsaufträge einer Deutsch-Aufgabe verwende ich die enumerate-Umgebung. Soweit kein Problem.

    Zusätzlich möchte zu jedem Listenpunkt (\item) die maximal erreichbare Punktzahl angeben. Die Angabe der Punktzahl soll auf Höhe der ersten Zeile des betreffenden Listenpunkts liegen.

    Ich würde gerne mit "enumerate" arbeiten, weil ich bei manchen Listenpunkt eine Unterstruktur a), b), c) usw. benötige, die ich mit einer geschachelten itemize-Umgebung erzeuge.

    Lässt sich das Geforderte überhaupt mit einer enumerate-Umgebung abbilden?
    Wenn ja, wie?

    Wenn nein, ist es zweckmäßiger mit einer Tabelle, oder mit horizontal angeordneten \parbox zu arbeiten. Pro Listenpunkt (Zeile) wären es drei Zellen.

    Vielen Dank im voraus.

    Gruss
    Dieter

  2. #2
    Registrierter Benutzer
    Registriert seit
    11.09.2005
    Beiträge
    1.712
    Meinst du sowas in die Richtung?

    Code:
    \documentclass{scrreprt} 
    \usepackage[ngerman]{babel} 
    \usepackage[latin1]{inputenc}
    \usepackage[T1]{fontenc}	
    
    \usepackage{blindtext} 
    
    \newcommand{\myitem}[2]{\item\parbox[t]{.9\linewidth}{#1}\hfill #2}
    
    \begin{document}
    
    \begin{enumerate}
    	\myitem{Aufgabentext der Aufgabe 1, der mehrere Zeilen lang ist, obwohl eigentlich nichts drinsteht.\\Deswegen gehts noch weiter.}{2}
    	\myitem{Nächste Aufgabe}{10}
    	\begin{enumerate}
    	\myitem{Erste Teilaufgabe mit viel blabla sollen unlösbare Aufgaben auf möglichst komplizierte Weise irgendwie auf vielen Blättern Papier so unlogisch wie möglich dargelegt werden.}{5}
    	\myitem{Beantworten Sie die Frage: Wozu?}{100}
    	\begin{enumerate}
    	\myitem{Noch eine Unterteilung der unterteilten Teilaufgabe mit wundervollen Ausführungen dazu, wie man noch mehr Arbeit und Aufgaben verteilen kann. Hauptsache, der Text ist mehrere Zeilen lang, was er hiermit jetzt definitiv ist.}{3}
    \end{enumerate}
    \end{enumerate}
    	\myitem{Und noch eine weitere Frage.}{12}
    \end{enumerate}
    
    
    \end{document}

  3. #3
    Registrierter Benutzer
    Registriert seit
    20.03.2006
    Beiträge
    180
    Hallo Xenara,

    vielen Dank für Deinen grundsätzlichen Lösungsvorschlag. Ich kann ihn erst heute abend ausprobieren (auf meinem privaten Rechner); ich denke, dass er praktibal ist und ich ihn einsetzen werde. Mit war nicht bewusst, dass man \parbox auch in Verbindung mit \item benutzen kann.

    Danke!

    Gruss
    Dieter

  4. #4
    Registrierter Benutzer Avatar von lockstep
    Registriert seit
    31.08.2008
    Beiträge
    1.487
    @Xenara: Dein Setzen der parbox-Breite als Bruchteil von \linewidth führt dazu, dass sich der rechte Rand von Aufgaben- und Unteraufgabentext unterscheidet. (Um den Effekt deutlicher zu machen, ersetze in deinem Beispiel .9\linewidth durch .5\linewidth.)

    lockstep
    idxlayout - Konfigurierbares Index-Layout, kompatibel mit KOMA-Script und memoir

  5. #5
    Registrierter Benutzer
    Registriert seit
    11.09.2005
    Beiträge
    1.712
    @lockstep: Mist, du hast recht
    Hatte extra darauf geachtet, es aber nur mit 0.8 und 0.9 getestet. Da sahs ok aus.

    Was für einen Wert müsste man dann statt \linewidth nehmen? \textwidth und \columnwidth sinds auch nicht, und einfach ein \itemsep abziehen scheitert natürlich bei der zweiten Einrückung.
    Also welche Länge sagt LaTeX, wieviel Platz er aktuell für die eingerückte Zeile hat? Könnte man das auslesen?

  6. #6
    Registrierter Benutzer Avatar von lockstep
    Registriert seit
    31.08.2008
    Beiträge
    1.487
    Die Breite der aktuellen Zeile hängt meines Wissens nach von der Tiefe der Listenumgebung ab. Beim Start der ersten enumerate-Umgebung wird die Zeile um \leftmargini verringert, beim Start der zweiten um \leftmarginii usw. (bis zu \leftmarginvi). Ich denke, es braucht entweder eine umfangreichere Berechnung oder einen anderen Ansatz.

    lockstep
    idxlayout - Konfigurierbares Index-Layout, kompatibel mit KOMA-Script und memoir

  7. #7
    Registrierter Benutzer
    Registriert seit
    11.09.2005
    Beiträge
    1.712
    Hab eben nochmal nachgelesen und x Sachen ausprobiert:
    \linewidth müsste eigentlich tatsächlich der richtige Parameter sein, denn er gibt den Platz der aktuellen Zeile.

    ABER: Mir ist aufgefallen, ich definiere ja 90% der aktuellen Zeile, und wenn die länger oder kürzer ist, ergeben sich andere Verhältnisse.

    Wenn von \linewidth ein Absolutwert (z.B. 5cm) für den Platz der Punktezahl abgezogen wird, sollte es stimmen.
    Würdest du es mal mit folgender Definition testen? Das sah bei mir eben stimmig aus.
    Code:
    \newcommand{\myitem}[2]{\item\parbox[t]{\linewidth-20ex}{#1}\hfill #2}

  8. #8
    Registrierter Benutzer Avatar von mechanicus
    Registriert seit
    10.07.2008
    Ort
    Hamburg
    Beiträge
    3.944
    [QUOTE=lockstep;314455]Ich denke, es braucht entweder eine umfangreichere Berechnung oder einen anderen Ansatz./QUOTE]
    Bevor man sich aber an diese Rechnung macht, sollte Dieter erstmal sagen, ob das ungefähr sein Ziel ist. Ich bin ehrlich und gebe zu, dass ich die Beschreibung nicht wirklich verstanden habe.

    Gruß
    Marco

  9. #9
    Registrierter Benutzer
    Registriert seit
    20.03.2006
    Beiträge
    180
    Ich möchte rechts an eine enumerate-Umgebung eine schmale "Spalte" anflanschen, in der ich für jeden Listenpunkt die jeweilige Punktzahl eintrage. Die Punktzahl (max. 3-stellig) soll in die gleiche Zeile gesetzt werden wie die erste Zeile des Listenpunkts.

    Bei eurer Diskussion kam mir der Gedanke, zwei horizontale \parbox in \myitem zu definieren, die rechte (für die Punktzahl) hat z.B. die Breite 1cm, die linke hat die Breite "\linewidth - 1cm". Geht das überhaupt so?

    Mein Verständnis ist, dass \linewidth IMMER die jeweilige Zeilenbreite angibt, d.h., wenn man sich in der dritten Verschachtelung befindet, ist \linewidth eben "automatisch" kürzer als in der zweiten Verschachtelung.

    Zum Ausprobieren komme ich erst heute abend.

    Gruss
    Dieter

  10. #10
    Registrierter Benutzer
    Registriert seit
    11.09.2005
    Beiträge
    1.712
    Eine zweite Parbox kannst du in mein Makro locker einbauen, einfach ums zweite Argument rum. In der bestehenden Variante sind die Zahlen dann automatisch immer am rechten Rand bündig. Ist die Frage, wie du es willst.

    Danke für deine Bestätigung zu \linewidth. Jetzt müsste nur mal noch jemand (ungleich ich selbst) das MB mit dem neuen Vorschlag in #7 testen

  11. #11
    Registrierter Benutzer Avatar von lockstep
    Registriert seit
    31.08.2008
    Beiträge
    1.487
    @Xenara: Mit \linewidth-20ex kann LaTeX (bzw. TeX) nicht viel anfangen.

    Code:
    \newlength{\myboxwidth}
    \newcommand{\myitem}[2]{%
      \myboxwidth \linewidth
      \advance\myboxwidth -4em
      \item\parbox[t]{\myboxwidth}{#1}\hfill #2
    }
    lockstep
    idxlayout - Konfigurierbares Index-Layout, kompatibel mit KOMA-Script und memoir

  12. #12
    Registrierter Benutzer Avatar von mechanicus
    Registriert seit
    10.07.2008
    Ort
    Hamburg
    Beiträge
    3.944
    Zitat Zitat von lockstep Beitrag anzeigen
    @Xenara: Mit \linewidth-20ex kann LaTeX (bzw. TeX) nicht viel anfangen.
    Musst doch nur calc laden

  13. #13
    Registrierter Benutzer
    Registriert seit
    11.09.2005
    Beiträge
    1.712
    Sorry, \usepackage{calc} fehlte. Jetzt sollte es aber laufen.

    Code:
    \documentclass{scrreprt} 
    \usepackage[ngerman]{babel} 
    \usepackage[latin1]{inputenc}
    \usepackage[T1]{fontenc}	
    
    \usepackage{calc}
    
    \newcommand{\myitem}[2]{\item\parbox[t]{\linewidth-20ex}{#1}\hfill #2}
    
    \begin{document}
    
    \begin{enumerate}
    	\myitem{Aufgabentext der Aufgabe 1, der mehrere Zeilen lang ist, obwohl eigentlich nichts drinsteht.\\Deswegen gehts noch weiter.}{2}
    	\myitem{Nächste Aufgabe}{10}
    	\begin{enumerate}
    	\myitem{Erste Teilaufgabe mit viel blabla sollen unlösbare Aufgaben auf möglichst komplizierte Weise irgendwie auf vielen Blättern Papier so unlogisch wie möglich dargelegt werden.}{5}
    	\myitem{Beantworten Sie die Frage: Wozu?}{100}
    	\begin{enumerate}
    	\myitem{Noch eine Unterteilung der unterteilten Teilaufgabe mit wundervollen Ausführungen dazu, wie man noch mehr Arbeit und Aufgaben verteilen kann. Hauptsache, der Text ist mehrere Zeilen lang, was er hiermit jetzt definitiv ist.}{5}
    \end{enumerate}
    \end{enumerate}
    	\myitem{Und noch eine weitere Frage.}{12}
    \end{enumerate}
    
    
    \end{document}

  14. #14
    Registrierter Benutzer Avatar von lockstep
    Registriert seit
    31.08.2008
    Beiträge
    1.487
    Zitat Zitat von mechanicus Beitrag anzeigen
    Musst doch nur calc laden
    Genau dafür gibt es Minimalbeispiele. (Und es war eine gute Übung in TeX-Syntax für Anfänger. )

    lockstep
    idxlayout - Konfigurierbares Index-Layout, kompatibel mit KOMA-Script und memoir

  15. #15
    Registrierter Benutzer Avatar von rais
    Registriert seit
    18.07.2005
    Beiträge
    5.862
    Moin moin,
    eine Alternative wäre vllt, die Punkte in Randnotizen zu packen, da braucht man sich um den in der entsprechenden Zeile zur Verfügund stehenden Platz nicht weiter zu kümmern ... aufbauend auf Xenaras Beispiel etwa
    Code:
    \documentclass{scrreprt}
    \usepackage[ngerman]{babel}
    \usepackage[utf8]{inputenc}
    \usepackage[T1]{fontenc}
    \newcounter{gesamtpunkte}
    \newcommand*\punkte[1]{%
      \marginpar{\parbox{2em}{\hfill#1}}%
      \addtocounter{gesamtpunkte}{#1}%
    }
    \newcommand*\gesamtpunkte{%
    \vfill
    \hfill mögliche Punkte:\marginpar{\parbox{2em}{\hfill\textbf{\thegesamtpunkte}}}%
    }
    \begin{document}
    
    \begin{enumerate}
      \item Aufgabentext\punkte{2} der Aufgabe 1, der mehrere Zeilen lang ist, obwohl eigentlich nichts drinsteht.\\Deswegen gehts noch weiter.
      \item Nächste Aufgabe\punkte{10}
      \begin{enumerate}
      \item Erste Teilaufgabe\punkte{5} mit viel blabla sollen unlösbare Aufgaben auf möglichst komplizierte Weise irgendwie auf vielen Blättern Papier so unlogisch wie möglich dargelegt werden.
      \item Beantworten Sie die Frage: Wozu?\punkte{100}
      \begin{enumerate}
      \item Noch eine Unterteilung\punkte{5} der unterteilten Teilaufgabe mit wundervollen Ausführungen dazu, wie man noch mehr Arbeit und Aufgaben verteilen kann. Hauptsache, der Text ist mehrere Zeilen lang, was er hiermit jetzt definitiv ist.
    \end{enumerate}
    \end{enumerate}
      \item Und noch eine weitere Frage.\punkte{12}
    \end{enumerate}
    \gesamtpunkte
    \end{document}
    MfG
    Rainer
    There's nothing a good whack with a hammer won't fix!

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •