git.iko.soy/typeable/pandoc
on master help sign in
Fix regression in handling of columns in beamer slides.

Columns in title slides were causing problems with slide division. Closes #6033.

commitad5f7ecfcec86bb8b661d286aec5f396556b759e authorJohn MacFarlane <jgm@berkeley.edu> dateTue 7 Jan 2020, 11:11 (7 years ago) parent2a67b7a
2 files changed+97−5
src/Text/Pandoc/Writers/LaTeX.hs+6−5 test/command/6033.md+91
src/Text/Pandoc/Writers/LaTeX.hs+6−5
@@ -460,13 +460,14 @@ elementToBeamer slideLevel (Div (ident,"section":dclasses,dkvs)
460460 | lvl > slideLevel
461461 = return $ Div (ident,"block":dclasses,dkvs) xs
462462 | lvl < slideLevel
463− = do let isDiv (Div{}) = True
464− isDiv _ = False
465− let (titleBs, slideBs) = break isDiv ys
463+ = do let isSlide (Div (_,"slide":_,_) _) = True
464+ isSlide (Div (_,"section":_,_) _) = True
465+ isSlide _ = False
466+ let (titleBs, slideBs) = break isSlide ys
466467 return $
467468 if null titleBs
468− then Div (ident,dclasses,dkvs) xs
469− else Div (ident,dclasses,dkvs)
469+ then Div (ident,"section":dclasses,dkvs) xs
470+ else Div (ident,"section":dclasses,dkvs)
470471 (h : Div ("","slide":dclasses,dkvs) (h:titleBs) : slideBs)
471472 | otherwise
472473 = return $ Div (ident,"slide":dclasses,dkvs) xs
test/command/6033.mdnew file+91
@@ -0,0 +1,91 @@
1+```
2+% pandoc -t beamer --slide-level=4
3+# One
4+
5+## One-A
6+
7+:::: columns
8+
9+::: column
10+
11+- One column.
12+
13+:::
14+
15+::: column
16+
17+- Another column.
18+
19+:::
20+
21+::::
22+
23+- Some more text.
24+
25+## One-B
26+
27+- Text.
28+
29+# Two
30+
31+## Two-A
32+
33+- More text.
34+^D
35+\hypertarget{one}{%
36+\section{One}\label{one}}
37+
38+\hypertarget{one-a}{%
39+\subsection{One-A}\label{one-a}}
40+
41+\begin{frame}{One-A}
42+\begin{columns}[T]
43+\begin{column}{0.48\textwidth}
44+\begin{itemize}
45+\tightlist
46+\item
47+ One column.
48+\end{itemize}
49+\end{column}
50+
51+\begin{column}{0.48\textwidth}
52+\begin{itemize}
53+\tightlist
54+\item
55+ Another column.
56+\end{itemize}
57+\end{column}
58+\end{columns}
59+
60+\begin{itemize}
61+\tightlist
62+\item
63+ Some more text.
64+\end{itemize}
65+\end{frame}
66+
67+\hypertarget{one-b}{%
68+\subsection{One-B}\label{one-b}}
69+
70+\begin{frame}{One-B}
71+\begin{itemize}
72+\tightlist
73+\item
74+ Text.
75+\end{itemize}
76+\end{frame}
77+
78+\hypertarget{two}{%
79+\section{Two}\label{two}}
80+
81+\hypertarget{two-a}{%
82+\subsection{Two-A}\label{two-a}}
83+
84+\begin{frame}{Two-A}
85+\begin{itemize}
86+\tightlist
87+\item
88+ More text.
89+\end{itemize}
90+\end{frame}
91+```