暂时禁止使用牛津生物信息学模板中的双列布局

暂时禁止使用牛津生物信息学模板中的双列布局

牛津生物信息学期刊模板是我最喜欢的模板之一,我用它来完成很多学校作业。模板使用双列布局,但在文档末尾的附录中,我想包含一些源代码。这在双列布局中当然看起来很糟糕,但我无法使用multicol宏来抑制双列模式。有什么办法可以做到这一点吗?

答案1

只需放在\onecolumn附录之前。注意命令\onecolumn\twocolumn开始新的一页。

答案2

您可以将源代码放在带星号的图形版本中,该图形将跨越两列文档中的两列(虽然是误用,但效果很好)。

\usepackage{graphicx} 
\begin{figure*}
  \begin{verbatim}
  Your source code here.
  \end{verbatim}
  \caption{The source code for bla bla bla}
  \label{source-1}
\end{figure*}

但是这些带星号的版本要么把图放在自己的新页面中,要么放在页面顶部。(htbp 不能很好地工作)要解决这个问题,可以加载

\usepackage{dblfloatfix} 

在序言中。然后可以使用占位符选项 [tbp] 将图形放在页面顶部、底部或新页面中。但 [h] 仍然不可用。

参考:维基百科

答案3

在序言中插入以下内容以便能够拥有全宽代码和多列文本:

\usepackage{xcolor,listings,etoolbox,multicol,lipsum}
\lstnewenvironment{Code}[1][]
 {\lstset{language=[LaTeX]TeX}\lstset{%
      breaklines=true,
      framesep=5pt,
      basicstyle=\ttfamily,
      showstringspaces=false,
      keywordstyle=\ttfamily\textcolor{blue},
      stringstyle=\color{orange},
     commentstyle=\color{black},
     rulecolor=\color{gray!10},
      breakatwhitespace=true,
     showspaces=false,  % shows spacing symbol
     xleftmargin=0pt,
     xrightmargin=5pt,
     aboveskip=0pt, % compact the code looks ugly in type
     belowskip=0pt,  % user responsible to insert any skips
      backgroundcolor=\color{gray!15}, #1
}}
{}
\makeatletter
%% Hack to have one column environments for Code
\def\multicols@string{multicols}
\BeforeBeginEnvironment{Code}{%
  \ifx\@currenvir\multicols@string
     \xdef\resume@multicols{\noexpand\begin{multicols}{\number\col@number}}%
    \end{multicols}%
  \else
    \global\let\resume@multicols\@empty
  \fi}
\AfterEndEnvironment{Code}{\resume@multicols}
\makeatother

附录中的代码写为:

\onecolumn
\begin{multicols}{2}
\lipsum[2]
\begin{Code}
  ......
\end{Code}
\end{multicols}

在此处输入图片描述

一般建议在代码片段之间添加文本,而不是长代码列表,这样看起来会更好。

相关内容