From 49d72444d7223afe8730e1d7fe2ad881cc132b9c Mon Sep 17 00:00:00 2001 From: schrieveslaach Date: Mon, 27 Mar 2017 21:20:27 +0200 Subject: [PATCH] LaTeX reader: add support for LaTeX subfiles package. Closes #3530. --- src/Text/Pandoc/Readers/LaTeX.hs | 1 + test/command/3530.md | 22 ++++++++++++++++++++++ test/command/sub-file-chapter-1.tex | 8 ++++++++ test/command/sub-file-chapter-2.tex | 8 ++++++++ 4 files changed, 39 insertions(+) create mode 100644 test/command/3530.md create mode 100644 test/command/sub-file-chapter-1.tex create mode 100644 test/command/sub-file-chapter-2.tex diff --git a/src/Text/Pandoc/Readers/LaTeX.hs b/src/Text/Pandoc/Readers/LaTeX.hs index ae441a387..9c028faa4 100644 --- a/src/Text/Pandoc/Readers/LaTeX.hs +++ b/src/Text/Pandoc/Readers/LaTeX.hs @@ -1008,6 +1008,7 @@ include = do char '\\' name <- try (string "include") <|> try (string "input") + <|> try (string "subfile") <|> string "usepackage" -- skip options skipMany $ try $ char '[' *> manyTill anyChar (char ']') diff --git a/test/command/3530.md b/test/command/3530.md new file mode 100644 index 000000000..66393c856 --- /dev/null +++ b/test/command/3530.md @@ -0,0 +1,22 @@ +``` +% pandoc -f latex -t native +\subfile{command/sub-file-chapter-1} +\subfile{command/sub-file-chapter-2} +^D +[Header 1 ("chapter-1",[],[]) [Str "Chapter",Space,Str "1"] +,Para [Str "This",Space,Str "is",Space,Str "Chapter",Space,Str "1,",Space,Str "provided",Space,Str "in",Space,Str "a",Space,Str "sub",Space,Str "file."] +,Header 1 ("chapter-2",[],[]) [Str "Chapter",Space,Str "2"] +,Para [Str "This",Space,Str "is",Space,Str "Chapter",Space,Str "2,",Space,Str "provided",Space,Str "in",Space,Str "a",Space,Str "second",Space,Str "sub",Space,Str "file."]] +``` + +``` +% pandoc -flatex+raw_tex -t native +\subfile{command/sub-file-chapter-1} +\subfile{command/sub-file-chapter-2} +^D +[Header 1 ("chapter-1",[],[]) [Str "Chapter",Space,Str "1"] +,Para [Str "This",Space,Str "is",Space,Str "Chapter",Space,Str "1,",Space,Str "provided",Space,Str "in",Space,Str "a",Space,Str "sub",Space,Str "file."] +,Header 1 ("chapter-2",[],[]) [Str "Chapter",Space,Str "2"] +,Para [Str "This",Space,Str "is",Space,Str "Chapter",Space,Str "2,",Space,Str "provided",Space,Str "in",Space,Str "a",Space,Str "second",Space,Str "sub",Space,Str "file."]] + +``` diff --git a/test/command/sub-file-chapter-1.tex b/test/command/sub-file-chapter-1.tex new file mode 100644 index 000000000..9b3f38f58 --- /dev/null +++ b/test/command/sub-file-chapter-1.tex @@ -0,0 +1,8 @@ +\documentclass[main.tex]{subfiles} +\begin{document} + +\section{Chapter 1} + +This is Chapter 1, provided in a sub file. + +\end{document} diff --git a/test/command/sub-file-chapter-2.tex b/test/command/sub-file-chapter-2.tex new file mode 100644 index 000000000..88e8a0ecc --- /dev/null +++ b/test/command/sub-file-chapter-2.tex @@ -0,0 +1,8 @@ +\documentclass[main.tex]{subfiles} +\begin{document} + +\section{Chapter 2} + +This is Chapter 2, provided in a second sub file. + +\end{document}