我是 LaTeX 的新手,使用后在编写文本时遇到了困难\lstinputlisting
。
以下是我尝试执行的操作:我在小节中编写一些文本,然后使用命令\lstinputlisting
插入 R 语言输出。R 输出显示得很漂亮,没有任何问题。但是,我在命令之后编写的任何文本\lstinputlisting
都会显示在 R 语言输出之前。这是我的代码片段:
\documentclass[a4paper,8pt]{article}
\usepackage[utf8]{inputenc}
\usepackage{amsmath}
\usepackage{amssymb}
\usepackage{blindtext}
\usepackage{enumitem}
\usepackage{amsfonts}
\usepackage{color}
\usepackage{listings}
\usepackage{geometry}
\usepackage{fancyhdr}
\addtolength{\oddsidemargin}{-.7in}
\addtolength{\evensidemargin}{-.7in}
\addtolength{\textwidth}{1.75in}
\addtolength{\topmargin}{-.75in}
\addtolength{\textheight}{1.75in}
\fancyhf{}
\renewcommand{\headrulewidth}{0pt}
\chead{\thepage}
\pagestyle{fancy}
\title{Title }
\author{ABC}
\begin{document}
\maketitle
\section*{Exercise 1}
This is Exercise 1
\begin{enumerate}
\item[(1.1)] Do this first
\item[(1.2)] Then do this
\end{enumerate}
\section*{Solution 1}
Steps for importing data in R\\
{\color{blue}
\textgreater \hspace{0.2cm} qaz=read.table('qaz.txt') \\
\textgreater \hspace{0.2cm} qaz \\
}
\lstinputlisting[float=h,frame=tb,caption=Socio Data,numbers=left] {sociooutput1.txt}
This text should be displayed after the R output
\end{document}
这是我所看到的输出。我希望在 R 输出后看到文本“此文本应在 R 输出后显示”
任何帮助深表感谢!
答案1
放置内容的常见问题figure
是table
它们会“四处”浮动,即 LaTeX 会寻找适合它的“最佳”位置。这偶尔会导致不良结果。
这里lstlisting
也可以使用 来浮动float=h
,这可能有效,但不是在任何情况下都有效。只需删除float=h
,列表环境就会出现在所需的位置(即在相关文本之前)
(但是我更改了输入文件,因为我不知道R
等等,并且手头没有相关.txt
文件,请参阅帖子末尾的示例.c
文件)
\documentclass[a4paper,8pt]{article}
\usepackage[utf8]{inputenc}
\usepackage{amsmath}
\usepackage{amssymb}
\usepackage{blindtext}
\usepackage{enumitem}
\usepackage{amsfonts}
\usepackage{color}
\usepackage{listings}
\usepackage{geometry}
\usepackage{fancyhdr}
\addtolength{\oddsidemargin}{-.7in}
\addtolength{\evensidemargin}{-.7in}
\addtolength{\textwidth}{1.75in}
\addtolength{\topmargin}{-.75in}
\addtolength{\textheight}{1.75in}
\fancyhf{}
\renewcommand{\headrulewidth}{0pt}
\chead{\thepage}
\pagestyle{fancy}
\title{Title }
\author{ABC}
\begin{document}
\maketitle
\section*{Exercise 1}
This is Exercise 1
\begin{enumerate}
\item[(1.1)] Do this first
\item[(1.2)] Then do this
\end{enumerate}
\section*{Solution 1}
Steps for importing data in R\\
{\color{blue}
\textgreater \hspace{0.2cm} qaz=read.table('qaz.txt') \\
\textgreater \hspace{0.2cm} qaz \\
}
\lstinputlisting[frame=tb,caption=Socio Data,numbers=left]{helloworldexample.c}% sociooutput1.txt
This text should be displayed after the R output
\end{document}
helloworldexample.c
这是上述解决方案中使用的文件。
#include<stdio.h>
int main(int argc,char **argv)
{
printf("Hello World!\n");
return(0);
}