使用 tcolorbox 和 wrapfigure 的奇怪段落格式

使用 tcolorbox 和 wrapfigure 的奇怪段落格式

首先,对于 MWE 过大我深表歉意;我试图将其减少到最低限度,但考虑到问题发生得很随机,很难维持它。

鉴于以下 MWE,您可以看到有时段落的格式确实很奇怪 --- 这只是一个例子,但随机出现的情况是第一行只是段落的第一个单词。请参阅:

在此处输入图片描述

可以修复吗?还是只是 tcolorbox 和 wrapfigure 不能很好地协同工作?

MWE 关注:

\documentclass[11pt,a4paper,oneside,]{article}
\usepackage[T1]{fontenc}\usepackage[utf8]{inputenc}
\usepackage[spanish]{babel}
\usepackage[left=2cm, right=2cm, top=1.75cm, bottom=2.25cm]{geometry}
\usepackage{amsmath}
\usepackage{tikz}
\usepackage{wrapfig}
\colorlet{solcolor}{green!40!black}
\usepackage{tcolorbox}
\tcbuselibrary{breakable}
\usepackage{lipsum}

\tcbset{common/.style={
        colback=yellow!10,
        colframe=solcolor!60,
        halign=flush left, leftrule=4mm,
}}
\newtcolorbox{solbox}[1][]{common, breakable,
    coltext=solcolor,
    #1}
\newtcolorbox{circbox}[2][]{common, nobeforeafter,
    colback=white,
    hbox, title = {#2},
    #1}

\begin{document}
\def\isr{i_\mathit{SR}}
\def\vsr{v_\mathit{SR}}
\begin{solbox}[title={Punto 2}]
    \begin{wrapfigure}{l}{0.45\linewidth}
        \centering
        \begin{circbox}{Circuito de polarización}
            \begin{tikzpicture}
                \draw (-0.5,1) rectangle ++(4.5,-6);
            \end{tikzpicture}
        \end{circbox}
    \end{wrapfigure}
    El circuito de polarización es el mismo que hemos usado para el apartado anterior;
    en este caso el condensador actúa como un circuito abierto.
    Esto implica que la tensión de polarización de $v_{O2}$ es:
    \begin{equation}
        V_{O2_Q} = 0
    \end{equation}

    Para calcular la corriente y tensión de polarización del dispositivo,
    usamos entonces el mismo procedimiento que en el punto anterior:
    \begin{align}
        V_{SR_Q} &= \text{1 V} \\
        I_{SR_Q} &= \text{1 mA}
    \end{align}

    \lipsum[1]
\end{solbox}
\end{document}

答案1

不要使用halign=flush left。这在内部使用\raggedright,因此允许非常短的行。与 wrapfig 的 parshape 设置结合使用时,您会得到糟糕的换行(我没有尝试了解 TeX 究竟如何决定换行,但这个问题也可以通过一个简单的 parshape 来演示,见下文)。要么完全删除该选项,要么将其替换为halign=left将使用第二个设置的 。

\documentclass{article}
\usepackage{lipsum}
\begin{document}

\rightskip=0pt plus 1fil \parindent=0pt
\parshape 9
  0.5\textwidth 0.5\textwidth
  0.5\textwidth 0.5\textwidth
  0.5\textwidth 0.5\textwidth
  0.5\textwidth 0.5\textwidth
  0.5\textwidth 0.5\textwidth
  0.5\textwidth 0.5\textwidth
  0.5\textwidth 0.5\textwidth
  0.5\textwidth 0.5\textwidth
  0pt \textwidth
\lipsum*[1]

\rightskip=0pt plus 2em \parindent=0pt %better
\parshape 9
  0.5\textwidth 0.5\textwidth
  0.5\textwidth 0.5\textwidth
  0.5\textwidth 0.5\textwidth
  0.5\textwidth 0.5\textwidth
  0.5\textwidth 0.5\textwidth
  0.5\textwidth 0.5\textwidth
  0.5\textwidth 0.5\textwidth
  0.5\textwidth 0.5\textwidth
  0pt \textwidth
\lipsum*[1]


\end{document} 

在此处输入图片描述

相关内容