ラテックス中の上場使用してObjective Cのコードの書式を設定します
質問
私は1つは、ラテックスのlistings
パッケージを使用してObjective Cのコードをフォーマットすることになっているか疑問に思って?私は言語はC(目的)をサポートしていることを知っているので、どのように私は
\lstset
のlanguage
オプションでこれを設定しません
おかげ
解決
このように:
\documentclass{article}
\usepackage{listings}
\begin{document}
\lstset{language=[Objective]C, breakindent=40pt, breaklines}
\begin{lstlisting}
@interface classname : superclassname {
// instance variables
}
+classMethod1;
+(return_type)classMethod2;
+(return_type)classMethod3:(param1_type)param1_varName;
-(return_type)instanceMethod1:(param1_type)param1_varName :(param2_type)param2_varName;
-(return_type)instanceMethod2WithParameter:(param1_type)param1_varName andOtherParameter:(param2_type)param2_varName;
@end
\end{lstlisting}
\end{document}
詳細な紹介: http://mirror.hmc.edu /ctan/macros/latex/contrib/listings/listings.pdfする
他のヒント
この答えはOPの質問に答えていませんが、のそれ自体が、私はObjective-Cのために、この問題に遭遇します関連情報をlistings
見て他の人を把握ます。
は以下のObjective-C 2.0、GNU99、およびANSI C99ためlistings
の\lstdefinelanguage
です。 listings
はCとObjective-Cの両方の定義を含んでいるが、定義が古いC89標準とObjective-C 1.0のためのものです。以下のバージョンは、C99を追加C99にGNU99を追加し、GNU99対物-C(2.0)を追加します。
あなたなら、おそらく唯一のあなたは「ノーマル」のフォントスタイルとは異なるのですキーワードのフォントスタイルを使用する場合の違いを見に行く。
私は(listings
ANSI Cに由来し、ANSI C99のために変更されたANSI C99定義を除く)は、以下のコードの作者です。あなたが望む任意の方法は、帰属または補償なし、他の作品にそれを組み込むなど、それを使用することができます。私は、パブリックドメインに置き、ここ。 (の注:。これは、このような事については本当にうるさいです雇用者のための仕事は、私は本当に気にしない人のために、ほとんどです。の)
\lstdefinelanguage[Objective]{C}[GNU99]{C} {morekeywords={@catch,@class,@encode,@end,@finally,@implementation,% @interface,@private,@protected,@protocol,@public,@selector,% @synchronized,@throw,@try,BOOL,Class,IMP,NO,Nil,SEL,YES,_cmd,% bycopy,byref,id,in,inout,nil,oneway,out,self,super,% % The next two lines are Objective-C 2 keywords. @dynamic,@package,@property,@synthesize,readwrite,readonly,% assign,retain,copy,nonatomic% },% moredirectives={import}% }% \lstdefinelanguage[GNU99]{C}[99]{C} {morekeywords={asm,__asm__,__extension__,typeof,__typeof__}% }% \lstdefinelanguage[99]{C}% {morekeywords={_Bool,_Complex,_Imaginary,auto,break,case,char,% const,continue,default,do,double,else,enum,extern,float,for,% goto,if,inline,int,long,register,restrict,return,short,signed,% sizeof,static,struct,switch,typedef,union,unsigned,void,volatile,% while},% sensitive,% morecomment=[s]{/*}{*/},% morecomment=[l]//,% morestring=[b]",% morestring=[b]',% moredelim=*[directive]\#,% moredirectives={define,elif,else,endif,error,if,ifdef,ifndef,line,% include,pragma,undef,warning}% }[keywords,comments,strings,directives]%