Слова не переносятся внутри переопределенного \marginpar{}

Слова не переносятся внутри переопределенного \marginpar{}

Я пробовал играть с MWE от @cmhughes вЭта тема, и обнаружил, что слова внутри \marginparне переносятся так, как должны. Вот MWE:

\documentclass[12pt,openany,oneside,a4paper]{report}
\usepackage{tikz}                       
\usepackage{lipsum}

\let\oldmarginpar\marginpar
\renewcommand{\marginpar}[2][rectangle,draw,fill=black, text=white ,rounded corners]{
    \oldmarginpar{
    \scriptsize \tikz \node at (0,0) [#1]{#2};}
    }

\begin{document}
\lipsum[1]
\marginpar{margin text here, but it doesnt wrap like it should!!!}

\lipsum[2]
\end{document}

Я также обнаружил, что если я вставлю, например, $$m = 0$$внутрь, \marginpar{}то он не перейдет на новую строку, как должен.

решение1

Используйте text widthв опции для узла. (Я использовал text width= 2cm,здесь, но вы можете изменить его в соответствии со своими требованиями.)

\documentclass[12pt,openany,oneside,a4paper]{report}
\usepackage{tikz}
\usepackage{lipsum}

\let\oldmarginpar\marginpar
\renewcommand{\marginpar}[2][rectangle,draw,fill=black, text=white,text width= 2cm,rounded corners]{
    \oldmarginpar{
    \scriptsize \tikz \node at (0,0) [#1]{#2};}
    }

\begin{document}
\lipsum[1]
\marginpar{margin text here, but it doesnt wrap like it should!!!}

\lipsum[2]
\end{document}

введите описание изображения здесь

Связанный контент