我正在尝试并排放置两个版本的算法。以深度优先搜索为例,我想将递归版本放在左列,将迭代放在右边。我正在使用此stack overflow post for python formating和迷你页。如下所示,上述命令在微型页面中不起作用。如何在每个小页面中居中python代码块?
\documentclass[11pt]{article}
\usepackage{hyperref}
\usepackage{amsmath}
\usepackage{blindtext}
\usepackage{listings}
% Default fixed font does not support bold face
\DeclareFixedFont{\ttb}{T1}{txtt}{bx}{n}{12} % for bold
\DeclareFixedFont{\ttm}{T1}{txtt}{m}{n}{12} % for normal
% Custom colors
\usepackage{color}
\definecolor{deepblue}{rgb}{0,0,0.5}
\definecolor{deepred}{rgb}{0.6,0,0}
\definecolor{deepgreen}{rgb}{0,0.5,0}
\usepackage{listings}
% Python style for highlighting
\newcommand\pythonstyle{\lstset{
language=Python,
basicstyle=\ttm,
otherkeywords={self}, % Add keywords here
keywordstyle=\ttb\color{deepblue},
emph={MyClass,__init__}, % Custom highlighting
emphstyle=\ttb\color{deepred}, % Custom highlighting style
stringstyle=\color{deepgreen},
frame=tb, % Any extra options here
showstringspaces=false %
}}
% Python environment
\lstnewenvironment{python}[1][]{
\pythonstyle
\lstset{#1}
}{}
% Python for inline
\newcommand\pythoninline[1]{{\pythonstyle\lstinline!#1!}}
\usepackage{listings}
\begin{document}
\begin{center}
\vspace*{10mm}
{\bf {\huge General Notes}}\\
\vspace*{5mm}
{\bf {CS, ML and Stats}
\\ \vspace*{2mm} {\large Patrick Daly}
}
\end{center}
\newpage
\tableofcontents
\newpage
\section{Computer Science}
\subsection{Algorithms}
\begin{enumerate}
\item DFS %
\begin{minipage}{0.5\textwidth} %
test
\begin{python}
def dfs(node):
if node:
# do stuff if pre-order
if node.left:
dfs(node.left)
# do stuff if in-order
if node.right:
dfs(node.right)
# do stuff if post-order
\end{python}
\end{minipage}
\begin{minipage}{0.5\textwidth} %
test
\begin{python}
def dfs(node):
if node:
# do stuff if pre-order
if node.left:
dfs(node.left)
# do stuff if in-order
if node.right:
dfs(node.right)
# do stuff if post-order
\end{python}
\end{minipage}
\end{enumerate}
\end{document}
编辑:我可能需要自动调整字体大小以压缩每一列中的内容。
自动重新缩放包含文本的内容不是一个好主意,这会给您次佳的字体形状。相反,您可以a)通过不从tex源添加不必要的缩进来节省大量空间,并且b)允许换行。如果这还不够,您可以手动选择较小的字体。
一些其他评论:
如果在枚举环境中使用两个小页面,每个小页面.5\textwidth
不能同时放置。计数后的其余行仅\linewidth
宽,因此即使该行中没有其他文本,迷你页的宽度也不得超过.5\linewidth
每个
请不要多次加载同一软件包。
[hyperref
应该(很少有例外)应该最后加载
\documentclass[11pt]{article}
\usepackage{amsmath}
\usepackage{blindtext}
\usepackage{listings}
% Default fixed font does not support bold face
\DeclareFixedFont{\ttb}{T1}{txtt}{bx}{n}{12} % for bold
\DeclareFixedFont{\ttm}{T1}{txtt}{m}{n}{12} % for normal
% Custom colors
\usepackage{color}
\definecolor{deepblue}{rgb}{0,0,0.5}
\definecolor{deepred}{rgb}{0.6,0,0}
\definecolor{deepgreen}{rgb}{0,0.5,0}
%\usepackage{listings}
% Python style for highlighting
\newcommand\pythonstyle{\lstset{
language=Python,
basicstyle=\ttm,
otherkeywords={self}, % Add keywords here
keywordstyle=\ttb\color{deepblue},
emph={MyClass,__init__}, % Custom highlighting
emphstyle=\ttb\color{deepred}, % Custom highlighting style
stringstyle=\color{deepgreen},
frame=tb, % Any extra options here
showstringspaces=false,
breaklines %
}}
% Python environment
\lstnewenvironment{python}[1][]{
\pythonstyle
\lstset{#1}
}{}
% Python for inline
\newcommand\pythoninline[1]{{\pythonstyle\lstinline!#1!}}
%\usepackage{listings}
\usepackage{hyperref}
\begin{document}
\begin{center}
\vspace*{10mm}
{\bf {\huge General Notes}}\\
\vspace*{5mm}
{\bf {CS, ML and Stats}
\\ \vspace*{2mm} {\large Patrick Daly}
}
\end{center}
\newpage
\tableofcontents
\newpage
\section{Computer Science}
\subsection{Algorithms}
\begin{enumerate}
\item DFS %
\begin{minipage}{0.5\linewidth}%
test
\begin{python}
def dfs(node):
if node:
# do stuff if pre-order
if node.left:
dfs(node.left)
# do stuff if in-order
if node.right:
dfs(node.right)
# do stuff if post-order
\end{python}
\end{minipage}%
\begin{minipage}{0.5\linewidth}%
test
\begin{python}
def dfs(node):
if node:
# do stuff if pre-order
if node.left:
dfs(node.left)
# do stuff if in-order
if node.right:
dfs(node.right)
# do stuff if post-order
\end{python}
\end{minipage}%
\end{enumerate}
\end{document}