Anzeige:
Ergebnis 1 bis 12 von 12

Thema: Block unter \paragraph einrücken

  1. #1
    Registrierter Benutzer
    Registriert seit
    09.03.2009
    Beiträge
    93

    Block unter \paragraph einrücken

    Hallo!

    Ich habe mit der Klasse article ein Dokument erstellt und \paragraph zur Gliederung der Abschnitte verwendet (d.h. Überschriften ohne Nummerierung). Damit der Text nach der Überschrift in einer neuen Zeile anfängt habe ich diesen Code genommen:

    Code:
    \makeatletter
    \renewcommand{\paragraph}
      {\@startsection{paragraph}{4}{\z@}
      {-3.25ex\@plus -1ex \@minus -.2ex}
      {1.5ex \@plus .2ex}
      {\normalfont\normalsize\bfseries}
    }
    \makeatother
    Jetzt hätte ich über den gesamten Block links aber gerne einen kleinen Einzug (ca 1cm), damit Überschrift und Text links NICHT bündig sind. Also nicht nur in der ersten Zeile, sondern komplett bei allem Text, Aufzählungen und dwas sonst noch so folgt.

    Mit \parindent hat das offenbar nichts zu tun (keine Wirkung). Wie könnte ich das global umdefinieren damit ich nicht jeden Block manuell einrücken muss?

    tnx & cu
    Bernd

  2. #2
    Registrierter Benutzer Avatar von Stefan_K
    Registriert seit
    05.04.2007
    Ort
    Hamburg
    Beiträge
    3.534

    \@startsection und Einzug

    Hallo Bernd,

    um den Einzug zu erreichen, kannst Du den 4. Parameter von \@startsection ändern:
    Code:
    \renewcommand{\paragraph}
      {\@startsection{paragraph}{4}{\z@}
      {3.25ex\@plus 1ex \@minus .2ex}
      {1.5ex \@plus .2ex}
      {\normalfont\normalsize\bfseries}
    }
    Viele Grüße,

    Stefan


    --
    TeXblog

  3. #3
    Registrierter Benutzer
    Registriert seit
    09.03.2009
    Beiträge
    93
    Hallo Stefan bist du sicher?

    Habe alle Parameter druchprobiert aber nicht das erreicht was ich wollte. Das \@z ändert den linken Einzug der Überschrift (nicht des Blocks danach), das 3.25ex \@plus 1ex \@minus .2ex gibt den Freiraum über der Überschrift an und das 1.5ex \@plus .2ex den Platz unten drunter. Wenn ich in das \normalfont\normalsize\bfseries noch ein \hspace packe, ändert sich auch nur die Überschrift selbst.

    Ich will aber den Block dadrunter (also den Text des Absatz von links eingerückt haben ==> Einzug). Haben wir uns evtl. mißverstanden?

    Zu den Parametern von \startsection habe ich auch das hier gefunden:
    http://help-csli.stanford.edu/tex/la....shtml#section

  4. #4
    Registrierter Benutzer Avatar von Stefan_K
    Registriert seit
    05.04.2007
    Ort
    Hamburg
    Beiträge
    3.534

    Einzug mit \@startsection

    Ja, ich bin sicher. Das Vorzeichen entscheidet über den Einzug. Das steht sogar auf der Seite, die Du verlinkt hast:
    % BEFORESKIP : Absolute value = skip to leave above the heading.
    % If negative, then paragraph indent of text following
    % heading is suppressed.
    Stefan

  5. #5
    Registrierter Benutzer
    Registriert seit
    09.03.2009
    Beiträge
    93
    Mmmh also wenn ich den Wert auf sagen wir 5.0cm setze, dann ist zwischen Überschrift und Text ganz viel frei, aber links ist noch alles bündig. Mache ich den Wert auf -5.0cm fängt der Text schon in der Zeile mit der Überschrift an (also direkt dahinter), ist aber bei einem Umbruch noch immer links genauso weit eingerückt wie die Überschrift. :-?

  6. #6
    Registrierter Benutzer Avatar von Stefan_K
    Registriert seit
    05.04.2007
    Ort
    Hamburg
    Beiträge
    3.534

    \paragraph mit Einrückung

    Teste den Code doch einfach mal ... hat das denn bei Dir nicht die gewünschte Wirkung? Hier ein Minimalbeispiel:
    Code:
    \documentclass[a4paper,10pt]{article}
    \makeatletter
    \renewcommand{\paragraph}
      {\@startsection{paragraph}{4}{\z@}
      {3.25ex\@plus 1ex \@minus .2ex}
      {1.5ex \@plus .2ex}
      {\normalfont\normalsize\bfseries}
    }
    \makeatother
    \begin{document}
    \paragraph{Test}
    Dies ist ein eingerückter Text.
    \end{document}
    Stefan

  7. #7
    Registrierter Benutzer
    Registriert seit
    09.03.2009
    Beiträge
    93
    Das bewirkt nur den üblichen Einzug der ersten Zeile, es soll aber der komplette Block eingerückt werden (mit allen Aufzählungen usw). Mit deinem Code ist das alles noch bündig mit der Überschrift:

    Code:
    \documentclass[a4paper,10pt]{article}
    \makeatletter
    \renewcommand{\paragraph}
      {\@startsection{paragraph}{4}{\z@}
      {3.25ex\@plus 1ex \@minus .2ex}
      {1.5ex \@plus .2ex}
      {\normalfont\normalsize\bfseries}
    }
    \makeatother
    \begin{document}
    
    \section{Test}
    
    \paragraph{Test}
    
    Dies ist ein eingerückter Text. \\
    Und noch eine Zeile.
    
    \begin{itemize}
      \item Foo
      \item Bar
    \end{itemize}
    
    \end{document}
    Im Anhang hab ich mit OpenOffice eine Skizze gemacht wie's aussehen soll (rechts) und wie es momentan ist (links). Evtl. ist der Begriff "Einzug" mißverständlich. Hier ist nicht der typ. Einzug der ersten Zeile im Absatz gemeint sondern die Einrückung des ganzen folgenden Textblocks.

  8. #8
    Registrierter Benutzer Avatar von Stefan_K
    Registriert seit
    05.04.2007
    Ort
    Hamburg
    Beiträge
    3.534

    Einrückung nach \paragraph

    Ach so, eine gesamte Einrückung... das ginge mit der addmargin-Umgebung von KOMA-Script, also entsprechend in scrartcl, was ich sowieso bevorzugen würde, oder durch Änderung von \leftskip.
    Damit könnte man es sich programmieren.

    Stefan

  9. #9
    Registrierter Benutzer
    Registriert seit
    09.03.2009
    Beiträge
    93
    Einen einzelen Abschnitt einzurücken ist noch rel. trivial, aber wie ändere ich den Einzug *aller* Paragraphen ohne es jedes mal explizit anzugeben? Gibt es für Abschnitte auch sowas wie Environments, die man umdefinieren kann?

  10. #10
    Registrierter Benutzer Avatar von Stefan_K
    Registriert seit
    05.04.2007
    Ort
    Hamburg
    Beiträge
    3.534

    Einrückungen im Text

    Hier merkt man, dass es etwas nachteilig ist, dass Gliederungsabschnitte nicht Umgebungen sind, die automatisch den Geltungsbereich von Redefinitionen o.ä. einschränken. Man kann natürlich \paragraph so definieren, dass man die Einrückung anschaltet, und jeweils am Ende ein selbst-definiertes \endparagraph o.ä. einfügen, dass die Einrückung aufhebt.
    Irgendwann stellt sich natürlich die Frage, wenn es umständlich wird und nicht einfach durch vorhandene Features oder wenigstens Zusatzpakete abgedeckt wird, ob der eigene Layout-Wunsch nicht doch so unüblich scheint, dass man auf gängige Formatierungen zurückgeht. Oder siehst Du öfter solche Einrückungen in Publikationen bzw. Büchern? Warum sollte man sich den Rand so zerfleddern?

    Stefan

  11. #11
    Registrierter Benutzer
    Registriert seit
    09.03.2009
    Beiträge
    93
    Zitat Zitat von Stefan_K Beitrag anzeigen
    (...) ob der eigene Layout-Wunsch nicht doch so unüblich scheint, dass man auf gängige Formatierungen zurückgeht. Oder siehst Du öfter solche Einrückungen in Publikationen bzw. Büchern?
    Hab ich auch schon überlegt. Aber ich habe eine Art Formular mit Beschreibungen + Inhalten und da wäre eine Einrückung m.E. optisch etwas gefälliger.

    Also z.B. so:

    Code:
    Hersteller
       Ford
    
    Modell
       Focus RS
    
    Motorleistung
       158 kW (215 PS)

  12. #12
    Registrierter Benutzer Avatar von Stefan_K
    Registriert seit
    05.04.2007
    Ort
    Hamburg
    Beiträge
    3.534

    Einzüge

    Das sieht doch nach einer description list aus. Hier ein Vorschlag mit enumitem:
    Code:
    \documentclass[a4paper,10pt]{scrartcl}
    \usepackage[ngerman]{babel}
    \usepackage{blindtext}
    \usepackage{enumitem}
    \begin{document}
    \begin{description}[font=\bfseries, leftmargin=1cm,style=nextline]
      \item[Hersteller] ~\\ Ford
      \item[Modell] ~\\ Focus RS
      \item[Motorleistung] ~\\ 158 kW (215 PS)
      \item[mehr Text] ~\\\blindtext
    \end{description}
    \end{document}
    Stefan

Lesezeichen

Berechtigungen

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