Anzeige:
Ergebnis 1 bis 6 von 6

Thema: gleitende Infobox von Text umflossen

  1. #1
    Registrierter Benutzer
    Registriert seit
    26.07.2008
    Ort
    Dresden
    Beiträge
    136

    gleitende Infobox von Text umflossen

    ich möchte eine gleitende Infobox zaubern, die etwa ein Drittel der Textweite einnimmt. Ich müsste also wrapfigure und float kombinieren. Leider gelingt mir dies nicht.
    Hier ist der Code mit float:
    Code:
    \documentclass{scrartcl}
    \usepackage{float}
    \floatstyle{boxed}
    \newfloat{infobox}{tbp}{lop}[section]
    
    \newcommand{\info}[2]{\begin{infobox}{\bfseries #1}\\#2\end{infobox}}
    
    \begin{document}
    \info{wert}{Inhalt}
    \end{document}
    Alternativ habe ich auch eine Lösung mit picins gefunden, wobei leider zwei nahegelegene Boxen übereinander überschrieben werden:
    Code:
    \documentclass{scrartcl}
    \usepackage{picins}                 
    \newcommand{\infobox}[2]{
        \parpic(0.34\textwidth,0pt)[lf]{
            \parbox[b]{0.32\textwidth}{
                 \bigskip {\bf #1}  \small{{{\sffamily #2}}} \bigskip
            }
        }
        \bigskip
    }
    \begin{document}
    infobox{XSLT}{
        XSLT is a stylesheet language that can parse XML files and transform them. The output will be another text file, possibly XML. It offers a lot of capabilities as it is a fully functional programming language.\\
        Like XML, XSLT has also been specified by the W3C consortium.   
      }
    \end{document}

  2. #2
    Registrierter Benutzer
    Registriert seit
    09.07.2004
    Beiträge
    2.365
    Vielleicht so

    Code:
    \documentclass[paper=a4,pagesize,10pt]{scrartcl}
    \usepackage{lipsum}
    
    %%% ---------------------------------------------
    %%% wraptextureframe
    %%% ---------------------------------------------
    \usepackage{xcolor,calc,fancybox}
    \usepackage{wrapfig}
    % \wraptextureframe{Höhe_in_Zeilen}{Breite}{Text}
    % #1 Hoehe (Anzahl der Zeilen) und fixe_Breite
    % #2 Text
    
    \newcommand{\wraptextureframe}[2]{%
      \begin{wrapfigure}[#1]{r}{.3\textwidth}
        \begin{Sbox}
          \begin{minipage}{.3\textwidth-1em}
            \small\slshape#2%
          \end{minipage}
        \end{Sbox}
        \vskip-2ex%
        \fcolorbox{blue}{gray!15}{\TheSbox}
      \end{wrapfigure}%
    }
    
    \begin{document}
    \lipsum[1]
    
    \wraptextureframe{12}{%
      Es folgt der Text, der in der Box abgebildet werden soll. Mal schauen. Das sollte schon ganz gut klappen. Aber fuer den Leser sind diese Boxen nicht gerade freundlich. Anders gesagt -- es ist und bleibt Spielerei und ge\-hoert wohl nicht zum serioesen Typesetting ...
    }
    
    \lipsum[2-4]
    \end{document}
    edico

  3. #3
    Registrierter Benutzer
    Registriert seit
    26.07.2008
    Ort
    Dresden
    Beiträge
    136
    Zitat Zitat von edico Beitrag anzeigen
    Vielleicht so?
    vielen Dank, fast so wie ich es haben wollte. Toll wäre natürlich, wenn die Länge der Box entsprechend ihres Inhalts automatisch angepasst wird, so dass nur noch der Text als Argument übermittelt wird.
    Eine andere Frage: Wie sollten denn seriöse Textboxen realisiert werden?

    Die Dokumente sind Skripte und bestehen größtenteils aus geordneten Gliederungen. Zusatzinformationen (zum Beispiel ein Exkurs, Begriffserklärung etc.), die die Struktur nicht stören sollen, werden deshalb erst mal in eine Box an den Rand verschoben. Sollte man das anders umsetzen?

  4. #4
    Registrierter Benutzer
    Registriert seit
    26.07.2008
    Ort
    Dresden
    Beiträge
    136

    Thumbs up

    Ich habe es mal modifiziert.
    \wraptextureframe[hoehe]{Text}. Ohne optionalen Parameter wird die Höhe automatisch gesetzt.

    Code:
    \documentclass[paper=a4,pagesize,10pt]{scrartcl}
    \usepackage{lipsum}
    
    %%% ---------------------------------------------
    %%% wraptextureframe
    %%% ---------------------------------------------
    \usepackage{xcolor,calc,fancybox}
    \usepackage{wrapfig}
    % \wraptextureframe[Höhe]{Text}
    % #1 Hoehe
    % #2 Text
    
    \newcommand{\wraptextureframe}[2][]{%
      \begin{wrapfigure}[#1]{r}{.3\textwidth}
        \begin{Sbox}
          \begin{minipage}{.3\textwidth-1em}
            \small\slshape#2%
          \end{minipage}
        \end{Sbox}
        \vskip-2ex%
        \fcolorbox{blue}{gray!15}{\TheSbox}
      \end{wrapfigure}%
    }
    
    \begin{document}
    \lipsum[1]
    
    \wraptextureframe{%
      Es folgt der Text, der in der Box abgebildet werden soll. Mal schauen. 
      Das sollte schon ganz gut klappen. Aber fuer den Leser sind diese Boxen nicht gerade freundlich. Anders gesagt -- es ist und bleibt Spielerei und ge\-hoert wohl nicht zum serioesen Typesetting ...
    }
    
    \lipsum[2-4]
    \end{document}

  5. #5
    Registrierter Benutzer
    Registriert seit
    09.07.2004
    Beiträge
    2.365
    Wenn du keinen Einfluss auf die Höhe haben willst, dann kannst du das Macro auch vereinfachen:

    Code:
    %%% ------------------------------------------------------------
    %%% wraptextureframe mit automat. Hoehe (Boxlaenge/Zeilenanzahl)
    %%% ------------------------------------------------------------
    \usepackage{xcolor,calc,fancybox}
    \usepackage{wrapfig}
    % \wraptextureframe{Text}
    % #1 Text
    \newcommand{\wraptextureframe}[1]{%
      \begin{wrapfigure}{r}{.3\textwidth}
        \begin{Sbox}
          \begin{minipage}{.3\textwidth-1em}
            \small\slshape#1%
          \end{minipage}
        \end{Sbox}
        \vskip-2ex%
        \fcolorbox{blue}{gray!15}{\TheSbox}
      \end{wrapfigure}%
    }

    Wie sollten denn seriöse Textboxen realisiert werden?
    Es gibt keine seriösen oder unseriösen Textboxen, nur Autoren ;-)
    Anders - an sich ist man als Autor gehalten, Leser-orientiert zu setzen. Jede Box unterbricht zunächst einmal den Lesefluss. Wenn der Inhalt einer Box wichtig ist, dann kann er auch schlicht und ergreifend im Verfolg der Textes platziert werden.
    Aber - zugestanden - das kann gewollt sein.
    Dennoch: In deinem Fall empfehle ich dir, sich mal mit der 'tufte-handout'-Klasse zu befassen - das ist ein hervorragend gesetzter Stil, der 'meinem' Anspruch einer Leseflüssigkeit nachkommt und durch breite Margins (also ungefähr die Breite deiner 30%-Box) reichlich Platz für Ergänzungen, Erläuterungen, Blöcke, Fussnoten, Bilder, Graphiken usw. bietet und damit die unsäglichen 'Umfliessen' von 'Irgendwas' unterbindet.

    edico

  6. #6
    Registrierter Benutzer
    Registriert seit
    26.07.2008
    Ort
    Dresden
    Beiträge
    136
    Zitat Zitat von edico Beitrag anzeigen
    Dennoch: In deinem Fall empfehle ich dir, sich mal mit der 'tufte-handout'-Klasse zu befassen - das ist ein hervorragend gesetzter Stil, der 'meinem' Anspruch einer Leseflüssigkeit nachkommt und durch breite Margins (also ungefähr die Breite deiner 30%-Box) reichlich Platz für Ergänzungen, Erläuterungen, Blöcke, Fussnoten, Bilder, Graphiken usw. bietet und damit die unsäglichen 'Umfliessen' von 'Irgendwas' unterbindet.
    edico
    Habe mir diese Klasse schon mal angeschaut. Ist eine gute Alternative, mal sehen, ob ich Sie noch verwende.
    Danke für die Hinweise

Stichworte

Lesezeichen

Berechtigungen

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