\marginpar borda com fundo cinza e bordas pretas redondas

\marginpar borda com fundo cinza e bordas pretas redondas

Costumo usar \marginpar{}o que é chato para mim. Existe uma maneira de adicionar fundo cinza e bordas pretas arredondadas para que fique assim:

Margem desejada

Responder1

1ª solução, apenas usandotikz

Aqui está uma solução que renova o \marginparcomando e usa TikZpara fornecer decorações muito flexíveis

insira a descrição da imagem aqui

\documentclass{article}
\usepackage{tikz}
\usepackage{lipsum}

\let\oldmarginpar\marginpar
% renew the \marginpar command to draw 
% a node; it has a default setting which 
% can be overwritten
\renewcommand{\marginpar}[2][rectangle,draw,fill=orange,rounded corners]{%
        \oldmarginpar{%
        \tikz \node at (0,0) [#1]{#2};}%
        }

\begin{document}
\marginpar{margin text here}
\lipsum[1]

\marginpar[fill=red,text=yellow,circle]{margin text here}
\lipsum[2]
\end{document}

2ª solução, usandomdframed

Este usa omdframedpacote para o enquadramento e define um environmentem vez de um arquivo command. Copiei algum código dotufteclasse de documento para definir um ambientemymarginpar

captura de tela

\documentclass{article}
\usepackage[xcolor]{mdframed}
\usepackage{lipsum}
%====================================
%   shamelessly copied from tufte documentclass
%====================================
\makeatletter
% Margin float environment
\newsavebox{\@my@margin@floatbox}
\newenvironment{@my@margin@float}[1][-1.2ex]%
{%
\begin{lrbox}{\@my@margin@floatbox}%
  \begin{minipage}{\marginparwidth}%
    \hbox{}\vspace*{#1}%
    \noindent%
    }
    {\end{minipage}%
  \end{lrbox}%
  \marginpar{\usebox{\@my@margin@floatbox}}%
  }

% marginpar environment
\newenvironment{mymarginpar}[1][-1.2ex]%
{\begin{@my@margin@float}[#1]%
  \begin{mdframed}[backgroundcolor=black!30,linecolor=red]%
 }%
 {\end{mdframed}\end{@my@margin@float}}
\makeatother

\begin{document}
\begin{mymarginpar}
  margin text here
\end{mymarginpar}
\lipsum
\end{document}

Se você quiser cantos arredondados, você pode investigar o tikz-methoddo mdframed, consulte a documentação para obter detalhes.

informação relacionada