我正在写一份文档,需要在框内放置一些文本。我已经想出了如何制作具有我想要的图形外观的圆角框。
我的代码如下:
\documentclass[11pt, a4paper]{report}
\usepackage[utf8]{inputenc}
\usepackage[most]{tcolorbox}
\definecolor{mycolor}{rgb}{0.122, 0.435, 0.698}
\newtcbox{\mybox}{enhanced,
colframe=mycolor,colback=mycolor!7!white,
boxrule=0.5pt,arc=4pt,boxsep=0pt,left=6pt,right=6pt,top=5pt,bottom=5pt, hbox}
\begin{document}
\mybox{\textbf{Assumption 1:} Atmospheric forces can be neglected.}
\end{document}
输出如下:
我想知道如何:
当框位于节或段落的开头时缩进该框。我试过了,
\indent
但似乎不起作用。如何控制框的宽度。当我写长文本时,它会超出页边距。我想设置宽度来限制框大小并强制文本适合我选择的宽度(以防文本较长)。
当长文本在框内换行开始新行时,我希望在冒号后对齐,即“:”,而不是像通常那样与框的第一个世界对齐。
更令人好奇的是:我
\tcbset{enhanced,colframe={violet!60},colback={black!3!white}, drop shadow}
在文档中为另一个框定义了一个。为什么我的“假设框”会获得阴影选项并显示它?
下面是我想要得到的结果的一些示例:
我将非常感谢任何形式的帮助。但是,如果有人能为我提供 MWE 来完成整个任务,那就太好了。非常感谢。
答案1
tcolorbox
提供两种框tcbox
和tcolorbox
。第一种用于短文本,不会换行,而第二种可以包含较长的文本,并使用整行作为默认宽度。因此,我认为 OP 想要的无法通过唯一命令实现。
以下代码为较大的框提出了一个环境(tcolorbox)。OP 描述的内部内容看起来像一个description
环境。我假设该框仅包含一个item
。对齐取自egreg 的回答
longbox
环境有一个可选参数和一个强制参数。强制参数是项目标题,而可选参数将作为tcolorbox
选项应用以更改框格式(均匀宽度)。
\documentclass{article}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[shortlabels]{enumitem}
\usepackage{lipsum}
\usepackage{lmodern}
\usepackage[most]{tcolorbox}
\definecolor{mycolor}{rgb}{0.122, 0.435, 0.698}
\newlength{\xdescwd}
\newenvironment{xdesc}[1]
{\settowidth{\xdescwd}{\textbf{#1:}}%
\begin{description}[leftmargin=\dimexpr\xdescwd+.5em\relax,
labelindent=0pt,labelsep=.5em,
labelwidth=\xdescwd,align=right]\item[#1:]}
{\end{description}}
\newtcolorbox{longbox}[2][]{before upper={\begin{xdesc}{#2}},after upper={\end{xdesc}},
enhanced, breakable, colframe=mycolor,colback=mycolor!7!white,
boxrule=0.5pt, arc=4pt, boxsep=0pt, left=6pt, right=6pt, top=5pt, bottom=5pt, #1}
\begin{document}
\lipsum[1]
\begin{longbox}[width=.8\linewidth]{Assumption 1}
\lipsum[2][1-3]
\end{longbox}
\begin{longbox}[colback=red!30, sharp corners]{Example}
\lipsum[2][1-3]
\end{longbox}
\begin{longbox}{Example}
Only one line
\end{longbox}
\end{document}