我正在处理这个问题tcolorbox
,它工作得很好,直到我的标题超出一行宽度。问题是文本不会换行。
与具有正常文本宽度的框相比,它看起来像这样:
我title
与其他变量一起提供如下内容:
\begin{tcolorbox}[title=...]
...
\end{tcolorbox}
我读CTAN 文档(第 4.1 章,第 18 页) 有一些替代方案title
。这些替代方案是adjusted title
,squeezed title
和squeezed title*
,但它们都不提供多行支持。
有人有解决方案吗?
我可能不会再使用该包,因为当我在一个大型项目中间时mdframed
它多次产生错误并且将它替换为...很麻烦。tex capacity exceeded
tcolorbox
这是所要求的最小工作示例:
\documentclass[a4paper,10pt]{article}
\usepackage[utf8]{inputenc}
\usepackage[slovene]{babel}
\usepackage{units}
\usepackage{acronym}
\usepackage{hyperref}
\usepackage{multicol}
\usepackage{xcolor}
\usepackage{color}
\hypersetup{
colorlinks=true
}
\makeatletter
\newcommand*{\rom}[1]{\expandafter\@slowromancap\romannumeral #1@}
\makeatother
\usepackage{tcolorbox}
\tcbuselibrary{breakable}
\newcommand{\vprasanje}[4]{
\begin{tcolorbox}[%
breakable,%
left=5mm,%
right=5mm,%
top=5mm,%
bottom=5mm,%
toptitle=0mm,%
bottomtitle=0mm,%
lefttitle=0mm,%
righttitle=0mm,%
boxrule=0.15mm,%
arc=0.25mm,%
colback=red!20!white,%
colframe=red!80!white,%
fonttitle=\hypersetup{allcolors=white!10!white},%
title={\underline{\makebox[\textwidth]{\textit{"{#2}"}\hfill}}}\newline{\makebox[\textwidth]{\hfill{\scriptsize \uppercase{\textbf{Viri}}:~~\textit{#3}}}}%
]
#4
\end{tcolorbox}
}
\begin{document}
\vprasanje{1}{This is the longlonglong longlonglong longlong longlong longlong longlong longlong longlong long longlong long long long long long long long long long long long long long long long long long long long question.}{some references}{This is the long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long answer.}
\end{document}
答案1
问题的主要原因是,在某些条件下,它\underline
不会在其参数内包装文本,但包\uline
中的文本会包装。ulem
\parbox
在我看来,这里没有必要使用外部环境等。
但是,不应使用下划线(太多)
\documentclass[a4paper,10pt]{article}
\usepackage[utf8]{inputenc}
\usepackage[slovene]{babel}
\usepackage{ulem}
\usepackage{units}
\usepackage{acronym}
\usepackage{hyperref}
\usepackage{multicol}
\usepackage{xcolor}
\usepackage{color}
\hypersetup{
colorlinks=true
}
\makeatletter
\newcommand*{\rom}[1]{\expandafter\@slowromancap\romannumeral #1@}
\makeatother
\usepackage{tcolorbox}
\tcbuselibrary{breakable}
\newcommand{\vprasanje}[4]{
\begin{tcolorbox}[%
breakable,%
left=5mm,%
right=5mm,%
top=5mm,%
bottom=5mm,%
toptitle=0mm,%
bottomtitle=0mm,%
lefttitle=0mm,%
righttitle=0mm,%
boxrule=0.15mm,%
arc=0.25mm,%
colback=red!20!white,%
colframe=red!80!white,%
fonttitle=\hypersetup{allcolors=white!10!white},%
title={{\itshape\uline{"#2"}}
\vskip0.1ex
\hfill\scriptsize \uppercase{\textbf{Viri}}:~~\textit{#3}}%
]
#4
\end{tcolorbox}
}
\begin{document}
\vprasanje{1}{This is the longlonglong longlonglong longlong longlong longlong longlong longlong longlong long longlong long long long long long long long long long long long long long long long long long long long question.}{some references}{This is the long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long answer.}
\end{document}
答案2
\parbox{}{}
我通过使用而不是找到了解决方案\makebox[]{}
。看来我误诊了这个问题……