
tufte-*
이는 알려진 문제 \sidenote
이며 환경이나 \marginnote
내부에서 사용되는 경우 빌드되지 않습니다 . 이에 대한 해결 방법을 찾을 수 없으며 해당 주제에 대한 대부분의 게시물에서는 해결 방법이 없다고 제안합니다.mdframed
tcolorbox
내가 원하는 것은 단순히 tufte-handout
. 이게 가능할까없이 mdframed
또는 tcolorbox
?
편집 : 최소한의 예
\documentclass[nobib,justified]{tufte-handout}
\usepackage{mdframed}
\newmdenv[
linecolor=lightgray,
linewidth=3pt,
leftmargin=0pt,
innerleftmargin=0pt,
rightmargin=0pt,
innerrightmargin=0pt
]{graybox}
\usepackage{lipsum}
\begin{document}
\begin{graybox}
\lipsum[1]
\marginnote{This is a marginnote}
\end{graybox}
\end{document}
다음을 사용하여 빌드하지 못했습니다.! LaTeX Error: Float(s) lost.
답변1
여기에 있을 수 있는 약간의 어리석은 해킹이 있습니다.많이버그가 있지만 페이지 나누기에서 벗어난 짧은 단락에서는 작동하는 것 같습니다.
\documentclass{tufte-handout}
\usepackage{tcolorbox}
\usepackage{blindtext}
\usepackage{environ}
\makeatletter
\NewEnviron{grayground}{%
\noindent\smash{\begin{tcolorbox}[colback=gray!20, colframe=gray!20, oversize, top=0pt, bottom=0pt, left=4pt, right=4pt, box align=top]
\let\sidenote\@gobble
\let\marginnote\@gobble
\color{gray!20}\BODY
\end{tcolorbox}}\par\BODY}
\makeatother
\begin{document}
\begin{grayground}
\blindtext\sidenote{\blindtext}\blindtext
\end{grayground}
\end{document}
설명
기본 아이디어는 먼저 를 사용하여 텍스트를 한 번 인쇄하고 배경과 동일한 색상의 텍스트를 사용하여 또는 tcolorbox
을 억제하여 숨기는 것입니다.sidenote
marginnote
그런 다음 우리는진짜활성 사이드노트와 여백 노트가 그 위에 있는 텍스트입니다.
이제 나는 옆주 위 첨자가 있는 버전과 없는 버전의 측정이 매우 비슷할 것으로 기대하고 있습니다. 따라서 두 텍스트가 정확히 동일하지는 않지만 대략 동일한 양의 수직 공간을 차지해야 하며 따라서 다음을 얻을 수 있습니다. 이것으로 끝내십시오.
tcolorbox
이를 구현하려면 a를 사용하여 첫 번째 인쇄 작업을 수행 하면 됩니다 . 그런 다음 그것을 부수십시오.
내부에서는 tcolorbox
let marginnote
및 sidenote
to @gobble
기능을 억제할 수 있습니다. 동일한 텍스트를 다시 인쇄하여 완료합니다.
더 쉽게 사용할 수 있도록 Environ 내부에 모든 것을 래핑할 수 있습니다.
출력은 다음과 같습니다(이미지가 약간 오래되었습니다. 좀 더 적합하도록 코드를 일부 조정했습니다).