Научный форум dxdy

Математика, Физика, Computer Science, LaTeX, Механика и Техника, Химия, Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки
Текущее время: Пт сен 03, 2010 17:37:09
Для набора любых формул следует использовать тег [math]. В противном случае сообщение будет отправлено в карантин.
С Правилами Научного форума можно ознакомиться здесь.
Халявы здесь нет. На нашем форуме не решают задачи за вас.
Нужна подсветка синтаксиса? Есть такая возможность!
dxdy_ru twitter
Следите за нами в Твиттере.




Часовой пояс: UTC + 3 часа [ Летнее время ]




Начать новую тему Эта тема закрыта, вы не можете редактировать и оставлять сообщения в ней.  [ 1 сообщение ] 
Автор Сообщение
 Не в сети
 Подсветка синтаксиса. Тег [syntax][/syntax]
СообщениеЧт ноя 12, 2009 06:37:18 
Админ проекта
Аватара пользователя
Годы на форумеГоды на форумеГоды на форумеГоды на форумеГоды на форуме
Появился: 11/05/05
Сообщения: 2751
Откуда: London
Теперь у вас есть возможность использовать подсветку синтаксиса с помощью тега [ syntax ]
Доступные аргументы простой версии тега (без указания языка):
  • start="<номер>" -- начать нумерацию с заданного числа
  • filename="<имя файла, используемое при скачивании кода>"
  • highlight="Номера строк, которые надо выделить, разделенные запятыми, либо дефисом в случае диапазона строк". Если язык указан, то эта фича неактивна.
  • Для подсветки части строки можно использовать тег [highlight] ... [/highlight]. Для подсветки строки целиком, используйте аргумент highlight

Важно: Используя нотацию [ syntax=php ], вы задаете язык, поэтому вышеуказанные опции неприменимы.

Если вы указываете язык для подсветки с помощью аргумента lang=<язык> (например, lang=mysql) то можно использовать следующие опции:
  • lang="latex | matlab | python | cpp | sql | ... " - Поддерживается более 130 языков
  • start="<номер строки>" -- начать нумерацию с заданного числа
  • filename="<имя файла, используемое при скачивании кода>"
  • lines="n | f " -- способ отображения номеров строк. 'n' -- обычная (normal) нумерация, 'f' -- с поддержкой 'fancy' строк. См. примеры.
  • fancy="5" -- Выделяет каждую 5-ю строку, используется только если опция lines выставлена в 'f'

По умолчанию, если указан язык, то номера строк отображаться не будут. Для их отображения используйте опцию lines.

Примеры:
1. Пример без указания языка:
Код:
[syntax] ... [/syntax]

  1.  Lorem ipsum dolor sit amet, consectetur adipiscing elit. Etiam enim magna, commodo in ultricies id,  
  2. venenatis sed massa. Fusce at massa lacus. Ut aliquam, erat at auctor molestie, libero orci venenatis lorem,  
  3. sit amet vulputate libero nisi eget massa. Aliquam erat enim, mollis eget molestie ut, ullamcorper at lectus.  
  4. Aenean mi turpis, hendrerit in venenatis et, lobortis nec libero. Fusce pretium gravida nisi sed aliquet.  
  5. Morbi lobortis, erat sit amet dapibus ultrices, est orci aliquam orci, ut pellentesque erat odio in enim. Etiam id  
  6. ipsum at nisi vestibulum ullamcorper. Aliquam sollicitudin sollicitudin enim, eu dignissim metus laoreet vel. Proin  
  7. auctor, turpis vitae blandit semper, nisi diam molestie elit, ac iaculis ligula diam eu mauris. Sed sit amet elit  
  8. sapien. Proin at quam sem, vitae cursus diam. In varius nisi quis nunc scelerisque vitae varius arcu semper.  
  9. Vivamus consectetur placerat aliquet.   


2. Без указания языка, но с использованием опций:
Код:
[syntax start="4" filename="lorem.txt" highlight="4-5,7,9"] ... [highlight]....[/highlight] .... [/syntax]

код: (lorem.txt) [ скачать ] [ спрятать ]
  1.  Lorem ipsum dolor sit amet, consectetur adipiscing elit. Etiam enim magna, commodo in ultricies id,  
  2. venenatis sed massa. Fusce at massa lacus. Ut aliquam, erat at auctor molestie, libero orci venenatis lorem,  
  3. sit amet vulputate libero nisi eget massa. Aliquam erat enim, mollis eget molestie ut, ullamcorper at lectus.  
  4. Aenean mi turpis, hendrerit in venenatis et, lobortis nec libero. Fusce pretium gravida nisi sed aliquet.  
  5. Morbi lobortis, erat sit amet dapibus ultrices, est orci aliquam orci, ut pellentesque erat odio in enim. Etiam id  
  6. ipsum at nisi vestibulum ullamcorper. Aliquam sollicitudin sollicitudin enim, eu dignissim metus laoreet vel. Proin  
  7. auctor, turpis vitae blandit semper, nisi diam molestie elit, ac iaculis ligula diam eu mauris. Sed sit amet elit  
  8. sapien. Proin at quam sem, vitae cursus diam. In varius nisi quis nunc scelerisque vitae varius arcu semper.  
  9. Vivamus consectetur placerat aliquet.   

3. Основной вариант использования:
Код:
[syntax=latex] ... [/syntax] или [syntax="latex"] ... [/syntax]
[syntax lang=perl] ... [/syntax]

код: [ скачать ] [ спрятать ]
Используется синтаксис latex
\documentclass [11pt] {letter}
\begin{document}
\begin{letter} {Mr. G. Electric
\\Wheatstone Inc.\\33 Circuit Dr.\\
Corporation, California 02019
}
\address{Mr. J. Powers\\Buffalo Lighting Co.
\\33 Washington St.\\Bison, New York 14230
}
\signature{James Powers\\
President, Buffalo Lighting Co.
}
\opening{Dear Mr. Electric:}

The power grid at 33 Washington St. has
failed due to an explosion of your
supermagneto transformer. We would
like you to repair it as per
your warranty stipulation.

\closing{Best regards,}
\cc{VP JES}
\end{letter}
\end{document}
Парсинг занял 0.005 сек. Использовалась библиотека GeSHi 1.0.8.4

Если строк в коде совсем немного, то Сворачивать/Разворачивать нечего:
Используется синтаксис perl
#!/usr/bin/perl
print "Hello, world!\n";
 
Парсинг занял 0.007 сек. Использовалась библиотека GeSHi 1.0.8.4


4. Использование дополнительных опций:
Код:
[syntax lang=oracle11 start=91 lines=n] ... [/syntax]

код: [ скачать ] [ спрятать ]
Используется синтаксис oracle11
  1.     DELETE FROM btv_program_vb
  2.      WHERE prog_uid NOT IN (SELECT DISTINCT prog_uid FROM btv_event);
  3.     v_del_count := SQL%ROWCOUNT;
  4.     state_output('Delete rows count for (btv_program_vb) : ' ||
  5.                  v_del_count);
  6.  
  7.     DELETE FROM btv_program_ml
  8.      WHERE prog_uid NOT IN (SELECT DISTINCT prog_uid FROM btv_event);
  9.     v_del_count := SQL%ROWCOUNT;
  10.     state_output('Delete rows count for (btv_program_ml) : ' ||
  11.                  v_del_count);
  12.  
Парсинг занял 0.015 сек. Использовалась библиотека GeSHi 1.0.8.4

Код:
[syntax lang=oracle11 start=91 lines=f fancy=5] ... [/syntax]

код: [ скачать ] [ спрятать ]
Используется синтаксис oracle11
  1.     DELETE FROM btv_program_vb
  2.      WHERE prog_uid NOT IN (SELECT DISTINCT prog_uid FROM btv_event);
  3.     v_del_count := SQL%ROWCOUNT;
  4.     state_output('Delete rows count for (btv_program_vb) : ' ||
  5.                  v_del_count);
  6.  
  7.     DELETE FROM btv_program_ml
  8.      WHERE prog_uid NOT IN (SELECT DISTINCT prog_uid FROM btv_event);
  9.     v_del_count := SQL%ROWCOUNT;
  10.     state_output('Delete rows count for (btv_program_ml) : ' ||
  11.                  v_del_count);
  12.  
Парсинг занял 0.014 сек. Использовалась библиотека GeSHi 1.0.8.4


Поддерживаемые языки: abap, actionscript, actionscript3, ada, apache, applescript, apt_sources, asm, asp, autoit, avisynth, bash, basic4gl, bf, bibtex, blitzbasic, bnf, boo, c, c_mac, caddcl, cadlisp, cfdg, cfm, cil, cmake, cobol, cpp, cpp-qt, csharp, css, d, dcs, delphi, diff, div, dos, dot, eiffel, email, erlang, fo, fortran, freebasic, genero, gettext, glsl, gml, gnuplot, groovy, haskell, hq9plus, html4strict, idl, ini, inno, intercal, io, java, java5, javascript, kixtart, klonec, klonecpp, latex, lisp, locobasic, lolcode, lotusformulas, lotusscript, lscript, lsl2, lua, m68k, make, matlab, mirc, modula3, mpasm, mxml, mysql, nsis, oberon2, objc, ocaml, ocaml-brief, oobas, oracle11, oracle8, pascal, per, perl, php, php-brief, phpbb, pic16, pixelbender, plsql, povray, powershell, progress, prolog, properties, providex, python, qbasic, rails, rebol, reg, robots, ruby, sas, scala, scheme, scilab, sdlbasic, smalltalk, smarty, sql, tcl, teraterm, text, thinbasic, tsql, typoscript, vb, vbnet, verilog, vhdl, vim, visualfoxpro, visualprolog, whitespace, whois, winbatch, xhtml, xml, xorg_conf, xpp, z80

Известные проблемы: парсинг bbcode и смайликов.

Планы: Пока тег придется набирать вручную, но в будущем для популярных диалектов будет выпадающий список в редакторе.

_________________
Пользуйтесь тегом math!

 Профиль  
                  
Показать сообщения за:  Поле сортировки  
Начать новую тему Эта тема закрыта, вы не можете редактировать и оставлять сообщения в ней.  [ 1 сообщение ] 

Часовой пояс: UTC + 3 часа [ Летнее время ]



Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 0


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения

Найти:

Темы с похожим названием

 Темы   Автор   Ответы 
Глюк в теге [ syntax ]

в форуме Работа форума

ewert

2

Подсветка синтаксиса в теге code для программистов

в форуме Работа форума

Circiter

12

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group