Форматирование объективного C кода C Использование списка в LaTex

StackOverflow https://stackoverflow.com/questions/2607662

  •  25-09-2019
  •  | 
  •  

Вопрос

Мне интересно, как нужно отформатировать объективный код C, используя listings Пакет латекса? Я знаю, что язык поддерживает 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.

Другие советы

Хотя этот ответ не отвечает на вопрос ОП как таковой, Я полагаю, что другие ищут объектив listings Связанная информация будет наткнуться на этот вопрос.

Ниже a. listings \lstdefinelanguage Для объектов-C 2.0, GNU99 и ANSI C99. Пока listings Включает определения как для C и Objective-C, определения предназначены для старого стандарта C89 и Objective-C 1.0. Версия ниже добавляет C99, добавляет GNU99 на C99, а затем добавляет Objective-C (2.0) в GNU99.

Вы, вероятно, пойдете только к разнице, если вы используете стиль шрифта для ключевых слов, которые отличаются от «нормального» стиля шрифта.

Я являюсь автором кода ниже (за исключением определения ANSI C99, которое было получено из listings ANSI C и модифицирован для ANSI C99). Вы можете использовать это любым способом, которым вы хотите, включая включение его в другие работы, без атрибуции или компенсации. Настоящим я размещаю его в общественном домене. (Примечание: это в основном для тех, кто работает на работодателях, которые действительно воспитаны в таких вещах, мне действительно все равно.)

lstdefinelanguaguregure [peactive] {c} [gnu99] {c} {morekeweaywords = {@ catch, @ class, @ encode, @ end @ Наконец, @ Реализация,% @ интерфейс, @ Private, @ Protected, @ Протокол, @ Public, @ Selector,% @ синхронизирован, @ бросок, @ попробовать, бул, класс, Imp, no, nil, sel, да, _cmd,% bycopy, byref, id, in, inout, nil, oneway, out, self, Супер,%% Следующие две строки являются объективными ключевыми словами. @ Dynamic, @ package, @ свойство, @ синтез, чтение, чтения, отреагирующие,% назначают, сохранить, копировать, нетомические%},% moredirectives = {импорт}%}%  lstdefinelanguage [gnu99] {c} [99] {c} {morekeywords = {ASM, __ ASM __, __, __, typeof, ___ typeof __}%}%  lstdefinelanguage [99] {c}% {marekeywords = {_ bool, _complex, _imaginary, auto, brow, case, char,% const, продолжается, по умолчанию . , пустота, летучие,%, в то время как}, чувствительные к%,% MOREComment = [S] {/ *} {* /},% Morecomment = [L] //,% MORESTRING = [B] »,% MORESTRING = [B] ',% moredelim = * [Директива]  #,% moredirectives = {define, Elif, еще, Endif, ошибка, если, ifdef, ifndef, линия,% включают, pragma, undef, предупреждение}%} [ключевые слова, комментарии, Строки, директивы]%
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top