멀티콜과 큰 그림의 문제

멀티콜과 큰 그림의 문제

그림이 너무 높아 첫 번째 열에 머물 수 없지만 나머지 텍스트는 이 열의 전체 높이에 걸쳐 펼쳐집니다. 이 문제를 피하기 위해 제가 찾은 유일한 방법은 빈 공간을 vbox특정 높이에 배치하는 것입니다. 이것은 거의 만족스럽지 않습니다. 가장 좋은 방법은 무엇입니까?

\documentclass{scrartcl}
\usepackage{tikz}
\usepackage{multicol,lipsum}
\setlength{\columnsep}{24pt}
\setlength{\columnseprule}{0.4pt}

\begin{document}
\begin{multicols*}{2}
   
\section{Contruction with inversion} 

Let us consider the circle $\mathcal{T}$ of center $T$ point common to the circles $\mathcal{A}$ and $\mathcal{B}$ and tangent to the line $(EF)$. It intercepts the two circles at 4 points which define two lines $\mathcal{L_A}$ and $\mathcal{L_B}$ perpendicular to the line $(AB)$.
  
Consider the inversion of center $T$ with respect to the circle $\mathcal{T}$. The circles $\mathcal{A}$ and $\mathcal{B}$ have as inverses the lines $\mathcal{L_A}$ and $\mathcal{L_B}$.
     
The orange circle passing through $T$ and tangent to the circle $\mathcal{T}$ and to the line $(EF)$ is therefore tangent to the line $(EF)$. This circle is therefore tangent to the lines $\mathcal{L_A}$ and $\mathcal{L_B}$ since $(EF)$ is tangent to the circles $\mathcal{A}$ and $\mathcal{B}$.

%\vbox to 10cm{} 

 \begin{tikzpicture}
    \draw (0,0)--(7,15) (0,15)--(7,0);
 \end{tikzpicture} 
 
\lipsum[2]
 \end{multicols*}

\end{document}

여기에 이미지 설명을 입력하세요

답변1

이렇게 하면 첫 번째 열을 채울 만큼 충분한 텍스트가 추가된 다음 연결된 솔루션이 사용됩니다.

\documentclass{scrartcl}
\usepackage{tikz}
\usepackage{multicol,lipsum}
\setlength{\columnsep}{24pt}
\setlength{\columnseprule}{0.4pt}

\makeatletter
\newcommand{\split}[2]% #1 = text, #2 = insert
{\par\bgroup
  \setbox0=\vbox{\strut #1\strut}% measure height
  \sbox1{#2}% ditto
  \dimen0=\dimexpr \pagegoal-\pagetotal-\col@number\baselineskip\relax% fudge factor
  \dimen1=\pagegoal% compute height of one column
  \ifnum\col@number>1\relax
    \divide\dimen1 by \col@number
  \fi
  \advance\dimen1 by -\baselineskip% fudge factor
  \loop\ifdim\dimen0>\dimen1% space left in this column
    \advance\dimen0 by -\dimen1
  \repeat
  \dimen1=\dimexpr \ht1+\dp1+\textfloatsep\relax% space needed for insert
  \ifdim\dimen1>\dimen0
    \ifdim\ht0>\dimen0
      \setbox2=\vsplit0 to \dimen0
      \unvbox2
      \noindent\box1
      \vskip\textfloatsep
      \unvbox0
    \else% entire text will fit into column
      \unvbox0
      \vskip\textfloatsep% probably ignored
      \noindent\box1
      \vskip\textfloatsep
    \fi
  \else% insert will fit into column
    \vskip\intextsep
    \noindent\box1
    \vskip\intextsep
    \unvbox0
  \fi
\egroup\par}
\makeatother

\begin{document}
\begin{multicols*}{2}
   
\section{Contruction with inversion} 

Let us consider the circle $\mathcal{T}$ of center $T$ point common to the circles $\mathcal{A}$ and $\mathcal{B}$ and tangent to the line $(EF)$. It intercepts the two circles at 4 points which define two lines $\mathcal{L_A}$ and $\mathcal{L_B}$ perpendicular to the line $(AB)$.
  
Consider the inversion of center $T$ with respect to the circle $\mathcal{T}$. The circles $\mathcal{A}$ and $\mathcal{B}$ have as inverses the lines $\mathcal{L_A}$ and $\mathcal{L_B}$.
     
The orange circle passing through $T$ and tangent to the circle $\mathcal{T}$ and to the line $(EF)$ is therefore tangent to the line $(EF)$. This circle is therefore tangent to the lines $\mathcal{L_A}$ and $\mathcal{L_B}$ since $(EF)$ is tangent to the circles $\mathcal{A}$ and $\mathcal{B}$.\strut

\split{\lipsum[2-3]}{\noindent\begin{tikzpicture}
    \draw (0,0)--(\columnwidth,15) (0,15)--(\columnwidth,0);
 \end{tikzpicture}}

 \end{multicols*}

\end{document}

데모


만약 너라면좋다큰 간격이 있으면 사용할 수 있습니다.

\split{\vfill}{\noindent\begin{tikzpicture}
    \draw (0,0)--(\columnwidth,15) (0,15)--(\columnwidth,0);
\end{tikzpicture}}

관련 정보