나는 이 코드를 사용하여 내 코드에 색상이 지정된 프레임을 생성하지만, 사용할 때마다 이상한 작은 "[fragile]" 태그가 나타납니다. 내가 도대체 뭘 잘못하고있는 겁니까 ?
\documentclass{report}
\usepackage{graphicx,parskip,bibunits,appendix,float,todonotes,pstricks,subfigure}
\usepackage[ruled] {algorithm2e}
\usepackage{url,amsmath,amssymb,fancybox,listings,pdfpages,caption,multicol,datetime,rotating, booktabs}
\usepackage[pagebackref=false,pdffitwindow=true]{hyperref}
\usepackage[bottom]{footmisc}
\begin{document}
\begin{frame}[fragile]
\lstset{language=C++,
basicstyle=\ttfamily,
keywordstyle=\color{blue}\ttfamily,
stringstyle=\color{red}\ttfamily,
commentstyle=\color{gray}\ttfamily,
morecomment=[l][\color{magenta}]{\#}
}
\begin{lstlisting}
for(int i = 0; i < 4; i++){
for(int j = 0; j < 2; j++){
glPushMatrix();
// We move the chair and table to their new location
glTranslatef(-250.F + 220.F * i - 70.F * j,
.0F, 20.F + 150.F * j);
// if it's on the second row, we slightly rotate it
float angle = j==0?-60.F:15.F*i;
glRotatef(angle, 0, 1, 0);
// if we're displaying using another mode than WIREFRAME
// we assign a material to the chair
if(mode != WIREFRAME)
assignMaterial(&reddishMaterial);
chair.draw_model(mode);
glPushMatrix();
// we rotate the table to fit the chair
// we scale it up a little bit on the z axis
glRotatef(90, 0, 1, 0);
glScalef(1, 1.7, 1);
glTranslatef(-170.F, 0.F, 20.F);
// if we're displaying using another mode than WIREFRAME
// we assign a material to the table
if(mode != WIREFRAME)
assignMaterial(&redMaterial);
table.draw_model(mode);
glPopMatrix();
glPopMatrix();
}
}
\end{lstlisting}
\end{frame}
\end{document}
답변1
가능성 1:비머 문서 클래스 사용
\documentclass{beamer}
\usepackage{listings}
\begin{document}
\begin{frame}[fragile]
\lstset{language=C++,
basicstyle=\ttfamily,
keywordstyle=\color{blue}\ttfamily,
stringstyle=\color{red}\ttfamily,
commentstyle=\color{gray}\ttfamily,
morecomment=[l][\color{magenta}]{\#}
}
\tiny
\begin{lstlisting}
for(int i = 0; i < 4; i++){
for(int j = 0; j < 2; j++){
glPushMatrix();
// We move the chair and table to their new location
glTranslatef(-250.F + 220.F * i - 70.F * j,
.0F, 20.F + 150.F * j);
// if it's on the second row, we slightly rotate it
float angle = j==0?-60.F:15.F*i;
glRotatef(angle, 0, 1, 0);
// if we're displaying using another mode than WIREFRAME
// we assign a material to the chair
if(mode != WIREFRAME)
assignMaterial(&reddishMaterial);
chair.draw_model(mode);
glPushMatrix();
// we rotate the table to fit the chair
// we scale it up a little bit on the z axis
glRotatef(90, 0, 1, 0);
glScalef(1, 1.7, 1);
glTranslatef(-170.F, 0.F, 20.F);
// if we're displaying using another mode than WIREFRAME
// we assign a material to the table
if(mode != WIREFRAME)
assignMaterial(&redMaterial);
table.draw_model(mode);
glPopMatrix();
glPopMatrix();
}
}
\end{lstlisting}
\end{frame}
\end{document}
가능성 2:다른 클래스를 사용하려면 frame
s를 사용하지 마세요.
\documentclass{report}
\usepackage{graphicx,parskip,bibunits,appendix,float,todonotes,pstricks,subfigure}
\usepackage[ruled] {algorithm2e}
\usepackage{url,amsmath,amssymb,fancybox,listings,pdfpages,caption,multicol,datetime,rotating, booktabs}
\usepackage[pagebackref=false,pdffitwindow=true]{hyperref}
\usepackage[bottom]{footmisc}
\begin{document}
%\begin{frame}[fragile]
\lstset{language=C++,
basicstyle=\ttfamily,
keywordstyle=\color{blue}\ttfamily,
stringstyle=\color{red}\ttfamily,
commentstyle=\color{gray}\ttfamily,
morecomment=[l][\color{magenta}]{\#}
}
\begin{lstlisting}
for(int i = 0; i < 4; i++){
for(int j = 0; j < 2; j++){
glPushMatrix();
// We move the chair and table to their new location
glTranslatef(-250.F + 220.F * i - 70.F * j,
.0F, 20.F + 150.F * j);
// if it's on the second row, we slightly rotate it
float angle = j==0?-60.F:15.F*i;
glRotatef(angle, 0, 1, 0);
// if we're displaying using another mode than WIREFRAME
// we assign a material to the chair
if(mode != WIREFRAME)
assignMaterial(&reddishMaterial);
chair.draw_model(mode);
glPushMatrix();
// we rotate the table to fit the chair
// we scale it up a little bit on the z axis
glRotatef(90, 0, 1, 0);
glScalef(1, 1.7, 1);
glTranslatef(-170.F, 0.F, 20.F);
// if we're displaying using another mode than WIREFRAME
// we assign a material to the table
if(mode != WIREFRAME)
assignMaterial(&redMaterial);
table.draw_model(mode);
glPopMatrix();
glPopMatrix();
}
}
\end{lstlisting}
%\end{frame}
\end{document}