Gibt es ein LaTeX-Paket, das einen Rahmen um Text oder Absätze malt – in der Form des Textes (und nicht rechteckig wie bei Kästen)?

Gibt es ein LaTeX-Paket, das einen Rahmen um Text oder Absätze malt – in der Form des Textes (und nicht rechteckig wie bei Kästen)?

Bei manchen Gedichten mit bewusst vorgegebener Form kann es durchaus sinnvoll sein, wenn um den Text und die Zeilen ein Rahmen gezeichnet wird. Dieser gleicht nicht einem einfachen Kästchen mit rechteckiger Form, sondern passt sich der Form der geschriebenen Zeilen an.

Vielen Dank für einige Hinweise, sofern vorhanden.

MWE:

\documentclass{report}

\begin{document}
    
\centering
This is\\
an example  \\
how it can be\\
and should\\
appear.

\vspace*{\baselineskip}
Without \\
the lines \\
around it. Can you\\
imagine the\\
lines?

\end{document}

Die Linien um den Text müssen vorgestellt werden. Gibt es eine Möglichkeit oder ein Paket, um die Linien dicht an den Texträndern zu zeichnen? NotEin rechteckiges Kästchen!

Siehe die folgende Bilddatei: Bildbeschreibung hier eingeben

Ein erster Blick ins tikzPaket ergab folgenden Code als Lösungsmöglichkeit, der aber noch nicht zufriedenstellend erscheint. Grund: Der Abstand zwischen der äußeren Linie und dem inneren Text ist nicht ausreichend. Ich habe es versucht, inner sep=5mmaber ohne Wirkung (nicht im Code unten enthalten).

\documentclass{report}
\usepackage{tikz}
\usetikzlibrary{tikzmark}
\begin{document}
    
\centering
\tikzmark{A} \qquad \tikzmark{N}\\
\tikzmark{B} This is \tikzmark{M}\\
\tikzmark{C} an example \tikzmark{L}    \\
\tikzmark{D} how it can be \tikzmark{K}\\
\tikzmark{E} and should \tikzmark{J}\\
\tikzmark{F} appear. \tikzmark{I}\\
\tikzmark{G} \qquad \tikzmark{H} 

\tikz[remember picture] \draw[overlay,thick,rounded corners=6pt] (pic cs:A) -- (pic cs:B) -- (pic cs:C) -- (pic cs:D) -- (pic cs:E) -- (pic cs:F) -- (pic cs:G) -- (pic cs:H) -- (pic cs:I) -- (pic cs:J) -- (pic cs:K) -- (pic cs:L) -- (pic cs:M) -- (pic cs:N) -- cycle;

\vspace*{\baselineskip}

\tikzmark{a} \qquad \tikzmark{n}\\
\tikzmark{b} Without \tikzmark{m}\\
\tikzmark{c} the lines \tikzmark{l}\\
\tikzmark{d} around it. Can you \tikzmark{k}\\
\tikzmark{e} imagine the \tikzmark{j}\\
\tikzmark{f} lines? \tikzmark{i}\\
\tikzmark{g} \qquad \tikzmark{h}

\tikz[remember picture] \draw[overlay,thick,rounded corners=6pt] (pic cs:a) -- (pic cs:b) -- (pic cs:c) -- (pic cs:d) -- (pic cs:e) -- (pic cs:f) -- (pic cs:g) -- (pic cs:h) -- (pic cs:i) -- (pic cs:j) -- (pic cs:k) -- (pic cs:l) -- (pic cs:m) -- (pic cs:n) -- cycle;

\end{document}

Bildbeschreibung hier eingeben

Antwort1

\draw plot[smooth cycle, thick] coordinates { ... }zusammen mit einer leichten Verschiebung des SA nach oben zu besseren Ergebnissen führen \tikzmark. Mit dieser Methode tension=...können Sie einige lustige, vielleicht nicht ganz vorhersehbare Effekte erzielen.

Bildbeschreibung hier eingeben

\documentclass{report}
\usepackage{tikz}
\usetikzlibrary{tikzmark}
\newcommand\ml[3]{% marked line
  \raisebox{0.5ex}[0ex][0ex]{\tikzmark{#1}}\quad
  #2\quad
  \raisebox{0.5ex}[0ex][0ex]{\tikzmark{#3}}%
}
\begin{document}
    
\begin{center}
  \ml A{}N\\
  \ml B{This is}M\\
  \ml C{an example}L\\
  \ml D{how it can be}K\\
  \ml E{and should}J\\
  \ml F{appear.}I\\
  \ml G{}H
\end{center}
\tikz[remember picture,overlay] \draw plot[smooth cycle, thick]
coordinates {(pic cs:A) (pic cs:B) (pic cs:C) (pic cs:D) (pic cs:E)
  (pic cs:F) (pic cs:G) (pic cs:H) (pic cs:I) (pic cs:J) (pic cs:K)
  (pic cs:L) (pic cs:M) (pic cs:N)};

\begin{center}
  \ml a{}n\\
  \ml b{Without}m\\
  \ml c{the lines}l\\
  \ml d{around it. Can you}k\\
  \ml e{imagine the}j\\
  \ml f{lines?}i\\
  \ml g{}h
\end{center}
\tikz[remember picture,overlay] \draw plot[smooth cycle, thick]
coordinates {(pic cs:a) (pic cs:b) (pic cs:c) (pic cs:d) (pic cs:e)
  (pic cs:f) (pic cs:g) (pic cs:h) (pic cs:i) (pic cs:j) (pic cs:k)
  (pic cs:l) (pic cs:m) (pic cs:n)};

\begin{center}
  \ml 1{}{14}\\
  \ml 2{Without}{13}\\
  \ml 3{the lines}{12}\\
  \ml 4{around it. Can you}{11}\\
  \ml 5{imagine the}{10}\\
  \ml 6{lines?}9\\
  \ml 7{}8
\end{center}
\tikz[remember picture,overlay] \draw plot[smooth cycle, thick, tension=3]
coordinates {(pic cs:1) (pic cs:2) (pic cs:3) (pic cs:4) (pic cs:5)
  (pic cs:6) (pic cs:7) (pic cs:8) (pic cs:9) (pic cs:10) (pic cs:11)
  (pic cs:12) (pic cs:13) (pic cs:14)};
\end{document}

verwandte Informationen