在下方的 MWE 中,我想创建一个格式化部分作为示例。但是,tcolorbox 包插入了奇怪的分页符。我想有一些,但我不明白它为什么不设置它们以使所有内容都是连续的。有人能帮助我吗?
如果有人比我更有知识,我也会对改进箭头的实现和目标位置的并置的建议感兴趣。
\documentclass{article}
\usepackage{graphicx, color, colortbl}
\usepackage{xltabular}
\usepackage{scrextend}
\usepackage[breakable, most]{tcolorbox}
\usepackage{lipsum}
\newtcolorbox{exampleFieldFrame}[1]{
breakable,
enhanced,
boxrule=.25pt,
colframe=blue,
colback=white,
attach boxed title to top left,
boxed title style={
colback=blue,
arc=0pt,
top=3pt,
bottom=3pt,
},
outer arc = 8mm,
arc = 8mm,
sharp corners = northwest,
sharp corners = southeast,
title={#1},
}
\newenvironment{exampleField}[2][false]{
\vspace{2\baselineskip}
\bgroup\setlength{\parindent}{0cm}
\begin{exampleFieldFrame}{Beispiel xxx:}
}{
\end{exampleFieldFrame}
\vspace{\baselineskip}
\egroup
}
\newenvironment{exampleBody}[1][Aufgabenstellung]{
\xltabular{\textwidth}{@{}l p{3cm} X@{}}
\hspace{5pt}\begin{tikzpicture}
\fill[fill=blue] (0, 2pt) node[anchor=south]{}
-- (0, 10pt) node[anchor=north]{}
-- (20pt,6pt) node[anchor=south]{}
-- cycle;
\end{tikzpicture} & \textit{#1:} & }{
\endxltabular
\vspace{-15pt}
}
\newenvironment{exampleBody*}[1][Lösung]{
\begin{xltabular}{\textwidth}{@{}l p{\dimexpr\textwidth-3cm} X@{}}
\hspace{5pt}\begin{tikzpicture}
\fill[fill=blue] (0,2pt) node[anchor=south]{}
-- (0, 10pt) node[anchor=north]{}
-- (20pt,6pt) node[anchor=south]{}
-- cycle;
\end{tikzpicture} & \textit{#1:} &
\end{xltabular}
\vspace{\baselineskip}
\begin{addmargin}[44pt]{0pt}
}{
\end{addmargin}
}
\begin{document}
\begin{exampleField}{\textwidth}
\begin{exampleBody}[Zielstellung]
Es soll der Ersatzwiderstand (= Eingangswiderstand) des toten Netzwerkes aus Abbildung bezüglich der herausgeführten Klemmen berechnet werden.
\end{exampleBody}
\begin{exampleBody}[Zielstellung]
Es soll der Ersatzwiderstand (= Eingangswiderstand) des toten Netzwerkes aus Abbildung bezüglich der herausgeführten Klemmen berechnet werden.
\end{exampleBody}
\begin{exampleBody*}
\lipsum[1-5]
\end{exampleBody*}
\begin{exampleBody}[Zielstellung]
Es soll der Ersatzwiderstand (= Eingangswiderstand) des toten Netzwerkes aus Abbildung bezüglich der herausgeführten Klemmen berechnet werden.
\end{exampleBody}
\end{exampleField}
\end{document}
答案1
我认为xltabular
在 breakable 中不起作用tcolorbox
。我不知道你为什么定义exampleField
env。它有两个参数,但你在定义中没有使用它们。恕我直言,你不需要xltabular
实现这个目标。有些人可以在环境中轻松设置格式\leftskip
,然后删除\leftskip
第一行,然后将标记和标题放在实际内容之前。
\documentclass{article}
\usepackage[breakable, most]{tcolorbox}
\usepackage{lipsum}
\newtcolorbox{exampleFieldFrame}[1]{
breakable,
enhanced,
boxrule=.25pt,
colframe=blue,
colback=white,
attach boxed title to top left,
boxed title style={
colback=blue,
arc=0pt,
top=3pt,
bottom=3pt,
},
outer arc = 8mm,
arc = 8mm,
sharp corners = northwest,
sharp corners = southeast,
title={#1},
}
\newenvironment{exampleBody}[1][Aufgabenstellung]{%
\par\bgroup\leftskip4cm\hskip-\leftskip\hbox to 4cm{\begin{tikzpicture}
\fill[fill=blue] (0,2pt) -- (0, 10pt) -- (20pt,6pt) -- cycle;
\end{tikzpicture}\quad\textit{#1:}\hss}\ignorespaces}{%
\par\egroup%
}
\begin{document}
\begin{exampleFieldFrame}{Beispiel xxx:}
\begin{exampleBody}[Zielstellung]
\lipsum[2]
\end{exampleBody}
\begin{exampleBody}[Zielstellung]
\lipsum[2]
\end{exampleBody}
\begin{exampleBody}[Lösung]
\lipsum[1-5]
\end{exampleBody}
\begin{exampleBody}
\lipsum[2]
\end{exampleBody}
\end{exampleFieldFrame}
\end{document}