我正在尝试将一些横向模式的代码文件包含到纵向模式的文档中。我使用
\usepackage{lscape}
和
\usepackage{listings}
到目前为止一切顺利。当开始新的部分时,问题就出现了。标题以纵向模式显示(没问题!),然后是空白页。在下一页上出现代码。是否可以将纵向模式标题与横向模式代码合并在一页上?下面是一个小例子
\documentclass[12pt,a4paper,leqno]{book}
\usepackage[english]{babel}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{listings}
\usepackage{lscape}
\begin{document}
\section*{This is a section}
\begin{landscape}
\begin{lstlisting}
and here comes the code
\end{lstlisting}
\end{landscape}
\end{document}
答案1
您可以在章节标题后添加一个带有(短)列表的旋转框。我的答案使用包tcolorbox
来完成这项工作。框的给定值width
是旋转框的高度。显然,宽度/高度必须足够小才能适合页面内部。如果您希望列表继续到下一页,此解决方案就不够了。列表的任何选项都可以放在键内listing options
。
\documentclass[12pt,a4paper,leqno]{book}
\usepackage[english]{babel}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[listings,skins]{tcolorbox}
\begin{document}
\section*{This is a section}
\begin{tcblisting}{width=19cm,listing only,blank,tikz={rotate=90},
listing options={basicstyle=\ttfamily}}
and here comes the code
\end{tcblisting}
\end{document}