Anzeige:
Ergebnis 1 bis 13 von 13

Thema: Nummerierung in ein Verzeichnis übernehmen

  1. #1
    Registrierter Benutzer
    Registriert seit
    25.07.2010
    Beiträge
    31

    Nummerierung in ein Verzeichnis übernehmen

    Hallo zusammen

    ich habe ein Matheskript und verwende eine eigene Umgebung "uebung" (ermöglicht eine fortlaufende Nummerierung im gesamten Skript). Zusätzlich habe ich in dieser Umgebung für Unteraufgaben die beiden Umgebungen "tasks" (vom exsheets-Paket) und eine eigene Umgebung "untauf".
    Ich kann nun mit einem Befehl "\lsgl{}" die Lösungen direkt hinter meine Aufgaben schreiben und anschliessend werden diese Lösungen in ein Lösungsverzeichnis geschrieben.

    Im Moment sieht dieses Beispiel so aus:
    1) 35m
    1) 40m
    2) 4.4m
    3) 3m
    4) 6.6m
    4) 3.2m
    4) 9m

    Was muss ich ändern, damit ich im Lösungsverzeichnis wieder folgendes sehe?

    1a) 35m
    1b) 40m
    2) 4.4m
    3) 3m
    4a) 6.6m
    4b) 3.2m
    4c) 9m

    Dieses Verhalten tritt auf egal ob in meiner eigens definierten Umgebung "untauf" oder in der von exsheets.

    Ich habe früher diese Unterumgebungen nicht gehabt und mit \begin{enumerate}[label=\alph*)] gearbeitet, das hat damit vorzüglich funktioniert. Im Moment scheint er die Nummerierungstiefe nicht zu erkennen. Aber wie ändere ich das?

    Code für meine Uebungs-Umgebung und deren Unterumgebung "untauf":
    Code:
    %== Umgebung für Übungen
    \newcounter{ubg}
    \newcounter{ubg2}
    % nur Nummerierung, wenn vor der Aufgabennummerierung noch die Kapitelnummer zu stehen kommen soll einfach \thechapter einfügen
    \newenvironment{uebung}{\begin{list}{\bfseries{} \arabic{ubg}.}{\usecounter{ubg}\setcounter{ubg}{\arabic{ubg2}}\setlength{\leftmargin}{2em}}}{\end{list}\vspace{2ex}\setcounter{ubg2}{\arabic{ubg}}} 
    
    %== Umgebung für Unteraufgaben der Übungen
    \newcounter{ubg4}
    \newenvironment{untauf}{\begin{list}{\alph{ubg4})}{\usecounter{ubg4}\setlength{\labelwidth}{0.5cm}\setlength{\labelsep}{0.5cm}
    }}{\end{list}}
    und hier der Code für das Erstellen des Lösungsverzeichnis:
    Code:
    % Lösungsverzeichnis
    %====================================================================================
    
    %== Lösungen sind in den Befehl \lsgl{} einzuschliessen. Für jeden \lsgl{}-Befehl wird sogleich ein Eintrag ins Lösungsverzeichnis geschrieben. Das Lösungsverzeichnis trägt den Namen "Hauptfile"'.los (list of solutions). Das Lösungsverzeichnis wird an beliebiger Stelle im Dokument mit \listofsolutions erzeugt, analog zu \tableofcontents oder \listoffigures. 
    % Zuerst wird \lsgl definiert. Eintrag ins Lösungsverzeichnis in Abhängigkeit der Nummerierungstiefe
    \makeatletter
    \def\lsgl#1{ \ifabfrage{\lehrer}{ {\footnotesize {\textcolor{purple}{(#1)} } } }{}  
    \ifnum \@enumdepth=0
    \addcontentsline{los}{solution}{%
      \textbf{\arabic{ubg}})  #1}%
    \else
    \addcontentsline{los}{solution}{%
      \textbf{\arabic{ubg}}\alph{enumi})  #1}%
     % \textbf{\arabic{ubg}} \alph{ubg4})  #1}%
    \fi%
    }
    
    %== Nun wird der Befehl \listofsolutions definiert
    \newcommand{\listofsolutions}{\newpage\twocolumn\chapter{Lösungsverzeichnis}%
         \@starttoc{los}}
    \addtocontents{los}{\protect\thispagestyle{scrheadings}}
    
    %== Hier kann das Lösungsverzeichnis formatiert werden
    \newcommand\l@solution{\@dottedtocline{1}{0em}{2.3em}}
    %\newcommand\l@solution{}
    \makeatother
    \endinput
    Es tut mir leid, dass ich kein Minimalbeispiel erstellen kann, ich glaub das würde den Rahmen sprengen.



    Vielen Dank für eure Hilfe!

    Grüsse Moadin

  2. #2
    Registrierter Benutzer
    Registriert seit
    19.05.2009
    Beiträge
    4.045
    Es tut mir leid, dass ich kein Minimalbeispiel erstellen kann, ich glaub das würde den Rahmen sprengen.
    Nun, irgendwer wird ein Minimalbeispiel zum Testen erstellen müssen. Wenn nicht du, wer denn sonst?

  3. #3
    Registrierter Benutzer
    Registriert seit
    25.07.2010
    Beiträge
    31
    Endlich kommt ein funktionierendes Minimalbeispiel. Ich habe Pakete drin gelassen, die es wahrscheinlich nicht benötigt, aber ich wollte nicht neue Probleme schaffen.

    Ich wäre sehr dankbar für Hinweise, ich habe es bis jetzt nicht hinbekommen.


    Code:
    \documentclass[paper=a4,fontsize=11pt,DIV=12,BCOR=8mm,parskip=half,titlepage,headings=openright,twoside,bibliography=totocnumbered,dvipsnames]{scrreprt} % für zweiseitig: "twoside" also option einfügen und headings=openright bewirkt, dass Chapter immer auf ungeraden Seiten beginnen
    
    
    % Schrift
    %====================================================================================
    
    %== Stellt Umlaute und sonstige Spezialzeichen korrekt dar. Die Option muss  so gewählt werden, wie der Editor die Datei speichert.
    \usepackage[utf8]{inputenc}
    % ==Probleme beim Trennen von Wörten, die Umlaute enthalten, vermieden bzw können dann erst überhaupt getrennt werden.
    \usepackage[T1]{fontenc}
     %== Eine Sammlung von verschieden Sprachen, ermöglicht für diese Sprachen die automatische Worttrennung und die ändert die Bezeichnungen in die jeweilige Sprache. ngerman ist die Option für die neue deutsche Rechtschreibung.
    \usepackage[ngerman]{babel} 
    %== Schrift Helvetica, serifenlos
    \usepackage[scaled=0.92]{helvet}
    \renewcommand{\familydefault}{\sfdefault}
    \fontfamily{phv}\selectfont
    %== serifenlose Schrift im Mathesatz
    \usepackage[helvet]{sfmath} 
    
    
    % Seitenlayout
    %====================================================================================
    
    \KOMAoptions{cleardoublepage=empty}
    % ==Definition der Seitenränder
    \usepackage[left=2.5cm,right=1.5cm,top=1cm,bottom=1cm,includeheadfoot]{geometry}
    % ==Kopf- und Fusszeile
    \usepackage[headsepline,automark]{scrpage2} 
    % ==ändert die Schrift in der Kopfzeile
    \setkomafont{pageheadfoot}{\small\sffamily} 
    % ==kann das gesamte Dokument auf eineinhalb zeiligen Abstand setzen: [onehalfspacing]
    \usepackage{setspace}
    % ==Setzt den Text linksbündig mit Flattersatz rechts
    \usepackage{ragged2e}
    %== Für Blocksatz auskommentieren
    %\RaggedRight
    %== Fügt Bilder oder Hintergründe auf jeder Seite ein
    \usepackage{eso-pic}
    %== definiert die Beschriftungen von Abbildungen und Tabellen
    \usepackage[font=footnotesize,labelfont=bf,format=hang,justification=justified,singlelinecheck=false,figurename=Abb.]{caption}[2008/08/24]
    
    
    
    % Generelle Pakete
    %====================================================================================
    
    %== Ermöglicht Anpassung der drei Umgebungen enumerate, itemize und description
    \usepackage{enumitem}
    %== Ein Mutlicol-Befehl, der die Nummerierung aber horizontal macht
    \usepackage{exsheets}
    %== deklariert die Nummerierung in a) b) c) bei tasks
    \DeclareInstance{tasks}{alphabetize}{default}{} 
    
    
    % Mathematik Pakete
    %====================================================================================
    
    %== Das wichtigste Paket für korrekte mathematische Schriftsetzung in LaTeX
    \usepackage{amsmath}
    %== Erweiterungspaket von amsmath
    \usepackage{mathtools}
    %== Fügt mathematische Symbole ein, z.B. das Mengensymbol: \mathbb{R}
    \usepackage{amssymb}
    %== verschiedene mathematische Schriftsätze
    \usepackage{amsfonts}
    %== Einfache Verwendung von Klammern bei Array
    \usepackage{delarray}
    
    
    % Eigene Definitionen
    %====================================================================================
    
    % If abfrage zur steuerung der skriptversion falls erster parameter = 0, dann schreib #2 sonst #3
    \def\ifabfrage#1#2#3{\def\test{#1}\ifnum\test=0#2\else#3\fi}
    
    
    
    %== Umgebung für Übungen
    \newcounter{ubg}
    \newcounter{ubg2}
    % nur Nummerierung, wenn vor der Aufgabennummerierung noch die Kapitelnummer zu stehen kommen soll einfach \thechapter einfügen
    \newenvironment{uebung}{\begin{list}{\bfseries{} \arabic{ubg}.}{\usecounter{ubg}\setcounter{ubg}{\arabic{ubg2}}\setlength{\leftmargin}{2em}}}{\end{list}\vspace{2ex}\setcounter{ubg2}{\arabic{ubg}}} 
    %\newenvironement{uebung}{\begin{list
    
    %== Umgebung für Unteraufgaben der Übungen
    \newcounter{ubg4}
    \newenvironment{untauf}{\begin{list}{\alph{ubg4})}{\usecounter{ubg4}\setlength{\labelwidth}{0.5cm}\setlength{\labelsep}{0.5cm}
    }}{\end{list}\vspace{2ex}}
    
    
    % Lösungsverzeichnis
    %====================================================================================
    
    %== Lösungen sind in den Befehl \lsgl{} einzuschliessen. Für jeden \lsgl{}-Befehl wird sogleich ein Eintrag ins Lösungsverzeichnis geschrieben. Das Lösungsverzeichnis trägt den Namen "Hauptfile"'.los (list of solutions). Das Lösungsverzeichnis wird an beliebiger Stelle im Dokument mit \listofsolutions erzeugt, analog zu \tableofcontents oder \listoffigures. 
    % Zuerst wird \lsgl definiert. Eintrag ins Lösungsverzeichnis in Abhängigkeit der Nummerierungstiefe
    \makeatletter
    \def\lsgl#1{ \ifabfrage{\lehrer}{ {\footnotesize {\textcolor{purple}{(#1)} } } }{}  
    \ifnum \@enumdepth=0
    \addcontentsline{los}{solution}{%
      \textbf{\arabic{ubg}})  #1}%
    \else
    \addcontentsline{los}{solution}{%
     \textbf{\arabic{ubg}}\alph{enumi})  #1}%
    \fi%
    }
    
    
    %== Nun wird der Befehl \listofsolutions definiert
    \newcommand{\listofsolutions}{\newpage\twocolumn\chapter{Lösungsverzeichnis}%
         \@starttoc{los}}
    \addtocontents{los}{\protect\thispagestyle{scrheadings}}
    
    %== Hier kann das Lösungsverzeichnis formatiert werden
    \newcommand\l@solution{\@dottedtocline{1}{0em}{2.3em}}
    %\newcommand\l@solution{}
    \makeatother
    
    
    % Schalter
    %---------
    % 1: erzeugt schuelerskript
    % 0: erzeugt lehrerskript
    
    %************
    %------------
    \def\lehrer{1}
    %------------
    %************
    
    
    \begin{document}
    
    
    \begin{uebung}
    
    	\item Bestimmen Sie die Anzahl Lösungen folgender Gleichungen:
    				\begin{untauf}
    					\item $x^2+x+1=0$ \lsgl{keine Lösungen}
    					\item $x^2+2x+1=0$ \lsgl{eine Lösung}
    					\item $x^2+3x+1=0$ \lsgl{zwei Lösungen}
    				\end{untauf}
    				
    	\item Für welche Zahlen $k$ haben die Gleichungen keine Lösung, eine Lösung, bzw. zwei Lösungen?
    		\begin{tasks}(3)
    			\task $x^2-3x+k=0$ \lsgl{$>2.25$; 2.25; $<2.25$}
    			\task $kx^2+6x+1=0$ \lsgl{$<9$; 9; $>9$}
    			\task $x^2-x-k=0$ \lsgl{$<-\frac{1}{4}$; $-\frac{1}{4}$; $>-\frac{1}{4}$}
    			\task $y^2+ky+1=0$ \lsgl{$-2k>2$}
    			\task $x^2+kx-2k^2=0$ \lsgl{$>0$; 0; $<0$}
    			\task $3k^2x^2+4kx+1=0$ \lsgl{$>0$; 0; $<0$}
    		\end{tasks}
    				
    	\item Ein paar schwierigere Aufgaben.
    		\begin{tasks}(2)
    			\task $5z-3-2z(3z-4)=4$ \lsgl{$z_1=\frac{7}{6}$, $z_2=1$}
    			\task $\frac{1}{2}(x+1)^2=\frac{17}{8}-x$ \lsgl{$x_1=0.693$, $x_2=-4.693$}
    			\task $(x+1)(2x+3)=4x^2-22$ \lsgl{$x_1=5$, $x_2=-\frac{5}{2}$}
    			\task $(y-3)^2=2(y^2-9)$ \lsgl{$y_1=3$, $y_2=-9$}
    			\task $t(3t-7)-t+4=(t+2)^2$ \lsgl{$t_1=6$, $t_2=0$}
    			\task $(3x+5)^2-x(7x-5)=29x+45$ \lsgl{$x_1=2$, $x_2=-5$}
    			\task! $(3r-4)^2-4(4r-3)^2+(5r-2)(5r+2)=18(r+2)+3$ \lsgl{keine Lösung}
    			\task! $(1.4x+4)(1.4x-4)=(x-7)(x+3)+(x+2)(2x-3)$ \lsgl{$x_1=5$, $x_2=-2.115$}
    		\end{tasks}
    
    				
    	\item Wie verändern sich die Lösungen der Gleichung $ax^2+bx+c=0$ , wenn 
    				\begin{untauf}
    					\item $a$ halbiert und $c$ verdoppelt wird, \lsgl{Lösungen werden doppelt so gross}
    					\item $b$ verdoppelt und $a$ vervierfacht wird,\lsgl{Lösungen werden halb so gross}
    					\item $a$, $b$ und $c$ halbiert werden? \lsgl{Lösungen bleiben gleich gross}
    				\end{untauf}
    				
    \end{uebung}
    
    ein kleiner weiterer Test
    
    \begin{uebung}
    
    	\item Wie verändern sich die Lösungen der Gleichung $ax^2+bx+c=0$ , wenn 
    				\begin{untauf}
    					\item $a$ halbiert und $c$ verdoppelt wird, \lsgl{Lösungen werden doppelt so gross}
    					\item $b$ verdoppelt und $a$ vervierfacht wird,\lsgl{Lösungen werden halb so gross}
    					\item $a$, $b$ und $c$ halbiert werden? \lsgl{Lösungen bleiben gleich gross}
    				\end{untauf}
    
    \end{uebung}
     
    \listofsolutions
    
    \end{document}

  4. #4
    Registrierter Benutzer
    Registriert seit
    09.12.2005
    Beiträge
    1.326
    Zitat Zitat von Moadin Beitrag anzeigen
    Endlich kommt ein funktionierendes Minimalbeispiel. Ich habe Pakete drin gelassen, die es wahrscheinlich nicht benötigt
    Das ist ein Widerspruch. Mit Paketen, die nicht benötigt werden, ist es kein Minimalbeispiel.

    Zitat Zitat von Moadin Beitrag anzeigen
    aber ich wollte nicht neue Probleme schaffen.
    Dann probier aus, was benötigt wird.

  5. #5
    Registrierter Benutzer
    Registriert seit
    25.07.2010
    Beiträge
    31
    Hier das funktionierende Minimalbeispiel. Diesmal ist es wirklich minimal.

    Code:
    \documentclass[paper=a4]{scrreprt}
    
    \usepackage[utf8]{inputenc}
    \usepackage[ngerman]{babel} 
    \usepackage{enumitem}
    \usepackage{exsheets}
    \DeclareInstance{tasks}{alphabetize}{default}{} 
    
    % If abfrage zur steuerung der skriptversion falls erster parameter = 0, dann schreib #2 sonst #3
    \def\ifabfrage#1#2#3{\def\test{#1}\ifnum\test=0#2\else#3\fi}
    
    
    
    %== Umgebung für Übungen
    \newcounter{ubg}
    \newcounter{ubg2}
    \newenvironment{uebung}{\begin{list}{\bfseries{} \arabic{ubg}.}{\usecounter{ubg}\setcounter{ubg}{\arabic{ubg2}}\setlength{\leftmargin}{2em}}}{\end{list}\vspace{2ex}\setcounter{ubg2}{\arabic{ubg}}} 
    
    %== Umgebung für Unteraufgaben der Übungen
    \newcounter{ubg4}
    \newenvironment{untauf}{\begin{list}{\alph{ubg4})}{\usecounter{ubg4}\setlength{\labelwidth}{0.5cm}\setlength{\labelsep}{0.5cm}
    }}{\end{list}\vspace{2ex}}
    
    
    % Lösungsverzeichnis
    %====================================================================================
    
    %== Lösungen sind in den Befehl \lsgl{} einzuschliessen. Für jeden \lsgl{}-Befehl wird sogleich ein Eintrag ins Lösungsverzeichnis geschrieben. Das Lösungsverzeichnis trägt den Namen "Hauptfile"'.los (list of solutions). Das Lösungsverzeichnis wird an beliebiger Stelle im Dokument mit \listofsolutions erzeugt, analog zu \tableofcontents oder \listoffigures. 
    % Zuerst wird \lsgl definiert. Eintrag ins Lösungsverzeichnis in Abhängigkeit der Nummerierungstiefe
    \makeatletter
    \def\lsgl#1{ \ifabfrage{\lehrer}{ {\footnotesize {\textcolor{purple}{(#1)} } } }{}  
    \ifnum \@enumdepth=0
    \addcontentsline{los}{solution}{%
      \textbf{\arabic{ubg}})  #1}%
    \else
    \addcontentsline{los}{solution}{%
     \textbf{\arabic{ubg}}\alph{enumi})  #1}%
    \fi%
    }
    
    
    %== Nun wird der Befehl \listofsolutions definiert
    \newcommand{\listofsolutions}{\newpage\twocolumn\chapter{Lösungsverzeichnis}%
         \@starttoc{los}}
    \addtocontents{los}{\protect}
    
    %== Hier kann das Lösungsverzeichnis formatiert werden
    \newcommand\l@solution{\@dottedtocline{1}{0em}{2.3em}}
    \makeatother
    
    
    % Schalter
    %---------
    % 1: erzeugt schuelerskript
    % 0: erzeugt lehrerskript
    \def\lehrer{1}
    
    
    
    \begin{document}
    
    
    \begin{uebung}
    
    \item Bestimmen Sie die Anzahl Lösungen folgender Gleichungen:
        \begin{untauf}
    	\item $x^2+x+1=0$ \lsgl{keine Lösungen}
    	\item $x^2+2x+1=0$ \lsgl{eine Lösung}
    	\item $x^2+3x+1=0$ \lsgl{zwei Lösungen}
        \end{untauf}
    				
    \item Für welche Zahlen $k$ haben die Gleichungen keine Lösung, eine Lösung, bzw. zwei Lösungen?
        \begin{tasks}(3)
    	\task $x^2-3x+k=0$ \lsgl{$>2.25$; 2.25; $<2.25$}
    	\task $kx^2+6x+1=0$ \lsgl{$<9$; 9; $>9$}
    	\task $x^2-x-k=0$ \lsgl{$<-\frac{1}{4}$; $-\frac{1}{4}$; $>-\frac{1}{4}$}
    	\task $y^2+ky+1=0$ \lsgl{$-2k>2$}
    	\task $x^2+kx-2k^2=0$ \lsgl{$>0$; 0; $<0$}
    	\task $3k^2x^2+4kx+1=0$ \lsgl{$>0$; 0; $<0$}
        \end{tasks}
    				
    \item Ein paar schwierigere Aufgaben.
        \begin{tasks}(2)
    	\task $5z-3-2z(3z-4)=4$ \lsgl{$z_1=\frac{7}{6}$, $z_2=1$}
    	\task $\frac{1}{2}(x+1)^2=\frac{17}{8}-x$ \lsgl{$x_1=0.693$, $x_2=-4.693$}
    	\task $(x+1)(2x+3)=4x^2-22$ \lsgl{$x_1=5$, $x_2=-\frac{5}{2}$}
    	\task $(y-3)^2=2(y^2-9)$ \lsgl{$y_1=3$, $y_2=-9$}
    	\task $t(3t-7)-t+4=(t+2)^2$ \lsgl{$t_1=6$, $t_2=0$}
    	\task $(3x+5)^2-x(7x-5)=29x+45$ \lsgl{$x_1=2$, $x_2=-5$}
    	\task! $(3r-4)^2-4(4r-3)^2+(5r-2)(5r+2)=18(r+2)+3$ \lsgl{keine Lösung}
    	\task! $(1.4x+4)(1.4x-4)=(x-7)(x+3)+(x+2)(2x-3)$ \lsgl{$x_1=5$, $x_2=-2.115$}
        \end{tasks}
    
    \item Wie verändern sich die Lösungen der Gleichung $ax^2+bx+c=0$ , wenn 
        \begin{untauf}
    	\item $a$ halbiert und $c$ verdoppelt wird, \lsgl{Lösungen werden doppelt so gross}
    	\item $b$ verdoppelt und $a$ vervierfacht wird,\lsgl{Lösungen werden halb so gross}
    	\item $a$, $b$ und $c$ halbiert werden? \lsgl{Lösungen bleiben gleich gross}
        \end{untauf}
    				
    \end{uebung}
    
    Ein Unterbruch um die fortlaufende Nummerierung zu zeigen
    
    \begin{uebung}
    
    \item Wie verändern sich die Lösungen der Gleichung $ax^2+bx+c=0$ , wenn 
        \begin{untauf}
    	\item $a$ halbiert und $c$ verdoppelt wird, \lsgl{Lösungen werden doppelt so gross}
    	\item $b$ verdoppelt und $a$ vervierfacht wird,\lsgl{Lösungen werden halb so gross}
    	\item $a$, $b$ und $c$ halbiert werden? \lsgl{Lösungen bleiben gleich gross}
        \end{untauf}
    
    \end{uebung}
     
    \listofsolutions
    
    \end{document}
    Ich hoffe, jetzt kann mir jemand helfen. Vielen Dank im Voraus.

    Moadin

  6. #6
    Registrierter Benutzer Avatar von rais
    Registriert seit
    18.07.2005
    Beiträge
    5.860
    Zitat Zitat von Moadin Beitrag anzeigen
    Code:
    \makeatletter
    \def\lsgl#1{ \ifabfrage{\lehrer}{ {\footnotesize {\textcolor{purple}{(#1)} } } }{}  
    \ifnum \@enumdepth=0
    \addcontentsline{los}{solution}{%
      \textbf{\arabic{ubg}})  #1}%
    \else
    \addcontentsline{los}{solution}{%
     \textbf{\arabic{ubg}}\alph{enumi})  #1}%
    \fi%
    }
    Du vergleichst auf \@enumdepth, welche von Dir verwendete Umgebung sollte den verändern?
    Vllt suchst Du \@listdepth?

    Und wer oder was soll Dir den enumi-Zähler verändern? In Deinen Listen verwendest Du explizit eigens definierte Zähler...

    MfG
    Rainer
    There's nothing a good whack with a hammer won't fix!

  7. #7
    Registrierter Benutzer
    Registriert seit
    25.07.2010
    Beiträge
    31
    Ich habe ehrlich gesagt dieses Lösungsverzeichnis von einem Kollegen übernommen.
    Ich habe das Lösungsverzeichnis nun so verändert, dass es kein \ifnum mehr enthält:
    Code:
    \makeatletter
    \def\lsgl#1{ \ifabfrage{\lehrer}{ {\footnotesize {\textcolor{purple}{(#1)} } } }{}  
    \addcontentsline{los}{solution}{%
        \textbf{\arabic{ubg}}\alph{enumi})  #1}%
    }
    und gleichzeitig die eine Unterumgebung verändert in
    Code:
    \newenvironment{untauf}
       {\begin{enumerate}[label=\alph*)]}
       {\end{enumerate}}
    Funktioniert schon besser. Wie bekomme ich aber die Umgebung "uebung" ohne eigene Zähler hin, dass er automatisch durchnummeriert, auch wenn Unterbrechungen da sind?
    Zudem erscheinen meine "task"-Items immer noch nicht im Verzeichnis.

    Vielen Dank für weitere Hinweise, oder vielleicht habe ich den Hinweis von Dir, rais, nicht richtig verstanden.

  8. #8
    Registrierter Benutzer Avatar von rais
    Registriert seit
    18.07.2005
    Beiträge
    5.860
    Zitat Zitat von Moadin Beitrag anzeigen
    Wie bekomme ich aber die Umgebung "uebung" ohne eigene Zähler hin, dass er automatisch durchnummeriert, auch wenn Unterbrechungen da sind?
    als enumerate-Umgebung? AFAIK bietet das enumitem-Paket, das Du ja lädst, eine resume-Option.
    Zitat Zitat von Moadin Beitrag anzeigen
    Zudem erscheinen meine "task"-Items immer noch nicht im Verzeichnis.
    versuch es mal so:
    Code:
    \makeatletter
    \def\lsgl#1{ \ifabfrage{\lehrer}{ {\footnotesize {\textcolor{purple}{(#1)} } } }{}%
    \ifnum\@enumdepth<1
      \SaveCounterPattern[tasks]{\tmpa}{\tmpb}{tsk}% siehe `texdoc cntformats_en'
      \setcounter{enumi}{\tmpb}%
    \fi
    \addcontentsline{los}{solution}{%
        \textbf{\arabic{ubg}}\alph{enumi})  #1}%
    }
    wobei, wenn Du Deine uebung-Umgebung auf enumerate umstellst, müsstest Du hier vermutlich alle enumi durch enumii ersetzen, den Test auf \@enumdepth<2 ändern und für ubg wohl enumi einsetzen.

    MfG
    Rainer
    There's nothing a good whack with a hammer won't fix!

  9. #9
    Registrierter Benutzer
    Registriert seit
    25.07.2010
    Beiträge
    31
    Wow, es klappt mit Deiner Änderung. Vielen Dank.

    Ich werde nun auch noch versuchen die Umgebung uebung mit dem enumerate-Befehl zu machen. Das mit dem resume kenne ich natürlich. Habe ich auch in meiner Umgebung versucht anzuwenden, hat noch nicht geklappt. Werde es heute abend testen und mich wieder melden.

    Vielen Dank nochmals!!

    Moadin

  10. #10
    Registrierter Benutzer
    Registriert seit
    25.07.2010
    Beiträge
    31
    Ups, da habe ich mich wohl zu früh gefreut. Ich habe einen Fall herausgefunden, bei welchem diese Methode noch nicht klappt. Wahrscheinlich eine Kleinigkeit, aber ich sehe sie nicht.
    Wenn nach den Unteraufgaben nun eine Aufgabe ohne Unteraufgaben folgt, dann übernimmt die normale Aufgabe die Unteraufgabennummerierung der letzten Aufgabe. Dieser Fall war im Minimalbeispiel nicht abgebildet, jetzt schon:

    Code:
    \documentclass[paper=a4]{scrreprt}
    
    \usepackage[utf8]{inputenc}
    \usepackage[ngerman]{babel} 
    \usepackage{enumitem}
    \usepackage{tasks}
    \DeclareInstance{tasks}{alphabetize}{default}{} 
    \settasks{
    	item-indent={2.1em}
    	%counter-format={tsk[a])}
    }
    
    
    % If abfrage zur steuerung der skriptversion falls erster parameter = 0, dann schreib #2 sonst #3
    \def\ifabfrage#1#2#3{\def\test{#1}\ifnum\test=0#2\else#3\fi}
    
    
    
    %== Umgebung für Übungen
    \newcounter{ubg}
    \newcounter{ubg2}
    \newenvironment{uebung}{\begin{list}{\bfseries{} \arabic{ubg}.}{\usecounter{ubg}\setcounter{ubg}{\arabic{ubg2}}\setlength{\leftmargin}{2em}}}{\end{list}\vspace{2ex}\setcounter{ubg2}{\arabic{ubg}}} 
    
    
    
    %== Umgebung für Unteraufgaben der Übungen
    \newenvironment{untauf}
    	{\begin{enumerate}[label=\alph*)]}
    	{\end{enumerate}}
    	
    %====================================================================================
    
    %== Lösungen sind in den Befehl \lsgl{} einzuschliessen. Für jeden \lsgl{}-Befehl wird sogleich ein Eintrag ins Lösungsverzeichnis geschrieben. Das Lösungsverzeichnis trägt den Namen "Hauptfile"'.los (list of solutions). Das Lösungsverzeichnis wird an beliebiger Stelle im Dokument mit \listofsolutions erzeugt, analog zu \tableofcontents oder \listoffigures. 
    % Zuerst wird \lsgl definiert. Eintrag ins Lösungsverzeichnis in Abhängigkeit der Nummerierungstiefe
    \makeatletter
    \def\lsgl#1{ \ifabfrage{\lehrer}{ {\footnotesize {\textcolor{purple}{(#1)} } } }{}%
    \ifnum\@enumdepth<1
      \SaveCounterPattern[tasks]{\tmpa}{\tmpb}{tsk}% siehe `texdoc cntformats_en'
      \setcounter{enumi}{\tmpb}%
    \fi
    \addcontentsline{los}{solution}{%
        \textbf{\arabic{ubg}}\alph{enumi})  #1}%
    }
    
    
    %== Nun wird der Befehl \listofsolutions definiert
    \newcommand{\listofsolutions}{\newpage\twocolumn\chapter{Lösungsverzeichnis}%
         \@starttoc{los}}
    \addtocontents{los}{\protect}
    
    %== Hier kann das Lösungsverzeichnis formatiert werden
    \newcommand\l@solution{\@dottedtocline{1}{0em}{2.3em}}
    \makeatother
    
    
    % Schalter
    %---------
    % 1: erzeugt schuelerskript
    % 0: erzeugt lehrerskript
    \def\lehrer{1}
    
    
    
    \begin{document}
    
    \begin{uebung}
    
    \item Nur eine einzelne Testaufgabe \lsgl{Test}
    
    \item Bestimmen Sie die Anzahl Lösungen folgender Gleichungen:
        \begin{untauf}
    	\item $x^2+x+1=0$ \lsgl{keine Lösungen}
    	\item $x^2+2x+1=0$ \lsgl{eine Lösung}
    	\item $x^2+3x+1=0$ \lsgl{zwei Lösungen}
        \end{untauf}
    				
    \item Für welche Zahlen $k$ haben die Gleichungen keine Lösung, eine Lösung, bzw. zwei Lösungen?
        \begin{tasks}(3)
    	\task $x^2-3x+k=0$ \lsgl{$>2.25$; 2.25; $<2.25$}
    	\task $kx^2+6x+1=0$ \lsgl{$<9$; 9; $>9$}
    	\task $x^2-x-k=0$ \lsgl{$<-\frac{1}{4}$; $-\frac{1}{4}$; $>-\frac{1}{4}$}
    	\task $y^2+ky+1=0$ \lsgl{$-2k>2$}
    	\task $x^2+kx-2k^2=0$ \lsgl{$>0$; 0; $<0$}
    	\task $3k^2x^2+4kx+1=0$ \lsgl{$>0$; 0; $<0$}
        \end{tasks}
    				
    \item Ein paar schwierigere Aufgaben.
        \begin{tasks}(2)
    	\task $5z-3-2z(3z-4)=4$ \lsgl{$z_1=\frac{7}{6}$, $z_2=1$}
    	\task $\frac{1}{2}(x+1)^2=\frac{17}{8}-x$ \lsgl{$x_1=0.693$, $x_2=-4.693$}
    	\task $(x+1)(2x+3)=4x^2-22$ \lsgl{$x_1=5$, $x_2=-\frac{5}{2}$}
    	\task $(y-3)^2=2(y^2-9)$ \lsgl{$y_1=3$, $y_2=-9$}
    	\task $t(3t-7)-t+4=(t+2)^2$ \lsgl{$t_1=6$, $t_2=0$}
    	\task $(3x+5)^2-x(7x-5)=29x+45$ \lsgl{$x_1=2$, $x_2=-5$}
    	\task! $(3r-4)^2-4(4r-3)^2+(5r-2)(5r+2)=18(r+2)+3$ \lsgl{keine Lösung}
    	\task! $(1.4x+4)(1.4x-4)=(x-7)(x+3)+(x+2)(2x-3)$ \lsgl{$x_1=5$, $x_2=-2.115$}
        \end{tasks}
    
    \item Wie verändern sich die Lösungen der Gleichung $ax^2+bx+c=0$ , wenn \lsgl{Lösungen werden doppelt so gross}
    				
    \end{uebung}
    
    
    Ein Unterbruch um die fortlaufende Nummerierung zu zeigen
    
    
    \begin{uebung}
    
    \item Wie verändern sich die Lösungen der Gleichung $ax^2+bx+c=0$ , wenn 
        \begin{untauf}
    	\item $a$ halbiert und $c$ verdoppelt wird, \lsgl{Lösungen werden doppelt so gross}
    	\item $b$ verdoppelt und $a$ vervierfacht wird,\lsgl{Lösungen werden halb so gross}
    	\item $a$, $b$ und $c$ halbiert werden? \lsgl{Lösungen bleiben gleich gross}
        \end{untauf}
    
    \end{uebung}
    
     
    \listofsolutions
    
    \end{document}
    Ich sitze wahrlich auf dem Schlauch und wäre dankbar um einen Hinweis.

    Liebe Grüsse

    Moadin
    Geändert von Moadin (10-07-2015 um 00:19 Uhr)

  11. #11
    Registrierter Benutzer Avatar von rais
    Registriert seit
    18.07.2005
    Beiträge
    5.860
    Zitat Zitat von Moadin Beitrag anzeigen
    Wenn nach den Unteraufgaben nun eine Aufgabe ohne Unteraufgaben folgt, dann übernimmt die normale Aufgabe die Unteraufgabennummerierung der letzten Aufgabe. Dieser Fall war im Minimalbeispiel nicht abgebildet, jetzt schon:
    es wäre ja einfacher, wenn Du nur eine Art der Unternummerierung verwenden würdest.
    Wozu mischst Du `tasks' und `untauf' überhaupt?
    Wäre es nicht konsequenter, nur eine dieser beiden Umgebungen zu verwenden?

    Wie dem auch sei
    Code:
    \newcounter{altenumi}% um sich den alten Stand von enumi merken zu können
    \makeatletter
    \def\lsgl#1{ \ifabfrage{\lehrer}{ {\footnotesize {\textcolor{purple}{(#1)} } } }{}%
    \ifnum\@enumdepth<1
      \SaveCounterPattern[tasks]{\tmpa}{\tmpb}{tsk}% siehe `texdoc cntformats_en'
      \setcounter{enumi}{\tmpb}% enumi auf tsk setzen
      \ifnum\c@altenumi=\c@enumi % den gab es gerade schon mal
        \setcounter{enumi}{0}% enumi löschen
      \fi
    \fi
    \ifnum\c@enumi>0 % nur wenn enumi (noch) >0 ist
      \setcounter{altenumi}{\c@enumi}% enumi für nächsten Durchlauf merken
    \fi
    \addcontentsline{los}{solution}{%
        \textbf{\arabic{ubg}}\alph{enumi})  #1}%
    }
    könnte tun, was Du willst.;-)

    MfG
    Rainer
    There's nothing a good whack with a hammer won't fix!

  12. #12
    Registrierter Benutzer
    Registriert seit
    25.07.2010
    Beiträge
    31
    Hey Rais,

    tut genau das, was es soll. Du scheinst ja voll der Profi zu sein. Vielen Dank.

    Dein Hinweis bezüglich konsequenter Nutzung nur einer Umgebung ist berechtigt und ich versuche das umzusetzen. Verändert natürlich das Erstellen des Lösungsverzeichnis wieder. Ich fühle mich wie ein kleiner Junge, der von seinem Papi an der Hand genommen wird und ihm alles zeigt. Es hat mir da ein wenig zu viele @ drin, als dass ich das alleine herausfinden könnte.

    Ich lande immer wieder bei dem und das funktioniert nicht richtig (verwende nur noch tasks und habe die Umgebung 'untauf' gestrichen):
    Code:
    \makeatletter
    \def\lsgl#1{ \ifabfrage{\lehrer}{ {\footnotesize {\textcolor{purple}{(#1)} } } }{}%
    \ifnum\@enumdepth=0
        \addcontentsline{los}{solution}{%
        \textbf{\arabic{ubg}})  #1}%
    \else
        \addcontentsline{los}{solution}{%
        \textbf{\arabic{ubg}}\alph{tsk})  #1}%
    \fi
    }
    liebe Grüsse
    Geändert von Moadin (10-07-2015 um 00:44 Uhr)

  13. #13
    Registrierter Benutzer Avatar von rais
    Registriert seit
    18.07.2005
    Beiträge
    5.860
    Zitat Zitat von Moadin Beitrag anzeigen
    Dein Hinweis bezüglich konsequenter Nutzung nur einer Umgebung ist berechtigt und ich versuche das umzusetzen. Verändert natürlich das Erstellen des Lösungsverzeichnis wieder.
    Warum sollte sich das Erstellen des Lösungsverzeichnis dadurch ändern? Wenn es gerade mit `tasks' und `untauf' Ok war ... ?
    Zitat Zitat von Moadin Beitrag anzeigen
    Es hat mir da ein wenig zu viele @ drin, als dass ich das alleine herausfinden könnte.
    Falls Du die \c@... meinst, die könntest Du vermutlich durch \value{...} ersetzen -- aber Du nutzt doch bereits \makeatletter?
    Zitat Zitat von Moadin Beitrag anzeigen
    Ich lande immer wieder bei dem und das funktioniert nicht richtig (verwende nur noch tasks und habe die Umgebung 'untauf' gestrichen):
    Code:
    \makeatletter
    \def\lsgl#1{ \ifabfrage{\lehrer}{ {\footnotesize {\textcolor{purple}{(#1)} } } }{}%
    \ifnum\@enumdepth=0
        \addcontentsline{los}{solution}{%
        \textbf{\arabic{ubg}})  #1}%
    \else
        \addcontentsline{los}{solution}{%
        \textbf{\arabic{ubg}}\alph{tsk})  #1}%
    \fi
    }
    auf `tsk' kannst Du nicht direkt zugreifen, dafür war der \SaveCounterPattern-Befehl drin. Da Du den Kommentar dazu ebenfalls eliminiert hast, siehe `texdoc cntformats_en'.
    Davon abgesehen wirst Du damit wohl immer noch Probleme bekommen: Du baust den gerade zuvor von Dir monierten Umstand (was passiert bei einzelnem Aufgabenpunkt ohne tasks) wieder ein (zumindest sehe ich nicht, wie Du das abfangen willst).

    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
  •