Помощь:Обработка переноса строки

Справочная страница Викимедиа

На этой странице объясняются различные методы создания, контроля и предотвращения переносов строк и слов в статьях и страницах Википедии.

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

Вызывает разрывы строк

Новые строки

  • H:ПАРАГРАФ

Существует несколько способов принудительного переноса строк и абзацев в тексте. Самый простой способ — вставка новых строк; например:

РазметкаОтображается как
Один символ новой строки в разметкене вызывает видимого разрыва строки.

Одиночный символ новой строки в разметке не приводит к видимому разрыву строки.

Два новых строки в разметкеприводит к разрыву абзаца.

Два новых строки в разметке

приводит к разрыву абзаца.

Три новых строки в разметкевызывает слишком широкий разрыв абзаца. Обычно этого следует избегать.

Три новых строки в разметке


вызывает слишком широкий разрыв абзаца. Обычно этого следует избегать.

<br>

  • Н:БР

<br>, <br >, <br/>, <br />

Программное обеспечение MediaWiki использует любой из них для одного принудительного переноса строки. Все они преобразуются в <br />HTML, который считывают браузеры.

MediaWiki также конвертирует </br>в <br />, но эта форма недействительна. Пожалуйста, исправьте эти теги.

Для контента, который семантически является списком, например, в инфобоксах, предпочтительнее фактическая разметка списка. См. § Списки ниже.

РазметкаОтображается как
И эта строка текста<br>оборвется посередине.

И эта строка текста
оборвется посередине.

В примере ниже представлены пять форм, включая недопустимую </br>, которые отображаются как переносы строк, и две, которые отображаются как обычный текст.

Источник Вики

Один <br>Два <br >Три </br>Четыре <br/>Пять <br />Шесть < br>Семь </ br>Восемь

Результат визуализации

Один
Два
Три
Четыре
Пять
Шесть < br>Семь </ br>Восемь

<стихотворение>

Расширение <poem>добавляет HTML-подобные теги для сохранения новых строк и пробелов. Это полезно для более длинных текстовых блоков, таких как поэмы, тексты песен, девизы, клятвы и т. п. Эти теги могут использоваться внутри других тегов, таких как <blockquote>. Например:

РазметкаОтображается как
<стихотворение>В Ксанаду сделал [[Кубла Хан]] Величественный указ о куполе удовольствий:Где протекала священная река Альф Сквозь пещеры, неизмеримые для человекаВниз, к бессолнечному морю.Итак, дважды по пять миль плодородной земли Стенами и башнями был опоясан:И были сады, яркие с извилистыми ручьями, Где цвели многочисленные благовония;И здесь были леса, древние как холмы, Окутывающие солнечные пятна зелени.</стихотворение>

В Ксанаду Кубла Хан
  постановил Величественный купол удовольствий:
Где Альф, священная река, бежала
  Через пещеры, неизмеримые для человека,
Вниз к бессолнечному морю.

Так дважды по пять миль плодородной земли
  Стенами и башнями были опоясаны:
И были сады, яркие с извилистыми ручьями,
  Где цвело множество благовонных деревьев;
И были здесь леса, древние, как холмы,
  Окутывающие солнечные пятна зелени.

<пред>

<pre>...</pre>и его альтернативы обычно используются для отображения кода; их содержимое отображается в моноширинном формате с рамкой и другим цветом фона. Как разметка, так и символы новой строки внутри <pre>...</pre>воспроизводятся дословно. Однако первый символ новой строки после <pre>и последний символ новой строки перед </pre>игнорируются, что позволяет размещать теги на собственных строках без появления дополнительных пустых строк на странице.

Разметка
<пред>{{2x|foo}}<br />бар[[вики]]</пред>
Отображается как
{{2x|foo}}<br />бар[[вики]]

Чтобы оценить разметку, сохранив при этом переводы строк, можно использовать альтернативы <pre<includeonly></includeonly>></pre>и {{ Pre }} .

Разметка
{{До |{{2x|foo}}<br />бар[[вики]]}}
Отображается как
foofoo 
бар вики

<новики>

Эффект тега на переносы строк заключается в том, что одинарные и двойные переносы строк игнорируются, и вы также не можете добавить перенос строки с помощью :<nowiki>...</nowiki><br />

Разметка
<новики>Одиночные переносы строк,и двойные переносы строк,игнорируются,и тег <br />отображается как есть.</nowiki>
Отображается как
Одинарные и двойные переносы строк игнорируются, а тег <br /> отображается как есть.

Существует несколько способов включить переносы строк в тексте, использующем <nowiki>...</nowiki>:

Решение 1. Использовать <nowiki>...</nowiki>для каждой строки отдельно, с <br />или двойным переводом строки между строками.

Разметка
<nowiki>По всей линии,</nowiki> <br />или только вокруг текста, который необходимо экранировать: <nowiki>{{2x|bar}}</nowiki>.<nowiki> Лишние пробелы по-прежнему свернуты. </nowiki>
Отображается как
По всей линии,

или только вокруг текста, который необходимо экранировать: {{2x|bar}}.

Дополнительные пробелы по-прежнему свернуты.

Решение 2 : Используйте <poem>...</poem>.

Разметка
<poem><nowiki>Это был бриллиг, а ''й<sup>е</sup>'' хитрый товес Сделал ли гир и джимбл в ''й<sup>и</sup>'' вабе:Все мимси были ''й<sup>е</sup>'' бороговы, А ''y<sup>e</sup>'' мне кажется преувеличением.</nowiki></poem>
Отображается как

Это были бриллиг, и хитрые движения «йе<sup>и</sup>»
  Делали круговорот и гимнастику в «йе<sup>и</sup>» вабе:
Все мимзи были «йе<sup>и</sup>» бороговыми,
  И «йе<sup>и</sup>» моме раты перехвались.

При <poem>...</poem>использовании с <nowiki>...</nowiki>, содержимое должно начинаться на той же строке, что и теги, поскольку в выводе появится начальная новая строка. Однако последняя новая строка игнорируется , поэтому закрывающие теги могут находиться на своей собственной строке.

Разметка
<поэма><новики>Дополнительная строка выше</nowiki></поэма>
Отображается как


Дополнительная строка выше

Решение 3 : рассмотрите возможность использования <pre> вместо <nowiki>...</nowiki>.

Списки

Нумерованные и маркированные списки создаются с использованием стандартной вики-разметки. В случаях, когда требуется простой список без номера или маркера, например, в информационном поле, многие редакторы просто создают список с использованием разрывов. Этот метод не применяет семантику списка, и для тех, кто использует программы чтения с экрана, он не будет звучать как список. Для этих случаев {{ plainlist }} и {{ unbulleted list }} используют разметку списка без номеров или маркеров:

РазметкаОтображается как
{{простой список|* кот* собака* лошадь* корова* овца* свинья}}
  • кот
  • собака
  • лошадь
  • корова
  • овца
  • свинья

Формулы

Для отображения формул <math>на отдельной строке Wikipedia:Manual of Style/Mathematics#Using LaTeX markup рекомендует использовать <math display=block>.

Предотвращение и контроль переносов слов

Есть несколько способов предотвратить появление переносов слов (строк) в нежелательных местах. Это обзор того, когда использовать тот или иной метод.

Неразрывный пробел

HTML-сущность&nbsp;это неразрывный или жесткий пробел. Он отображается как обычный пробел " ", но предотвращает перенос строки, например:

РазметкаОтображается как
Много текста Еще 10 кг текста.

Это может выглядеть так:

Много текста 10 кг
больше текста.

Или это может выглядеть так:

Много текста
Еще 10 кг текста.

Но это не будет выглядеть так:

Много текста 10
кг больше текста.

Неразрывный пробел работает внутри ссылок точно так же, как и обычный пробел. Таким образом, вы можете ссылаться [[J.&nbsp;R.&nbsp;R. Tolkien]]напрямую, и он будет отображаться как J. R. R. Tolkien . Инициалы не будут разделены разрывом строки.

Однако, &nbsp;это затрудняет чтение и редактирование исходного текста. Избегайте его использования, если только это действительно не необходимо, чтобы избежать переноса строки.

Неразрывный дефис

Браузеры могут разрывать слова на дефисах . Чтобы этого не произошло, можно использовать неразрывный дефис &#8209; , например:

Как видно на странице C‑2 газеты.

Этот код генерирует «страницу C‑2» так же, как и простой код « page C-2», но предотвращает перенос строки на дефисе.

Однако, как и &nbsp;, использование &#8209;вместо " -" затрудняет чтение и редактирование исходного текста. Не используйте его, если только это действительно не необходимо, чтобы избежать переноса строки.

Встроенные блоки

Шаблоны позволяют избегать разрывов, но допускают их, если места недостаточно.{{Inline block}}{{Avoid wrap}}{{awrap}}является сокращением последнего.

РазметкаОтображается как
{{встроенный блок|{{цвет|синий|Lorem ipsum скорбь сидит амет, consectetur adipiscing elit, sed do eiusmod tempor incididunt.}}}}

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt.

{{встроенный блок|{{цвет|зеленый|Sed ut perspiciatis unde omnis iste natus ошибка сидеть voluptatem accusantium.}}}}

Sed ut perspiciatis unde omnis iste natus error sit voluptatem accusantium.

{{избегать переноса|{{цвет|синий|Lorem ipsum скорбь сидит амет, consectetur adipiscing elit, sed do eiusmod tempor incididunt.}}}}

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt.

{{обертка|{{цвет|зеленый|Sed ut perspiciatis unde omnis iste natus ошибка сидеть voluptatem accusantium.}}}}

Sed ut perspiciatis unde omnis iste natus error sit voluptatem accusantium.

Оба помещают содержимое в <span style="display:inline-block;">. Последний также добавляет класс CSS "avoidwrap".

{{nowrap}}

  • WP:NOWRAP

Шаблон {{ nowrap }} менее гибкий и не допускает разрывов, даже если строка слишком длинная для окна, заставляя пользователя прокручивать страницу:

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt. Sed ut perspiciatis unde omnis iste natus error sit voluptatem accusantium.

Это хорошо для коротких текстовых разделов, таких как "10 кг (22 фунта)", которые всегда должны оставаться вместе.
Этого также можно добиться с помощью неразрывного пробела : Но это затрудняет чтение исходного текста. Вместо этого рекомендуется использовать шаблон:Lots of text 10&nbsp;kg&nbsp;(22&nbsp;lb) more text.
Lots of text {{nowrap|10 kg (22 lb)}} more text.

Это может выглядеть такили вот такили вот так.Но не так.

Много текста Еще 10 кг (22 фунта) текста.

Много текста
Еще 10 кг (22 фунта) текста.

Много текста
Еще 10 кг (22 фунта) текста.

Много текста
Еще 10 кг (22 фунта) текста.

(Для конкретного случая преобразования единиц см. {{ convert }} .)

В некоторых случаях {{ nowrap }} работает не так хорошо. Например, если вы хотите предотвратить переносы в более длинном или сложном тексте, может быть сложно увидеть, где заканчивается {{ nowrap }} . Кроме того, механизмы шаблонов MediaWiki интерпретируют такие символы, как знаки равенства " =" и вертикальные черты " |" в параметрах шаблона, как специальные символы, и поэтому они вызывают проблемы. В этих случаях вместо этого рекомендуется использовать {{ nowrap begin }} + {{ nowrap end }} , например:

{{nowrap start}}2 + 2 = 4{{nowrap end}} и{{nowrap start}}|2| < 3{{nowrap end}}

Это может выглядеть так:

2 + 2 = 4 и
|2| < 3

Но это не будет выглядеть так:

2 + 2 = 4 и |2|
< 3

<wbr> и мягкие дефисы

Чтобы вставить возможность переноса слова, используйте <wbr>.

Он указывает, где можно добавить перенос строки, если слово слишком длинное или если предполагается, что браузер перенесет строку в неправильном месте. Будет ли строка фактически перенесена, остается на усмотрение браузера. Перенос будет выглядеть как пробел — см. мягкий перенос ниже, когда было бы более уместно перенести слово или строку с помощью дефиса.

Разметка
Сейчас самое время стать опытным редактором, изучив язык разметки гипертекста...
Отображается как
Это может выглядеть так:
Сейчас самое время стать опытным редактором, изучив язык разметки гипертекста...

Или он может отображаться так (в узком окне браузера):

Сейчас самое время стать опытным редактором, изучив Hyper
Язык разметки текста ...

Обратите внимание, что это <wbr>не будет работать внутри {{ nowrap }} .

Во многих случаях разрыв слова пробелом будет неуместен. Мягкие переносы также создают возможности для разрыва слов, но добавляют дефис, а не пробел. Другими словами, мягкий перенос — это дефис, вставленный в слово, которое не было бы расставлено через дефис, и который будет отображаться или набираться только в том случае, если оно находится в конце строки текста.

Код &shy;используется таким же образом, как <wbr>. Например:

РазметкаОтображается как
Это длинное немецкое слово Datenschutz­erklärung разрывается между составными частями «Datenschutz» и «erklärung».

Это длинное немецкое слово Datenschutzerklärung разрывается между составными частями «Datenschutz» и «erklärung».

Использование мягких дефисов должно быть ограничено особыми случаями, обычно включающими очень длинные слова или узкие пробелы (например, подписи в инфобоксах или других плотных макетах страниц, или заголовки столбцов в узких таблицах). Широкое использование мягких дефисов настоятельно не рекомендуется, поскольку это делает викитекст очень трудным для чтения и редактирования. Например:

РазметкаОтображается как
Этот пример исходного кода Wi­ki сложен для понимания.

Этот пример из Викиресурса сложен для понимания.

Вместо этого рассмотрите возможность использования шаблона для таких сложных случаев:{{shy}}

РазметкаОтображается как
{{shy|Этот альтер|натив|ный синтаксис улучшает чита|емость}}

Этот альтернативный синтаксис улучшает читаемость.

Перенос между (связанными) элементами списка

В списках ссылок, например внутри информационных полей и навигационных полей , используйте горизонтальный список (возможно, с помощью шаблона {{ flatlist }} ) для форматирования списков.

В редких случаях, когда вам необходимо разграничить два фрагмента текста за пределами списка, вы можете использовать шаблоны {{·}} или {{•}}, которые содержат a &nbsp;перед точкой, тем самым решая некоторые проблемы переноса.

Смотрите также

Взято с "https://en.wikipedia.org/w/index.php?title=Help:Line-break_handling&oldid=1246564412"