Bien que cette réponse ne répond pas à la question en soi de l'OP, je figure d'autres à la recherche d'Objective-C listings
informations connexes trébucheront à travers cette question. Voici un listings
\lstdefinelanguage
pour Objective-C 2.0, GNU99 et ANSI C99. Alors que listings
inclut des définitions pour C et Objective-C, les définitions sont pour l'ancienne norme C89 et Objective-C 1.0. La version ci-dessous ajoute C99, ajoute GNU99 à C99, puis ajoute Objective-C (2.0) à GNU99.
Vous allez probablement voir une différence si vous utilisez un style de police pour les mots-clés différent du style de police "normal".
Je suis l'auteur du code ci-dessous (à l'exception de la définition ANSI C99, qui est dérivée de la norme ANSI C listings
et modifiée pour ANSI C99). Vous pouvez l'utiliser comme vous le souhaitez, y compris l'incorporer à d'autres œuvres, sans attribution ni compensation. Je le place dans le domaine public. (Note: ceci est surtout pour ceux qui travaillent pour les employeurs qui sont vraiment pointilleux sur ces choses, je ne me inquiète pas vraiment.)
\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]%
C'est pour C. Pour Objective C, vous voudriez utiliser '\ lstset {language = [Objectif] C}'. –
merci - j'ai un problème cependant, ma source est assez longue, et va à la largeur de la page - problèmes Overfull, cela peut-il être résolu? merci – joec
@Joachim, je n'ai jamais utilisé Objective C et puisque joec l'a mis entre parenthèses, j'ai deviné que les langues ne différaient pas beaucoup. J'avais tort! :) J'ai attrapé un certain objectif C à partir du net et j'ai corrigé mon exemple. Merci. –