Введение

Типографический символ ( ) (подчеркивание)

Подчеркивание — это линия, проведённая под фрагментом текста. В корректуре подчеркивание является условным обозначением, указывающим на необходимость набора текста курсивом, и традиционно использовалось в рукописях или машинописях как инструкция для типографа. Использование подчеркивания для выделения в современных готовых документах обычно не рекомендуется. Отдельный символ подчеркивания ( _ ), также называемый низкой линией или коротким тире, изначально появился на пишущих машинках для возможности ввода символа подчеркивания. Чтобы подчеркнуть слово, его сначала набирали, затем возвращались к началу слова и перепечатывали его, используя символ подчеркивания. В настоящее время подчеркивание реализуется с помощью языков разметки, комбинирующего знака низкой линии Unicode или как стандартная функция текстовых редакторов. Отдельный символ подчеркивания используется для обозначения границ слов в случаях, когда пробелы запрещены, например, в именах компьютерных файлов, адресах электронной почты и интернет-адресах. Он также используется корректорами для обозначения того, что текст следует подчеркнуть или набрать курсивом при верстке, например, должно быть отображено как или таким образом.

Диакритический

Комбинирующая диакритика (макро́н внизу) похожа на комбинирующую нижнюю линию, но короче. Различие между "макро́ном внизу" и "нижней линией" состоит в том, что последняя при соединении образует сплошное подчеркивание: сравните и (только последняя должна выглядеть как abc).

Современное использование

В рукописи (или машинописи), предназначенной для набора, различные виды подчеркивания (см. ниже) традиционно использовались для обозначения того, что текст следует набрать специальным шрифтом, например курсивом, как часть процесса, известного как разметка. В печатных документах подчеркивание обычно избегают, чаще используя курсив или мелкий капитель, или (особенно в заголовках) – заглавные буквы, полужирный шрифт или увеличенный размер шрифта. Ряд символов подчеркивания (например, ____) может использоваться для резервирования пробела в тексте, который впоследствии будет заполнен вручную, например, в бумажной форме. Его также иногда применяют для создания горизонтальной линии; для этой же цели используются и другие символы с похожими глифами, такие как дефис и тире. В немецком, словенском и некоторых других славянских языках подчеркивание в последнее время получило распространение как знак пунктуации для образования гендерно-нейтральных суффиксов в именах существительных и других частях речи. В современных изданиях испанских вокальных партитур подчеркивание также используется для обозначения элизии вместо знака бреве (◌̆), который неудобнее вводить с компьютера.

Использование в вычислительной технике

В веб-браузерах гиперссылки по умолчанию обычно выделяются подчеркиванием (и, как правило, изменением цвета), однако пользователи и веб-сайты могут изменить настройки, чтобы некоторые или все гиперссылки отображались иначе (или даже не отличались от обычного текста).

История

Поскольку ранние устройства вывода (телепринтеры, ЭЛТ и строчные принтеры) не могли вывести более одного символа в одной позиции, подчеркнуть текст было невозможно, поэтому в ранних кодировках, таких как ITA2 и первые версии ASCII, символа подчеркивания не было. Система кодирования символов EBCDIC от IBM, представленная в 1964 году, добавила символ подчеркивания, который IBM называла "символом разрыва". В отчете IBM о NPL (раннее название языка PL/I) набор символов остается не определенным, но специально упоминается символ разрыва и приводится в качестве примера идентификатора. К 1967 году символ подчеркивания появился в ASCII, заменив похожий по форме символ левой стрелки (см. также: PIP). Язык C, разработанный в Bell Labs в начале 1970-х годов, разрешил использование подчеркивания в идентификаторах. Символ подчеркивания появился раньше, чем строчные буквы, во многих системах, поэтому его часто использовали для создания составных идентификаторов, так как camelCase (см. ниже) был недоступен.

Программные конвенции

Подчеркивания, вставленные между буквами, широко распространены для создания "многословных" идентификаторов в языках, которые не поддерживают пробелы в идентификаторах. Эта конвенция известна как "snake_case" (другой популярный метод называется camelCase, где заглавные буквы используются для обозначения начала слов). Подчерк в качестве первого символа в идентификаторе часто используется для обозначения внутренней реализации, которая не считается частью API и не должна вызываться кодом вне этой реализации. В Dart все приватные свойства классов должны начинаться с подчеркивания; такое использование также распространено в других языках, как, например, C++, хотя в них предусмотрены ключевые слова для обозначения приватных членов. Оно широко используется для скрытия переменных и функций, применяемых в реализации, в файлах заголовков. Фактически, использование одного подчеркивания для этой цели стало настолько распространенным, что компиляторам C пришлось стандартизировать двойное ведущее подчеркивание (например, `DATE`) для фактических встроенных переменных, чтобы избежать конфликтов с переменными в файлах заголовков. PHP "резервирует все имена функций, начинающиеся с" как магические. Python использует имена, которые начинаются и заканчиваются двойными подчеркиваниями (так называемые "dunder-методы", от double underscore) для магических членов, используемых для таких целей, как перегрузка операторов и рефлексия, а также имена, начинающиеся, но не заканчивающиеся двойным подчеркиванием, для обозначения приватных переменных-членов классов, которые подвергаются искажению (mangling) таким образом, чтобы они не конфликтовали с членами производных классов, если только классы не имеют одинакового имени (в классе `MyClass` будет искажено до `_MyClass__`). По соглашению, члены, начинающиеся с одного подчеркивания, считаются приватными или защищенными, хотя это поведение оказывает непосредственное влияние только на модули, где операторы `import` по умолчанию импортируют все имена, не начинающиеся с подчеркивания, если только модулем явно не определен список экспорта. Переменная, названная только подчеркиванием, часто имеет особое значение. `$` или `_` – это предыдущая команда или результат во многих интерактивных оболочках, таких как Python, Ruby и Perl. В Perl `@_` – это специальная массивная переменная, содержащая аргументы функции. В Clojure она указывает на аргумент, значение которого будет проигнорировано. В некоторых языках с сопоставлением с образцом (pattern matching), таких как Prolog, Standard ML, Scala, OCaml, Haskell, Erlang и Wolfram Language, образец `_` соответствует любому значению, но не выполняет привязку.

HTML <u> и CSS

Символ ASCII подчеркивания может быть вставлен с помощью сущностей `_` или `&#95;` (или `&#x5F;` или `&lowbar;`). HTML имеет презентационный элемент <u>, который изначально использовался для подчеркивания текста; это использование было объявлено устаревшим в HTML4 в пользу стиля CSS {text-decoration: underline}. В HTML5 тег вновь появился, но его значение значительно изменилось: теперь он "представляет собой фрагмент встроенного текста, который должен быть отображен таким образом, чтобы указать на наличие нетекстовой аннотации". Подобные элементы могут также существовать в других языках разметки, таких как MediaWiki. Инициатива по кодированию текста (TEI) предоставляет обширный набор связанных элементов для обозначения редакционной деятельности (вставки, удаления, исправления, добавления и т. д.).

Подчеркивает на китайском языке

В китайском языке подчеркивание — малоупотребительный знак препинания, используемый для выделения имен собственных (; пиньинь: zhuānmínghào; буквально «знак имени собственного», применяется к именам людей и географическим названиям). Его функция в некоторой степени аналогична капитализации в английском языке, и его ни в коем случае нельзя использовать для выделения, даже если влияние англоязычных компьютерных технологий иногда приводит к обратному. Волнистая подчеркивание (; пиньинь: shūmínghào; буквально «знак названия книги») выполняет схожую функцию, но используется для обозначения названий литературных произведений, а не имен собственных. Если рядом находится два или более имен собственных, каждое из них подчеркивается отдельно, с небольшим промежутком между подчеркиваниями.