tcolorbox : mylib의 변형을 만드는 방법
이 질문 :
tcolorbox에서이 상자를 재현하는 방법
명확한 대답이 있습니다. 두 가지 작은 변경 사항과 유사한 변형을 만들고 싶었습니다.
-LIB 대신 REMARKS를 사용하십시오 (좋아요, 간단합니다)
-글 머리 기호로 텍스트 서식 지정 (환경 항목 화)
\newtcbox{\myremarks}{enhanced,nobeforeafter,tcbox raise base,boxrule=0.4pt,top=0mm,bottom=0mm,
right=0mm,left=4mm,arc=1pt,boxsep=2pt,before upper={\vphantom{dlg}},
colframe=green!50!black,coltext=green!25!black,colback=green!10!white,
overlay={\begin{tcbclipinterior}\fill[green!75!blue!50!white] (frame.south west)
rectangle node[text=white,font=\sffamily\bfseries\tiny,rotate=90] {REMARKS} ([xshift=4mm]frame.north west);\end{tcbclipinterior}}}
\NewDocumentCommand\remarks{m}
{\myremarks{\begin{itemize} #1\end{itemize}}}
이것에 실패합니다 :
\remarks
{
\item Perfect relationships of $r=\pm1$ do not exist in the real world.
\item Correlation does not imply causation
}
누락 된 항목을 표시하지 못하므로 파싱 문제가 발생합니다.
이 작업을 수행하는 이상적인 방법은 newtcbox를 직접 수정하여 항목 별 텍스트의 형식을 지정하는 것입니다.하지만 어디서부터 시작해야할지 모르겠습니다.
답변
2 muzimuzhiZ
이 시도:
- 환경에 필요한 단락 모드에서 인수를 조판 할 수 있도록 옵션
varwidth upper=\linewidth
이 사용됩니다 (varwidth
패키지로드 됨) . 이것은 .\myremarks
itemize
\myremarks{\begin{varwidth}{\linewidth} ...\end{varwidth}}
- 회전 된 텍스트
REMARKS
가 최소 높이보다 높으므로\myremarks
옵션height from=1.2cm to \maxdimen
을 사용하여 최소 높이를 설정합니다. - 노드 옵션
pos=1, anchor=south east
이 추가되어 텍스트REMARKS
를 세로 중앙이 아닌 상단 에 첨부합니다 . enumitem
옵션noitemsep, leftmargin=5mm
은의 공간을 조정하기위한 것입니다itemize
.
\documentclass{article}
\usepackage{tcolorbox}
\tcbuselibrary{skins}
\usepackage{enumitem}
\usepackage{varwidth}
\usepackage{xparse}
\newtcbox{\myremarks}{
enhanced,nobeforeafter,tcbox raise base,
boxrule=0.4pt,top=0mm,bottom=0mm,
right=0mm,left=4mm,arc=1pt,boxsep=2pt,
before upper={\vphantom{dlg}},
colframe=green!50!black,coltext=green!25!black,colback=green!10!white,
overlay={
\begin{tcbclipinterior}
\fill[green!75!blue!50!white]
(frame.south west) rectangle
node[text=white,font=\sffamily\bfseries\tiny,rotate=90, pos=1, anchor=south east] {REMARKS}
([xshift=4mm]frame.north west);
\end{tcbclipinterior}
},
% equivalent to surround the cmd arg in "varwidth" env
varwidth upper=\linewidth,
% set minimum height for complete output of rotated "REMARKS"
height from=1.2cm to \maxdimen,
}
\NewDocumentCommand\remarks{m}{%
\myremarks{%
\begin{itemize}[noitemsep, leftmargin=5mm]
#1%
\end{itemize}
}%
}
\begin{document}
\remarks{
\item abc
}
\remarks{
\item abc
\item def
\item ghi
}
\end{document}