goLaTeX - Mein LaTeX-Forum

Mein LaTeX-Forum


Login  | Registrieren
Direktlinks:
Zuletzt aktive Beiträge
Unbeantwortete Beiträge
[Erweitert]

Forenstatistik:
Beiträge: 99608
Top-Poster: Johannes_B (5059)

Wir begrüßen unseren neuesten Benutzer Kaleun.

Links:


Mit Unterstützung von DANTE e.V.: Deutschsprachige Anwendervereinigung TeX. Danke den Mitgliedern!





Forum
      Option
[Erweitert]
  • Diese Seite weiterempfehlen
     


Gehe zu:  
Neues Thema eröffnen Neue Antwort erstellen

Text genau umschließende Boxen um Überschriften

 

Caput_12
Forum-Anfänger
Forum-Anfänger

Beiträge: 11
Anmeldedatum: 14.06.16
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 24.03.2019, 01:09     Titel: Text genau umschließende Boxen um Überschriften
  Antworten mit Zitat      
Hi,

ich versuche, meine Überschriften einzurahmen. Probiert habe ich das bislang mit a) mdframed und b)fbox in Verbindung mit titlesec, aber a) liegt einfach nicht eng an und b) lässt sich gar nicht erst umsetzen, da titlesec nur diese normalen Befehle ohne {} akzeptiert.
Als dritte Variante habe ich auch probiert, mit /newcommand einen zweiten section-Befehl zu erstellen, wieder mit fbox. Hier war das Problem jedoch, dass die Box erst hinter der Sectionzahl anfing.

Ein kleines Beispiel, wie es aussehen soll:



In der endgültigen Version soll chapter dann dreifach umrahmt, section zweifach und subsection einfach umrahmt sein. Aber das bekomme ich dann auch selber hin.

Beste Grüße
Caput

Beispiel.PNG
 Beschreibung:

Download
 Dateiname:  Beispiel.PNG
 Dateigröße:  97.37 KB
 Heruntergeladen:  256 mal
Private Nachricht senden Benutzer-Profile anzeigen

Bartman
Forum-Meister
Forum-Meister


Beiträge: 1865
Anmeldedatum: 16.07.09
Wohnort: Hessische Provinz
Version: ---
     Beitrag Verfasst am: 24.03.2019, 01:40     Titel:
  Antworten mit Zitat      
Warum zeigst Du nicht an einem Beispiel, was Du bisher erreicht hast und was nicht?
Private Nachricht senden Benutzer-Profile anzeigen

Caput_12
Forum-Anfänger
Forum-Anfänger

Beiträge: 11
Anmeldedatum: 14.06.16
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 24.03.2019, 02:03     Titel:
  Antworten mit Zitat      
Weil ich leider alles in einem Dokument gemacht habe, zwischendurch nicht gespeichert habe und zur Reproduktion die entsprechenden Threads wiederfinden müsste, aus denen ich zusammenkopiert habe 🙈 Da würde ich nen halben Tag dran sitzen, um das zu reproduzieren 😅

Edit: Kann als Minimalbeispiel ja zumindest meinen aktuellen Code bereitstellen

Code
\documentclass[a4paper]{article}

\usepackage{titlesec}
\usepackage{mdframed}
\usepackage{lipsum}

\begin{document}

\section{Section 1}

\lipsum[1]

\section{Section 2}

\lipsum[2]

\end{document}
 


Edit2: Die mdframed-Lösung bekomme ich auch noch reproduziert
Code
\begin{mdframed}
\section{Section 1}
\end{mdframed}
Private Nachricht senden Benutzer-Profile anzeigen

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 24.03.2019, 10:59     Titel:
  Antworten mit Zitat      
Caput_12 hat Folgendes geschrieben:
In der endgültigen Version soll chapter dann dreifach umrahmt, section zweifach und subsection einfach umrahmt sein. Aber das bekomme ich dann auch selber hin.

Soll das für alle Überschriften oder nur für einzelne so sein?
Soll der Rahmen über die ganze Textbreite oder nur über die Breite der Überschrift gehen (nach dem Bild vermutlich letzteres)?
Wie soll das bei mehrzeiligen Überschriften sein?
Muss es mit article und titlesec sein oder darf es auch ein anderes Paket wie sectsty sein oder kann man auch gleich eine Klasse verwenden, die selbst die Änderung der Überschriftenformatierung unterstützt?

Eine persönliche Bemerkung sei mir erlaubt: Solche Trauerränder finde ich eher hässlich. Außerdem sollte man darauf achten, dass die nicht zu dicht am Text anliegen, sonst beeinflusst es auch noch die Lesbarkeit. Man sollte bei Design ja auch etwas Rücksicht auf Menschen mit diversen Sehfehlern nehmen. Ganz besonders hässlich wird es außerdem, wenn die Abstände wie in deinem Beispiel ungleichmäßig sind (vor der ersten 1 ist kleiner als nach der zweiten 1, bei der zweiten Überschrift ist das noch viel krasser).

Caput_12
Forum-Anfänger
Forum-Anfänger

Beiträge: 11
Anmeldedatum: 14.06.16
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 24.03.2019, 12:53     Titel:
  Antworten mit Zitat      
Anonymous hat Folgendes geschrieben:

Soll das für alle Überschriften oder nur für einzelne so sein?


Für alle in diesem Dokument.

Anonymous hat Folgendes geschrieben:

Soll der Rahmen über die ganze Textbreite oder nur über die Breite der Überschrift gehen (nach dem Bild vermutlich letzteres)?


Letzteres, deshalb das Beispielbild. Mit mdframed hätte ich ja bereits eine Lösung für die gesamte Textbreite, das möchte ich aber nicht.

Anonymous hat Folgendes geschrieben:

Wie soll das bei mehrzeiligen Überschriften sein?


Die sollen dann im Ganzen durch eine Box umschlossen sein. Es kann aber davon ausgegangen werden, dass ich die Überschriften kurz genug fasse, dass sie einzeilig bleiben. Ist mir per Hand bislang auch immer gut gelungen, ohne zu quetschen.

Anonymous hat Folgendes geschrieben:

Muss es mit article und titlesec sein oder darf es auch ein anderes Paket wie sectsty sein oder kann man auch gleich eine Klasse verwenden, die selbst die Änderung der Überschriftenformatierung unterstützt?


Was auch immer hilft, das Problem zu lösen, ist willkommen Smile

Anonymous hat Folgendes geschrieben:

Eine persönliche Bemerkung sei mir erlaubt: Solche Trauerränder finde ich eher hässlich. Außerdem sollte man darauf achten, dass die nicht zu dicht am Text anliegen, sonst beeinflusst es auch noch die Lesbarkeit. Man sollte bei Design ja auch etwas Rücksicht auf Menschen mit diversen Sehfehlern nehmen. Ganz besonders hässlich wird es außerdem, wenn die Abstände wie in deinem Beispiel ungleichmäßig sind (vor der ersten 1 ist kleiner als nach der zweiten 1, bei der zweiten Überschrift ist das noch viel krasser).


Die bekommt auch außer mir vermutlich niemand zu sehen. Es geht nur darum, Lernzettel zu produzieren. Da haben sich bei mir diese (mehrfachen) Einkästelungen der Überschriften als besonders übersichtlich herausgestellt. Schön muss es nicht sein, ich will nur schnell mit einem Blick sehen, was welcher Teil enthält und daher die Überschriften besonders stark hervorheben.

Die besondere Hässlichkeit in meinem Beispiel kommt daher, dass ich die Kästen mit Paint eingefügt habe. Symmetrie in den Abständen ist mir da natürlich auch wichtig, aber das leistet vermutlich jede Lösung.
Private Nachricht senden Benutzer-Profile anzeigen

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 24.03.2019, 13:19     Titel:
  Antworten mit Zitat      
Wenn die Überschrift ohnehin nur einzeilig ist, geht das mit KOMA-Script-Klassen extrem einfach:
Code
\documentclass[a4paper]{scrartcl}

\usepackage{lipsum}

\makeatletter
\renewcommand*{\sectionlinesformat}[4]{%
  \ifstr{#1}{section}{% nur für \section:
    \fbox{\hskip #2#3#4}% einzeilig in eine Box packen
  }{%
    \ifstr{#1}{subsection}{% nur für subsection
      \fbox{\fbox{\hskip #2#3#4}}% einzeilig in zwei Boxen packen
    }{% sonst
      \@hangfrom{\hskip #2#3}{#4}% Originaldefinition
    }%
  }%
}
\makeatother

\begin{document}

\section{Section 1}

\lipsum[1]

\section{Section 2}

\lipsum[2]

\subsection{Subsection 1}


\end{document}

Wenn die Überschriften mehrzeilig sein dürfen, muss man in der \fbox zusätzlich eine varwidth-Umgebung o. ä. verwenden:
Code
\documentclass[a4paper]{scrartcl}

\usepackage{lipsum}
\usepackage{varwidth}

\makeatletter
\renewcommand*{\sectionlinesformat}[4]{%
  \ifstr{#1}{section}{% nur für \section:
    \fbox{\begin{varwidth}{\dimexpr\linewidth-2\fboxsep-2\fboxrule\relax}\raggedsection\@hangfrom{\hskip #2#3}{#4}\end{varwidth}}% mehrzeilig in eine Box packen
  }{%
    \ifstr{#1}{subsection}{% nur für subsection
      \fbox{\fbox{\begin{varwidth}{\dimexpr\linewidth-2\fboxsep-2\fboxrule\relax}\raggedsection\@hangfrom{\hskip #2#3}{#4}\end{varwidth}}}% mehrzeilig in zwei Boxen packen
    }{% sonst
      \@hangfrom{\hskip #2#3}{#4}% Originaldefinition
    }%
  }%
}
\makeatother

\begin{document}

\section{Section 1}

\lipsum[1]

\section{Section 2 mir mehr als einer Zeile Text, damit man auch das einmal
  gesehen hat
}

\lipsum[2]

\subsection{Subsection 1}


\end{document}
 

Mit titlesec kann man vermutlich entsprechendes machen. Aber damit kenne ich mich nicht aus.

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 24.03.2019, 13:21     Titel:
  Antworten mit Zitat      
PS: Im subsection-Fall müssen natürlich von der Breite 4\fboxsep und 4\fboxrule statt jeweils nur 2 abgezogen werden.

Caput_12
Forum-Anfänger
Forum-Anfänger

Beiträge: 11
Anmeldedatum: 14.06.16
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 24.03.2019, 15:49     Titel:
  Antworten mit Zitat      
Schon einmal vielen Dank für die Hilfe, das hat mir sehr, sehr viel weitergeholfen!

Ich habe den Code versucht, noch auf mein genaueres Anforderungsprofil anzupassen. Fragen:
1. Warum muss ich auf /hskip verzichten, damit chapterlinesformat funktioniert?
2. Wie bekomme ich bei den Chapters auch noch den Zeilenumbruch hin? Habe zwar gesagt, dass ich das eigentlich nicht brauche, aber da das bei den Sections funktioniert, hätte ich das nun auch der Vollständigkeit halber gerne bei den Chapter Very Happy

Zudem muss ich noch ein weiteres Problem lösen, zu dem ich nicht einmal vernünftige Suchbegriffe finde. Soll ich dazu einen neuen Thread erstellen? Ich beschreibe es dennoch kurz: Das ganze Seitendesign soll ähnlich wie verschachtelte Listen angeordnet sein. Also Chapterüberschrift und nachfolgender Text stehen ganz links am Rand, also so wie immer. Ab einem Sectiontitel soll aber alles etwas einrücken (z.B. 1cm). Subsections widerum werden noch weiter eingerückt (z.B. einen weiteren cm). Alles jeweils inklusive Überschrift und global festgelegt.


Code
\documentclass[a4paper]{scrreprt}

\usepackage{lipsum}
\usepackage{varwidth}

\makeatletter

\renewcommand*{\chapterlinesformat}[3]{%
  \fbox{\fbox{\fbox{\begin{varwidth}{\dimexpr\linewidth-6\fboxsep-6\fboxrule\relax}\raggedsection\@hangfrom{#2#3}{}\end{varwidth}}}}
}

\renewcommand*{\sectionlinesformat}[4]{%
  \ifstr{#1}{section}{% nur für \section:
    \fbox{\fbox{\begin{varwidth}{\dimexpr\linewidth-4\fboxsep-4\fboxrule\relax}\raggedsection\@hangfrom{\hskip #2#3}{#4}\end{varwidth}}}% mehrzeilig in zwei Boxen packen
  }{%
    \ifstr{#1}{subsection}{% nur für subsection
      \fbox{\begin{varwidth}{\dimexpr\linewidth-2\fboxsep-2\fboxrule\relax}\raggedsection\@hangfrom{\hskip #2#3}{#4}\end{varwidth}}% mehrzeilig in eine Box packen
    }{% sonst
      \@hangfrom{\hskip #2#3}{#4}% Originaldefinition
    }%
  }%
}
\makeatother

\begin{document}

\chapter{Ch. 1}

\section{Section 1}

\lipsum[1]

\section{Section 2 mir mehr als einer Zeile Text, damit man auch das einmal gesehen hat}

\lipsum[2]

\subsection{Subsection 1 mit zwei Zeilen Text um zu sehen, wie das aussieht wenn das mal passiert}


\chapter{Ch. 2 wenn man es ganz ganz ganz ganz super mega lang macht}

\lipsum[3]

\section{Section 1 mir mehr als einer Zeile Text, damit man auch das einmal gesehen hat}

\end{document}

 
Private Nachricht senden Benutzer-Profile anzeigen

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 24.03.2019, 16:04     Titel:
  Antworten mit Zitat      
\chapterlinesformat hat gar kein Argument für einen Einzug. Also wäre auch das \hskip fehl am Platz. Siehe dazu auch die Erklärung von \chapterlinesformat in der KOMA-Script-Anleitung. Ebenso sollte man bei \chapterlinesformat natürlich nicht \raggedsection, sondern \raggedchapter verwenden. Und natürlich gehört #3 dann auch nicht mit in das Argument von \@hangfrom. Vgl. auch hier die Voreinstellung in der Erklärung zu \chapterlinesformat in der Anleitung.

Neue Frage bitte immer als neue Frage stellen! Wobei ich dir schon jetzt verraten kann, dass das nicht unproblematisch ist. Generell erinnert das Layout dann eher an refman, wobei auch dort nicht unterschiedliche Einrückungen für unterschiedliche Ebenen verwendet werden. Ich betrachte auch das als eher abstruse Anforderung.

Der Status Rückfrage ist übrigens Helfern vorbehalten.

Caput_12
Forum-Anfänger
Forum-Anfänger

Beiträge: 11
Anmeldedatum: 14.06.16
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 24.03.2019, 17:02     Titel:
  Antworten mit Zitat      
Anonymous hat Folgendes geschrieben:
\chapterlinesformat hat gar kein Argument für einen Einzug. Also wäre auch das \hskip fehl am Platz. Siehe dazu auch die Erklärung von \chapterlinesformat in der KOMA-Script-Anleitung. Ebenso sollte man bei \chapterlinesformat natürlich nicht \raggedsection, sondern \raggedchapter verwenden. Und natürlich gehört #3 dann auch nicht mit in das Argument von \@hangfrom. Vgl. auch hier die Voreinstellung in der Erklärung zu \chapterlinesformat in der Anleitung.


Also \sectionlinesformats drittes und viertes Argument sind \chapterlinesformats zweites und drittes Argument. Verstanden. Dann müsste folgendes ja die Lösung sein:
Code
\renewcommand*{\chapterlinesformat}[3]{%
  \fbox{\fbox{\fbox{\begin{varwidth}{\dimexpr\linewidth-6\fboxsep-6\fboxrule\relax}\raggedchapter\@hangfrom{#2}{#3}\end{varwidth}}}}
}

Das gibt aber
Code
! You can't use `\vadjust' in internal vertical mode.
\par ->\relax \ifhmode \unskip \fi \vadjust
                                            {\hbox {\kern \hangindent \kern ...


Anonymous hat Folgendes geschrieben:

Der Status Rückfrage ist übrigens Helfern vorbehalten.


Sorry 🙈
Private Nachricht senden Benutzer-Profile anzeigen

Neues Thema eröffnen Neue Antwort erstellen



Options and Permissions
Beiträge der letzten Zeit anzeigen:

Du kannst Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.
Du kannst Dateien in diesem Forum nicht posten
Du kannst Dateien in diesem Forum herunterladen
.

goLaTeX ist Teil der goForen
goForen.de goMATLAB.de goLaTeX.de


  Datenschutzerklärung | Impressum | FAQ | goLaTeX RSS Button RSS-Feed

Copyright © 2008 - 2019 goLaTeX.de