如何将环境置于小节内?

如何将环境置于小节内?

我有这个代码,但是环境放在了页面顶部、各部分之上。

    \documentclass[a4paper,11pt]{article}
\usepackage[utf8]{inputenc}
\usepackage[italian]{babel}
\usepackage{graphicx}
\usepackage{placeins}
\usepackage{listings}
\usepackage[usenames]{color}
\lstnewenvironment{codice_c++}[1][]
{\lstset{basicstyle=\small\ttfamily, columns=fullflexible,
keywordstyle=\color{red}\bfseries, commentstyle=\color{blue},
language=C++, basicstyle=\small,
numbers=left, numberstyle=\tiny,
stepnumber=1, numbersep=5pt, frame=shadowbox, float=*, #1}}{}
\begin{document} 

  \tableofcontents
        \newpage

  \section{s1}


\subsection{ss1}


\begin{codice_c++}[caption={c1}]
.....
 \end{codice_c++}


\end{document}

答案1

您有一些选择。由于您使用列表作为浮动,因此您可以使用float=h选项

\begin{codice_c++}[float=h,,caption={c1}]

此外,由于您正在使用placeins,因此您可以使用\usepackage[section]{placeins}从而限制部分内(所有)浮点数的位置。

代码:

\documentclass[a4paper,11pt]{article}
\usepackage[utf8]{inputenc}
\usepackage[italian]{babel}
\usepackage{graphicx}
%\usepackage[section]{placeins}     %% this will put all floats within their respective sections.
\usepackage{listings}
\usepackage[usenames]{color}
\lstnewenvironment{codice_c++}[1][]
{\lstset{basicstyle=\small\ttfamily, columns=fullflexible,
keywordstyle=\color{red}\bfseries, commentstyle=\color{blue},
language=C++, basicstyle=\small,
numbers=left, numberstyle=\tiny,
stepnumber=1, numbersep=5pt, frame=shadowbox, float=*, #1}}{}
\begin{document}

  \tableofcontents
        \newpage

  \section{s1}


\subsection{ss1}


\begin{codice_c++}[float=h,,caption={c1}]    %%% you may also use htbp
.....
 \end{codice_c++}


\end{document}

enter image description here

如果您决定不浮动列表,您可以使用caption包及其captionof宏来插入标题,但这是另一回事。

相关内容