Flotadores análogos de enmarcados.

Flotadores análogos de enmarcados.

Tengo muy poca experiencia con LaTeX. Entonces, disculpe mi ignorancia, pero ¿existe un equivalente flotante de \framebox?

Idealmente, me gustaría una construcción simple para texto enmarcado que pueda colocar en la parte superior [t] o inferior [b] de la página.

Encontré dos publicaciones que no parecían satisfacer mis necesidades:

  1. Texto enmarcado con un flotador.
  2. Marco alrededor del texto y la figura.

Respuesta1

Aquí hay una alternativa tcolorboxpara crear el cuadro flotante.

La primera versión es un enfoque minimalista:

\documentclass{article}
\usepackage[many]{tcolorbox}
\usepackage{lipsum}

\newtcolorbox{framefloat}[1][!tb]{arc=0pt,outer arc=0pt,boxrule=0.4pt,
  colframe=black,colback=white,float=#1}

\begin{document}

\begin{framefloat}
\textbf{Box on top:}
\lipsum[2]
\end{framefloat}

\begin{framefloat}[b]
\textbf{Box on bottom:}
\lipsum[2]
\end{framefloat}

\lipsum[1-3]

\end{document}

ingrese la descripción de la imagen aquí

tcolorboxpermite usar muchas más opciones para crear un estilo más elegante, si buscas algo así. La segunda versión usa algunas opciones de color e intercambia el parámetro de opción para tomar una lista de opciones separadas por comas. La floatopción toma los parámetros flotantes conocidos.

\documentclass{article}
\usepackage[many]{tcolorbox}
\usepackage{lipsum}

\newtcolorbox{framefloat}[1][]{fonttitle=\bfseries,
  colframe=yellow!30!black,colback=yellow!10!white,float=!tb,#1}

\begin{document}

\begin{framefloat}[title=Box on top]
\lipsum[2]
\end{framefloat}

\begin{framefloat}[title=Box on bottom,float=b]
\lipsum[2]
\end{framefloat}

\lipsum[1-3]

\end{document}

ingrese la descripción de la imagen aquí

Respuesta2

\documentclass{scrartcl}
\usepackage{varwidth}
\newsavebox\FBox
\newenvironment{framefloat}[1][!htb]
  {\begin{table}[#1]\centering\begin{lrbox}{\FBox}
   \varwidth{\dimexpr\linewidth-2\fboxsep-2\fboxrule}}
  {\endvarwidth\end{lrbox}\fbox{\usebox\FBox}\end{table}}

\usepackage{blindtext}

\begin{document}

\blindtext

\begin{framefloat}[t]
\blindtext
\end{framefloat}

\blindtext

\begin{framefloat}
\blindtext
\end{framefloat}

\end{document}

ingrese la descripción de la imagen aquí

Respuesta3

Aquí hay una opción que usa una combinación demdframed,newfloat, yxparsepaquete (que es cargado por mdframed).

La siguiente línea:

\DeclareFloatingEnvironment[placement={!ht}]{myfloat}

declara un nuevo entorno flotante llamado myfloat, que tienepor defectoubicación de !hty se puede anular.

Las siguientes líneas crean un nuevo entorno flotante que se combina myfloatcon un entorno del mdframedpaquete:

\NewDocumentEnvironment{framefloat}{O{}O{}}
    {% #1: float position (optional)
     % #2: options for mdframed (optional)
     \begin{myfloat}[#1]
    \begin{mdframed}[roundcorner=10pt,backgroundcolor=green,#2]
    }
    {\end{mdframed}\end{myfloat}
    }

Como puede ver, utiliza la sintaxis del xparsepaquete para declarar dos argumentos opcionales:

    % #1: float position (optional)
    % #2: options for mdframed (optional)

Se puede utilizar de cualquiera de las siguientes formas (por ejemplo):

\begin{framefloat}

\begin{framefloat}[t]

\begin{framefloat}[b][backgroundcolor=blue]

\begin{framefloat}[][backgroundcolor=red]

Aquí tienes un MWE completo para jugar. Cada uno de los paquetes que he utilizado tienemuchomás características; explora como mejor te parezca.

% arara: pdflatex
\documentclass{article}
\usepackage{newfloat}
\usepackage{lipsum}
\usepackage[framemethod=TikZ]{mdframed}

% new float
\DeclareFloatingEnvironment[placement={!ht}]{myfloat}

% new floating framed environment
\NewDocumentEnvironment{framefloat}{O{}O{}}
    {\begin{myfloat}[#1]
    \begin{mdframed}[roundcorner=10pt,backgroundcolor=green,#2]
    }
    {\end{mdframed}\end{myfloat}
    }

\begin{document}

\lipsum

\begin{framefloat}
\lipsum[1]
\end{framefloat}

\lipsum

\begin{framefloat}[t]
\lipsum[1]
\end{framefloat}

\lipsum

\begin{framefloat}[b][backgroundcolor=blue]
\lipsum[1]
\end{framefloat}

\lipsum

\begin{framefloat}[][backgroundcolor=red]
\lipsum[1]
\end{framefloat}


\end{document} 

información relacionada