Anzeige:
Ergebnis 1 bis 10 von 10

Thema: Nummerierung und Absatz in eigener Umgebung

  1. #1
    Registrierter Benutzer
    Registriert seit
    13.03.2007
    Beiträge
    154

    Nummerierung und Absatz in eigener Umgebung

    Hallo, habe zwei kurze Fragen zu selbst definierten Umgebungen/Befehlen:

    1.) Ist es möglich, folgende Umgebung gemäß section ihres Auftretens zu nummerieren, also z.B. einen Exkurs in section 5 als "Exkurs 5.1" auszugeben (so wie bei der Formelnummerierung je section)?
    Code:
    \documentclass{article}
    \usepackage{color}
    \definecolor{hellGrau}{rgb}{0.6,0.6,0.6}
    
    \newenvironment{exkurs}[2]{
    	\noindent 
    	\setlength{\fboxrule}{1pt}
    	\setlength{\fboxsep}{6pt}
    	\fcolorbox{hellGrau}{white}{
    		\parbox{400pt}{
    			\textbf{\textsf{Exkurs}} ({#1})\smallskip\\ {#2}
    		}
    	}
    }
    
    \begin{document}
    \exkurs{headline}{%
      text
    }
    2.) Wenn ich den text in der Exkurs-Umgebung mit \note{merktext} beginne, dann wird vor Beginn von Note immer ein Absatz gesetzt. Mit beiden Kommandos an sich habe ich sonst keine Probleme. An welchem von beiden liegt das denn?
    Code:
    \renewcommand{\note}[1]{
    \begin{basedescript}{
    	\desclabelwidth{1.5cm}\desclabelstyle{\multilinelabel}
    	\renewcommand{\makelabel}[1]{##1}} 	%
    	\item[\textsf{\color{blackGray}Note: }] {#1}
    \end{basedescript}}
    Vielen Dank.

  2. #2
    Registrierter Benutzer Avatar von bobmalaria
    Registriert seit
    28.11.2006
    Ort
    Düsseldorf
    Beiträge
    4.174
    hi,

    zu 1)

    Code:
    \documentclass{article}
    \usepackage{color}
    \definecolor{hellGrau}{rgb}{0.6,0.6,0.6}
    
    %neuer counter
    \newcounter{exkursc}
    %zurücksetzen des counters bei jeder neuen section
    \makeatletter
      \@addtoreset{exkursc}{section}
    \makeatother
    
    \newenvironment{exkurs}[2]{
    	\noindent 
    	\setlength{\fboxrule}{1pt}
    	\setlength{\fboxsep}{6pt}
    	\fcolorbox{hellGrau}{white}{
    		\parbox{400pt}{
    			\textbf{\textsf{Exkurs: \thesection.\theexkursc}\stepcounter{exkursc}} ({#1})\smallskip\\ {#2}
    		}
    	}
    }
    
    \begin{document}
    \section{bla}
    \exkurs{headline}{%
      text
    }
    \section{blubb}
    \exkurs{headline}{%
      text
    }
    \end{document}
    zu 2) wo wird den note definiert?
    Mein Ball ist umgefallen

  3. #3
    Registrierter Benutzer
    Registriert seit
    13.03.2007
    Beiträge
    154
    zu 1.) Danke, fängt aber leider bei #.0 zu zählen an, wie kann man das auf #.1 ändern?
    Wie kann ich im Text auf den Exkurs verweisen?
    Code:
    \exkurs{headline}{\label{...}text}
    \ref{...}
    und
    Code:
    \exkurs{\label{...}headline}{text}
    \ref{...}
    führen beide dazu, dass z.B. 4.1 an Stelle von 4.2 angezeigt wird.

    zu 2.) Soweit ich mich erinnere ist der Befehl vordefinert, daher habe ich ihn einfach überschrieben...
    Geändert von razoor (13-09-2009 um 17:47 Uhr)

  4. #4
    Registrierter Benutzer
    Registriert seit
    19.05.2009
    Beiträge
    4.045
    zu 1.) Danke, fängt aber leider bei #.0 zu zählen an, wie kann man das auf #.1 ändern?
    Wie kann ich im Text auf den Exkurs verweisen?
    \refstepcounter statt \stepcounter, und den Befehl weiter nach vorne verschieben.

  5. #5
    Registrierter Benutzer
    Registriert seit
    13.03.2007
    Beiträge
    154
    zu 1.)
    Zitat Zitat von u_fischer Beitrag anzeigen
    \refstepcounter statt \stepcounter, und den Befehl weiter nach vorne verschieben.
    Danke, habe es jetzt folgendermaßen geändert:
    Code:
    \newenvironment{exkurs}[2]{
    	\noindent 
    	\setlength{\fboxrule}{1pt}
    	\setlength{\fboxsep}{6pt}
    	\fcolorbox{hellGrau}{white}{
    		\parbox{400pt}{
    		\refstepcounter{exkursc}
    		\textbf{\textsf{Exkursion}{\small~\thesection.\theexkursc}} ({#1})\smallskip\\ {#2}
    		}
    	}
    }
    Problem ist mit dem neuen counter jedoch, dass beim referenzieren jetzt nur noch 1 anstatt #.1 angezeigt wird. Wo müssen \label und \ref nun hin?

  6. #6
    Registrierter Benutzer Avatar von rais
    Registriert seit
    18.07.2005
    Beiträge
    5.863
    Moin moin,
    Zitat Zitat von razoor Beitrag anzeigen
    Problem ist mit dem neuen counter jedoch, dass beim referenzieren jetzt nur noch 1 anstatt #.1 angezeigt wird. Wo müssen \label und \ref nun hin?
    Warum schaust Du Dir nicht eine LaTeX-Einführung Deiner Wahl an? Da sollte sowas drinstehen ...

    MfG
    Geändert von rais (14-09-2009 um 08:53 Uhr) Grund: gar nicht geschaltet ;(
    Rainer
    There's nothing a good whack with a hammer won't fix!

  7. #7
    Registrierter Benutzer
    Registriert seit
    13.03.2007
    Beiträge
    154
    Da ich nun weis, dass \refstepcounter den aktuellen ref-value auf den eigenen counter setzt, ist mir nun klar, warum nur noch 1 an Stelle von#.1 angezeigt wurde.

    Nach wie vor ist mir jedoch unklar, wie ich das Problem löse. Habe z.B. folgendes probiert, um die counter "wieder zusammenzusetzen", jedoch ohne Erfolg.
    Code:
    \stepcounter{exkursc}
    \setcounter{exkursc}{\value{section}.\value{exkursc}}
    Wie muss man es denn nun machen?

  8. #8
    Registrierter Benutzer
    Registriert seit
    19.05.2009
    Beiträge
    4.045
    \label speichert die Ausgabe von \theexkursc. Also musst du sowas machen, wenn \ref auch die Sectionnummer ausgeben soll:

    \documentclass{article}
    \newcounter{exkursc}
    \renewcommand\theexkursc{Ich bin exkursc Nr. \arabic{exkursc} aus section \thesection.}
    \begin{document}
    \section{Test}
    \refstepcounter{exkursc}\label{test}

    \ref{test}
    \end{document}

  9. #9
    Registrierter Benutzer
    Registriert seit
    13.03.2007
    Beiträge
    154
    Zitat Zitat von u_fischer Beitrag anzeigen
    \label speichert die Ausgabe von \theexkursc. Also musst du sowas machen, wenn \ref auch die Sectionnummer ausgeben soll:

    \documentclass{article}
    \newcounter{exkursc}
    \renewcommand\theexkursc{Ich bin exkursc Nr. \arabic{exkursc} aus section \thesection.}
    \begin{document}
    \section{Test}
    \refstepcounter{exkursc}\label{test}

    \ref{test}
    \end{document}
    Dankeschön, das hat geholfen !

    Kann mir auch noch jemand beim 2. Problem (die Abstände) helfen?

  10. #10
    Registrierter Benutzer
    Registriert seit
    19.05.2009
    Beiträge
    4.045
    Da musst du schon ein vollständiges Beispiel machen.

    Achte übrigens mehr auf Leerzeichen + Zeilenumbrüche nach Klammern, die können leicht zu unerwünschten Leerzeichen im Text führen. Deaktiviere sie mit einem Kommentarzeichen:
    {%
    weiter

    und

    }%
    weiter

Lesezeichen

Berechtigungen

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