将多页源代码分成两栏书籍格式中的一栏

将多页源代码分成两栏书籍格式中的一栏

我有一个

\documentclass[11pt, 12pt, oneside, twocolumn, fleqn, leqno]{book}

这是我们教授给我们的。我的问题是,他希望我们将 LaTex 代码放入将作为输出传递给他的 pdf 文档中。所以我尝试了:

\begin{landscape}
\begin{widetext}
\begin{lstlisting}[label=Preface,caption=Latex Code]
Latex code goes here
\end{lstlisting}
\end{widetext}
\end{landscape}

现在我在这个场景中遇到了两个问题。1.) 我似乎无法将乳胶代码中多余的单词放入新的横向页面中,另一个是 2.) widetext 函数在这里似乎不起作用。

答案1

令我有些惊讶的是,该\verbatiminput命令在图形内部起作用。

因此,只要您可以将源代码分成几块,每块都适合一页(纵向模式),您就可以使用全宽figure*环境执行如下操作:

在序言中:\usepackage{verbatim}

在主文件中:

\begin{document

\input{file1}
\input{file2}

\begin{figure*}
\small
\verbatiminput{jobname.tex}
\end{figure*}
\begin{figure*}
\small
\verbatiminput{file1.tex}
\end{figure*}
\begin{figure*}
\small
\verbatiminput{file2.tex}
\end{figure*}

\end{document}

这有点像黑客行为,但对我来说,纵向呈现的代码比横向的代码看起来更好。为了缩短主文件,您甚至可以将所有命令打包figure*到一个单独的“附录”文件中,并附带一个简短的介绍性文字,然后\verbatiminput将附录文件作为最后的内容。

答案2

使用

\onecolumn
\begin{landscape} 
\begin{lstlisting}[label=Preface,caption=Latex Code,
  xrightmargin=-...,xleftmargin=-...  %%%% only if needed for more space
  ] 

 Latex code goes here 

\end{lstlisting} 
\end{landscape}

\twocolumn

或者您的意思是将横向格式设置为两列页面中的一列?

相关内容