我想将包含 Haskell 代码的文件包含到我的 LaTeX 文档中。
不幸的是,代码占用了太多空间,所以我想旋转它以获得格式landscape
,但是不知何故,代码几乎消失了。
此外,代码应该占用大约 3-4 页,但只显示一页。我该怎么办?
这是我的代码:
\documentclass[12pt, a4paper, left=2.5cm, right=2.5cm, top=2.5cm, bottom=2cm]{report}
\usepackage[utf8]{inputenc}
\usepackage{amsmath}
\usepackage{amsfonts}
\usepackage{amssymb}
\usepackage[ngerman, english]{babel}
\usepackage{graphicx}
\usepackage{setspace}
\usepackage{booktabs}
\usepackage{tabularx}
\usepackage{amssymb}
\usepackage{array}
\usepackage{colortbl}
\usepackage{float}
\usepackage[lstlang=haskell]{listings}
\usepackage{rotating}
\usepackage[square]{natbib}
\bibliographystyle{unsrt}
\parindent 0pt
\begin{document}
\begin{rotate}{90}
\lstset{\tiny, commentstyle=\color{blue}, flexiblecolumns=true}
\lstinputlisting[language=Haskell, caption={Haskell Code}]{Code.hs}
\end{rotate}
\end{document}
答案1
对于此代码解决方案,我只是从库中下载了一些 Haskell 代码并将其本地保存在 中Code.hs
。我还删除了解决问题所需的所有内容。
首先,lscape
不要使用“旋转”
您可以访问以下网址查看两者的文档http://texdoc.net只需输入包的名称并选择文档即可。后面的包仅在一个页面上工作,因此您的代码太长了。
第二,检查文档
对于 listings 包,选项都是键值。因此您必须说basicstyle=\tiny
而不是\tiny
。
第三,尽量xcolor
不要colortbl
使用颜色时需要加载合适的颜色包。我个人觉得该包xcolor
引起的冲突最少。
现在它运行得很好。而且,我只附上了输出的开头部分。
现在,您可以一次构建所需的文档。调试 LaTeX 问题的建议。像我一样隔离代码和问题,然后一次测试一部分,同时检查文档以确保语法正确。
\documentclass[12pt, a4paper, left=2.5cm, right=2.5cm, top=2.5cm, bottom=2cm]{report}
\usepackage[ngerman, english]{babel}
\usepackage{xcolor,listings,lscape}
\begin{document}
\begin{landscape}
\lstset{basicstyle=\tiny, commentstyle=\color{blue},flexiblecolumns=true}%
\lstinputlisting[language=Haskell, caption={Haskell Code}]{Code.hs}
\end{landscape}
\end{document}
答案2
我不相信这是 MWE。下次请提供一个示例。
\documentclass[12pt, a4paper, left=2.5cm, right=2.5cm, top=2.5cm, bottom=2cm]{report}
\usepackage[utf8]{inputenc}
\usepackage{amsmath}
\usepackage{amsfonts}
\usepackage{amssymb}
\usepackage[ngerman, english]{babel}
\usepackage{graphicx}
\usepackage{setspace}
\usepackage{booktabs}
\usepackage{tabularx}
\usepackage{amssymb}
\usepackage{array}
\usepackage{colortbl}
\usepackage{float}
\usepackage[lstlang=haskell]{listings}
\usepackage{rotating}
\usepackage[square]{natbib}
\usepackage{pdflscape}
\bibliographystyle{unsrt}
\parindent 0pt
\begin{document}
% \begin{rotate}{90}
\begin{landscape}
\lstset{\tiny, commentstyle=\color{blue}, flexiblecolumns=true}
\lstinputlisting[language=Haskell, caption={Haskell Code}]{Code.hs}
\end{landscape}
% \end{rotate}
\end{document}
我不知道代码文件的内容。