Project

General

Profile

RusRedmineTextFormatting » History » Version 10

Lucy Yevseyeva, 2014-06-21 15:37

1 5 Lucy Yevseyeva
p(breadcrumb). [[RusGuide|Руководство]] » [[RusUser_Guide|Руководство пользователя]]
2
3 7 Lucy Yevseyeva
Оригинал: [[RedmineTextFormatting|Wiki formatting v.101]] - дополнено и переработано.
4 4 Lucy Yevseyeva
5 3 Lucy Yevseyeva
h1. Оформление текстов
6 1 Ruslan Khasanov
7 3 Lucy Yevseyeva
{{>TOC}}
8 1 Ruslan Khasanov
9 3 Lucy Yevseyeva
Для таких вещей как заголовки, выделение текста, таблицы, списки и т.п. Redmine поддерживает[1] парсер "Textile":http://textile.thresholdstate.com.
10 1 Ruslan Khasanov
11 3 Lucy Yevseyeva
h2. Строчные элементы
12 1 Ruslan Khasanov
13 3 Lucy Yevseyeva
h3. Внешние ссылки
14 1 Ruslan Khasanov
15 3 Lucy Yevseyeva
Адреса http(s), ftp и mail автоматически преобразуются в "кликабельные" ссылки:
16 1 Ruslan Khasanov
17 3 Lucy Yevseyeva
p(. *http://www.redmine.org*:  http://www.redmine.org
18 1 Ruslan Khasanov
19 3 Lucy Yevseyeva
Для размещения в ссылке произвольного текста используйте следующую разметку:
20 1 Ruslan Khasanov
21
p(. *"Главная страница проекта Redmine":http://www.redmine.org*: "Главная страница проекта Redmine":http://www.redmine.org.
22
23 7 Lucy Yevseyeva
h3. E-mail ссылки
24
25
p(. *someone@foo.bar*: someone@foo.bar.
26
27
В ссылке на e-mail адрес можно указать тему, текст письма и адреса для отправки копий.
28
29
p(. *"Email webmaster and admin":mailto:webmaster@foo.bar?cc=admin@foo.bar*: "Email webmaster and admin":mailto:webmaster@foo.bar?cc=admin@foo.bar -- указание адреса для отправки копии.
30
31
p(. *"Email someone for help":mailto:someone@foo.bar?subject=Website%20Help*: "Email someone for help":mailto:someone@foo.bar?subject=Website%20Help -- указание темы письма.
32
33
p(. *"Email someone for help":mailto:someone@foo.bar?subject=Website%20Help&body=My%20problem%20is%20*: "Email someone for help":mailto:someone@foo.bar?subject=Website%20Help&body=My%20problem%20is%20 -- указание текста письма.
34
35
p(. _*Важно_:* вместо пробелов в ссылку следует вставлять код %20.
36 8 Lucy Yevseyeva
37 3 Lucy Yevseyeva
h3. Акронимы
38 1 Ruslan Khasanov
39 3 Lucy Yevseyeva
Ненавязчиво пояснить аббревиатуры в тексте можно следующим образом[2]:
40 1 Ruslan Khasanov
41 3 Lucy Yevseyeva
p(. *JPL(Jean-Philippe Lang)*: JPL(Jean-Philippe Lang).
42 1 Ruslan Khasanov
43 3 Lucy Yevseyeva
h3. Стили шрифтов
44 1 Ruslan Khasanov
45 3 Lucy Yevseyeva
p(. *_italic_*: _курсив_
46 1 Ruslan Khasanov
47 3 Lucy Yevseyeva
p(. **_bold italic_**: *_жирный курсив_*
48 1 Ruslan Khasanov
49 3 Lucy Yevseyeva
p(. *+underline+*: +подчеркнутый+
50 1 Ruslan Khasanov
51 3 Lucy Yevseyeva
p(. *-strike-through-*: -перечеркнутый-
52 1 Ruslan Khasanov
53 3 Lucy Yevseyeva
p(. *Plain ^superscript^*: ^Верхний^ индекс
54 1 Ruslan Khasanov
55 3 Lucy Yevseyeva
p(. *Plain ~subscript~*: ~Нижний~ индекс
56 1 Ruslan Khasanov
57 3 Lucy Yevseyeva
p(. *inline @monospace@*: @моноширинный@ шрифт
58 1 Ruslan Khasanov
59 3 Lucy Yevseyeva
p(. *??cite??*: ??цитата??
60 1 Ruslan Khasanov
61 3 Lucy Yevseyeva
p(. *%span%*: %диапазон%
62 1 Ruslan Khasanov
63 3 Lucy Yevseyeva
h3. Изображения
64 1 Ruslan Khasanov
65 3 Lucy Yevseyeva
Внешние:
66 1 Ruslan Khasanov
67 10 Lucy Yevseyeva
p(. *!image_url!* — встраивает в текст изображение, находящееся по внешнему адресу image_url.
68 1 Ruslan Khasanov
69 10 Lucy Yevseyeva
p(. *!image_url(Image title)!* — изображение будет снабжено заголовком.
70 1 Ruslan Khasanov
71 10 Lucy Yevseyeva
p(. *!>image_url!* — изображение выровнено по правому краю, текст обтекает изображение по левому краю.
72
73 1 Ruslan Khasanov
Прикрепленные:
74
75 10 Lucy Yevseyeva
p(. *!attached_image.png!* — встраивает в текст изображение attached_image.png, прикрепленное к странице.
76 1 Ruslan Khasanov
77 10 Lucy Yevseyeva
*_Важно:_* ссылки на прикрепленные изображения действуют только на той странице, к которой они прикреплены.
78
79 3 Lucy Yevseyeva
Примеры:
80 10 Lucy Yevseyeva
* *!i0003.gif!* изображение, причем текст будет продолжен после изображения !i0003.gif(Индеец)! вот так, а при наведении курсора на изображение появится текст. Этот текст также появится,если изображение по какой-либо причине недоступно — !i0004.gif(Индеец)!
81 3 Lucy Yevseyeva
* *!>i0003.gif!* изображение отображается справа от текста !>i0003.gif!
82
пример изображения справа от текста
83
опять справа от текста
84
еще справа от текста
85
и тут картинка справа от текста
86
а тут текст слева от картинки
87 1 Ruslan Khasanov
88 3 Lucy Yevseyeva
h2. Блочные элементы
89 1 Ruslan Khasanov
90 3 Lucy Yevseyeva
Для корректной обработки textile-разметки рекомендуется помещать блочные элементы (p, h, bq, fn) в самое начало строки и отделять их от остального текста пустыми строками.
91 1 Ruslan Khasanov
92 3 Lucy Yevseyeva
h3. Заголовки
93 1 Ruslan Khasanov
94 3 Lucy Yevseyeva
p(. *hn.* Заголовок n-ного уровня, где _n_ принимает значение от 1 до 6.
95 1 Ruslan Khasanov
96 3 Lucy Yevseyeva
h3. Абзацы
97 1 Ruslan Khasanov
98 3 Lucy Yevseyeva
p. *p.* Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
99 1 Ruslan Khasanov
100 3 Lucy Yevseyeva
p(. *p(.* Отступ слева в 1em. Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
101 1 Ruslan Khasanov
102 3 Lucy Yevseyeva
p((. *p((.* Отступ слева в 2em. Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
103
Отступ сохраняется для всех следующих без пробела строк.
104 1 Ruslan Khasanov
105 3 Lucy Yevseyeva
p>. *p>.* Выравнивание по правому краю. Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
106 1 Ruslan Khasanov
107 3 Lucy Yevseyeva
p<. *p<.* Выравнивание по левому краю (по умолчанию).
108 1 Ruslan Khasanov
109 3 Lucy Yevseyeva
p)))>. *p)))>.* Выравнивание по правому краю с отступом справа в 3em. Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
110
_Выравнивание и отступ также сохраняется для всего следующего через перенос строки (@<br>@)
111
 текста._
112 1 Ruslan Khasanov
113 3 Lucy Yevseyeva
_Выравнивание сбрасывается с введением пустой строки между выровненным блочным элементом и остальным текстом._
114 1 Ruslan Khasanov
115 3 Lucy Yevseyeva
p=. *p=.* Выравнивание по центру. Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
116 1 Ruslan Khasanov
117 3 Lucy Yevseyeva
p<>. *p<>.* Выравнивание по левому и правому краю. Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
118 1 Ruslan Khasanov
119 3 Lucy Yevseyeva
h3. Pre-форматирование
120 1 Ruslan Khasanov
121 3 Lucy Yevseyeva
> Внутри выделенного *тэгами* блока текст не будет преобразован [[RedmineTextFormattingRus#Разметка Textile|Парсером]].
122 1 Ruslan Khasanov
123 3 Lucy Yevseyeva
Чтобы избежать преобразования textile-разметки в html-код используйте тэги @&#60;pre>&#60;/pre>@.
124 1 Ruslan Khasanov
125 3 Lucy Yevseyeva
<pre><pre>Внутри выделенного *тэгами* блока текст не будет преобразован [[RedmineTextFormattingRus#Разметка Textile|Парсером]].</pre></pre>
126 1 Ruslan Khasanov
127
h3. Цитаты
128
129 3 Lucy Yevseyeva
> *&#62;* "Ruby on Rails" — программный каркас, написанный на языке программирования Ruby. Ruby on Rails предоставляет архитектурный образец Model-View-Controller (модель-представление-контроллер) для веб-приложений, а также обеспечивает их интеграцию с веб-сервером и сервером базы данных.
130
 или
131 1 Ruslan Khasanov
132 3 Lucy Yevseyeva
bq.:http://ru.wikipedia.org/wiki/Ruby_on_Rails *bq.:http://ru.wikipedia.org/wiki/Ruby_on_Rails* "Ruby on Rails" — программный каркас, написанный на языке программирования Ruby. Ruby on Rails предоставляет архитектурный образец Model-View-Controller (модель-представление-контроллер) для веб-приложений, а также обеспечивает их интеграцию с веб-сервером и сервером базы данных.
133 1 Ruslan Khasanov
134 3 Lucy Yevseyeva
>> *&#62;&#62;* Синтаксис textile-ссылки @:http://ru.wikipedia.org/wiki/Ruby_on_Rails@ преобразуется в атрибут @cite="http://ru.wikipedia.org/wiki/Ruby_on_Rails"@.
135 1 Ruslan Khasanov
136 3 Lucy Yevseyeva
>>> Вдруг кому пригодится.
137 1 Ruslan Khasanov
138 3 Lucy Yevseyeva
h3. Списки
139 1 Ruslan Khasanov
140 3 Lucy Yevseyeva
Обратите внимание на то, как работает вложенность элементов при вставке пустой строки между ними.
141
Вложенность сохраняется при наличие отступа у последующего элемента списка и сбрасывается - без отступа.
142
143
Разметка для ненумерованного списка
144
<pre>* Item 1
145
* Item 2
146
** Item 2.1
147
148
 ** Item 2.1.1
149
*** Item 2.1.2
150
** Item 2.2
151
* Item 3
152
153
** Item 0
154 1 Ruslan Khasanov
</pre>
155 3 Lucy Yevseyeva
отображается как:
156
* Item 1
157
* Item 2
158
** Item 2.1
159 1 Ruslan Khasanov
160 3 Lucy Yevseyeva
 ** Item 2.1.1
161
*** Item 2.1.2
162
** Item 2.2
163
* Item 3
164 1 Ruslan Khasanov
165 3 Lucy Yevseyeva
** Item 0
166 1 Ruslan Khasanov
167 3 Lucy Yevseyeva
Разметка для нумерованного списка
168
<pre># Item 1
169
# Item 2
170 1 Ruslan Khasanov
171 3 Lucy Yevseyeva
 ## Item 2.1
172
173
  ## Item 2.1.1
174
## Item 2.2
175
# Item 3
176
177
# Item 0
178 1 Ruslan Khasanov
</pre>
179 3 Lucy Yevseyeva
отображается как:
180
# Item 1
181
# Item 2
182 1 Ruslan Khasanov
183 3 Lucy Yevseyeva
 ## Item 2.1
184 1 Ruslan Khasanov
185 3 Lucy Yevseyeva
  ## Item 2.1.1
186
## Item 2.2
187
# Item 3
188 1 Ruslan Khasanov
189 3 Lucy Yevseyeva
# Item 0
190
191 1 Ruslan Khasanov
h3. Таблицы
192
193 3 Lucy Yevseyeva
Любое количество пустых символов будет заменено одним пробелом, поэтому для удобства разметки можно использовать текстовый редактор и табуляцию.
194
195 1 Ruslan Khasanov
<pre>
196 3 Lucy Yevseyeva
|_.UserID|_.Name|_.Group|_. attribute list |
197
|\3=.IT               |<. align left|
198
|1|Artur Pirozhkov |/2.Users |>. align right|
199
|2|Vasya Rogov        |=. center |
200
|3|John Smith |Admin
201
               (root)|^. valign top |
202
|4|-          |Nobody
203
               (anonymous)|~. valign bottom|
204
205 1 Ruslan Khasanov
</pre>
206
207 3 Lucy Yevseyeva
Отображается как:
208
|_.UserID|_.Name|_.Group|_. attribute list |
209
|\3=.IT               |<. align left|
210
|1|Artur Pirozhkov |/2.Users |>. align right|
211
|2|Vasya Rogov        |=. center |
212
|3|John Smith |Admin[3]
213
(root)|^. valign top |
214
|4|-          |Nobody
215
               (anonymous)|~. valign bottom|
216 1 Ruslan Khasanov
217 3 Lucy Yevseyeva
h3. Сноски
218 1 Ruslan Khasanov
219 3 Lucy Yevseyeva
Сноска:
220
221
fn21. *fn21.* Поясняющий текст.
222
223
Ссылка на сноску[4]:
224
225
p(. *Поясняемый текст&#91;21]*: Поясняемый текст[21]
226
227 6 Lucy Yevseyeva
h3. Разделитель
228
229
Три дефиса *---*, отделенные переносами строк от остального текста, преобразуются в html-тэг <hr>.
230
231
---
232
233 3 Lucy Yevseyeva
h2. Атрибуты
234
235
h3. Идентификаторы
236
237
p(. *p(#id).* -- присваивает абзацу идентификатор id.
238
239
Пример: 
240
241
p((#id). Данный абзац имеет идентификатор id, что может быть использовано, например, для создания [[RedmineTextFormattingRus#id|ссылки]] на него.
242
243
h3. Классы css
244
245
p(. *p(class).* -- присваивает абзацу класс class.
246
247
Пример:
248
249
p((ruby syntaxhl). Данный абзац содержит фразу, оформленную в стиле %(fu)ruby функции.%
250
251
h2. Ссылки на объекты
252
253
Чтобы предотвратить преобразование redmine-разметки в ссылку поставьте перед ней восклицательный знак.
254
255
h3. Задачи
256
257
p(. *!#124*: #124 -- ссылка перечеркнута, если задача закрыта.
258
259
h3. Редакции
260
261
p(. *!r758*: r758
262
263
h3. Коммиты 
264
265
p(. *commit:c6f4d0fd*: commit:c6f4d0fd
266
267
h3. Wiki-страницы
268
269
Ссылка отображается красной, если страницы не существует: [[Nonexistent page]].
270
271
p(. *&#91;&#91;Guide&#93;&#93;*: [[Guide]]
272
273
p(. *&#91;&#91;Guide&#124;User manual&#93;&#93;*: [[Guide|User manual]] -- ссылка с произвольным текстом.
274
275
p(. *&#91;&#91;Guide#User-guide&#124;User guide&#93;&#93;*: [[Guide#User-guide|User guide]] -- ссылка на определенный заголовок страницы.
276
_После символа # в названии заголовка ставятся дефисы вместо пробелов._
277
278
p(. *&#91;&#91;someproject:some-page&#93;&#93;* -- ссылка на wiki-страницу из другого проекта.
279
280
p(. *&#91;&#91;someproject:&#93;&#93;* -- ссылка на главную страницу Wiki другого проекта.
281
282
h3. Документы
283
284
p(. *!document#17* -- ссылка на документ по идентификатору.
285
286
p(. *!document:somedocument* -- ссылка на документ по названию.
287
288
p(. *!document:"Some document"* -- название заключается в двойные кавычки, если в нем есть пробелы.
289
290
p(. *!document:some_project:"Some document"* -- ссылка по названию на доукумент в другом проекте.
291
292
h3. Версии
293
294
p(. *!version#3* -- ссылка на версию по идентификатору.
295
296
p(. *!version:1.0.0* -- ссылка на версию по названию.
297
298
p(. *!version:"1.0 beta 2"* -- название заключается в двойные кавычки, если в нем есть пробелы.
299
300
h3. Проекты
301
302
p(. *project#4* или *!project:someid* -- ссылка на проект по числовому или символьному идентификатору.
303
304
p(. *!project:someproject* - ссылка на проект по названию.
305
306
p(. *!project:"Some project"* - название заключается в двойные кавычки, если в нем есть пробелы.
307
308
h3. Вложения
309
  
310
p(. *!attachment:i0003.gif*: attachment:i0003.gif -- ссылка на файл, прикрепленный к данной странице.
311
312
p((#attach). _*Важно*_: ссылки на прикрепленные файлы действуют только на той странице, к которой они прикреплены.
313
314
h3. Репозиторий
315
316
p(. *!source:some/file* -- ссылка на файл репозитория.
317
318
p(. *!source:some/file@52* -- ссылка на редакцию файла репозитория.
319
320
p(. *!source:some/file#L120* -- ссылка на строку файла репозитория.
321
322
p(. *!source:some/file@52#L120* -- комбинация разметки.
323
324
p(. *!source:"some file@52#L120"* -- двойные кавычки используются, если в URL присутствуют пробелы.
325
326
p(. *!export:some/file* -- ссылка на скачивание файла.
327
328
h2. Макросы
329
330
Список доступных макросов и их описание (по-английски) вызывается макросом *&#123;{macro_list}}*.
331
332
{{>TOC}}
333
334 1 Ruslan Khasanov
h3. Содержание
335
336 3 Lucy Yevseyeva
*&#123;{TOC}}* -- отображает содержание страницы, которое формируется автоматически на основе [[RedmineTextFormattingRus#Заголовки|заголовков]].
337
*&#123;{>TOC}}* -- выравнивание блока содержания по правому краю:
338 1 Ruslan Khasanov
339 3 Lucy Yevseyeva
h3. Дочерние страницы
340 1 Ruslan Khasanov
341 3 Lucy Yevseyeva
*&#123;{child_pages}}* -- выводит список ссылок на все "дочерние страницы":http://www.redmine.org/projects/redmine/wiki/RedmineWikis#Creating-sub-pages-parentchild-relationships (англ.) данной страницы.
342
*&#123;{child_pages(Foo)}}* -- выводит список ссылок для указанной в скобках wiki-страницы [[Foo]].
343
*&#123;{child_pages(Foo, parent=1)}}* -- начинает список со ссылки на родительскую страницу.
344 1 Ruslan Khasanov
345 3 Lucy Yevseyeva
Пример последнего макроса для страницы [[Teams]]:
346
{{child_pages(Teams, parent=1)}}
347 1 Ruslan Khasanov
348 3 Lucy Yevseyeva
h3. Включение текста
349 1 Ruslan Khasanov
350 3 Lucy Yevseyeva
*&#123;{include(Foo)}}* -- включает в данном месте текста содержимое страницы [[Foo]] без каких-либо специальных обозначений.
351 1 Ruslan Khasanov
352 3 Lucy Yevseyeva
Пример:
353 1 Ruslan Khasanov
354 3 Lucy Yevseyeva
{{include(Foo)}}
355
Если включаемой страницы не существует или у пользователя нет к ней доступа, будет выведено сообщение об ошибке.
356
357
h2. Подсветка кода
358
359
Подсветка кода реализована на "CodeRay":http://coderay.rubychan.de/ - скоростной библиотеке, написанной на Ruby. Она поддерживает синтаксис C, C++, CSS, Delphi, Diff, Groovy, HTML, Java, Javascript, JSON, Nitro-XHTML, PHP, Python, RHTML, Ruby, Scheme, SQL, XML и YAML.
360
361
Чтобы подсветить код, используйте следующую разметку:
362
363 1 Ruslan Khasanov
<pre><code><pre><code class="ruby">
364 3 Lucy Yevseyeva
  Place your code here.
365 1 Ruslan Khasanov
</code></pre>
366
</code></pre>
367
368
Пример:
369
370
<pre><code class="ruby">
371
# The Greeter class
372 2 Denis Savitskiy
class Greeter
373 1 Ruslan Khasanov
  def initialize(name)
374
    @name = name.capitalize
375
  end
376
 
377
  def salute
378
    puts "Hello #{@name}!"
379
  end
380
end
381
</code></pre>
382 3 Lucy Yevseyeva
383
h2. Заключение
384
385
Простейшие возможности разметки доступны через кнопки над полем ввода, однако, все варианты оформления применимы к любому тексту в Redmine: задаче, новости, комментарию и т.п.
386
Историю изменений wiki-страницы можно посмотреть, нажав ссылку "История " вверху справа.
387
В качестве примера всех перечисленных вариантов разметки можно рассмотреть исходный код данной статьи.
388
389
fn1. Синтаксис Textile поддерживается в Redmine не полностью. В частности, не преобразуются спецсимволы, например, (с) в &copy;, -- в &mdash; и т.п., а также не поддерживается разметка: атрибута {color:red} и блоков bq.., bc. и pre.
390
391
fn2. К сожалению, не работает для кириллицы: ИС(Информационные Системы)
392
393
fn3. Перенос строки в тексте преобразуется парсером в @<br>@.
394
395
fn4. Ссылка не обрабатывается если отделяется от поясняемой фразы: например [4] или "другой пример"[4].