Обсуждение шаблона:Indent-em

Содержимое страницы недоступно на других языках.
Материал из Викитеки — свободной библиотеки
  • Хмм... Тоже плохой способ -- а изменятся абзацные отступы в классах с 1.6em на, скажем, 2.0em -- и что, менять по всем текстам? Какой то спорный способ убрать абзацный отступ. А если перед текстом, который должен быть без отступа, просто добавить <br />? Hinote (обсуждение) 21:26, 10 ноября 2014 (UTC)[ответить]
    А они что, самопроизвольно изменяются? Они у нас прописаны в Common.css и без ведома администраторов меняться вроде не должны )) А если бы и изменились, достаточно будет исправить всего одну страницу — сам шаблон. Можно даже оформить это специальным классом в том же Common.css и обновлять его синхронно с остальными классами. При всей его спорности, это пока единственный способ, не ломающий разметку абзаца (<br /> в начале абзаца добавляет лишнюю пустую строку). — Lozman (talk) 21:42, 10 ноября 2014 (UTC)[ответить]
    Ну, br добавляет пустую строку -- так без абзацного отступа и надо обычно после картинок, после формул -- где пустая строка, некий отступ как раз и нужен... А менять придется по текстам, долго и нудно -- т.к. отступ передается параметром в этом шаблоне, т.е. все страницы, где он используется, будут содержать этот текст "1.6", который придется менять при смене класса text, а не в шаблоне... Разве не так? Hinote (обсуждение) 22:38, 10 ноября 2014 (UTC)[ответить]
    Вот тут я впал в задумчивость... Мы вообще об одном и том же говорим? В документации же ясно написано - при вызове без параметров используется значение по умолчанию -1.6em. Поэтому и менять придётся только код шаблона, в вызове ничего не меняется, ибо нечего менять )) — Lozman (talk) 23:53, 10 ноября 2014 (UTC)[ответить]
    А, понятно. Значит это я невнимательно, по диагонали ознакомился, сорри. Тогда не надо будет менять везде по тексту, да. Но почему то мне все-равно такой способ не нравится, пока не осознал почему... (М.б просто из-за названия, в котором нет намека на noindent, но есть em, хотя предполагается его почти всегда вызывать без значения отступа в em...) Hinote (обсуждение) 00:53, 11 ноября 2014 (UTC)[ответить]
    Вот теперь у меня это смутное внутреннее свербление уменьшилось относительно применения этого шаблона для убирания абзацного отступа: см. {{Noindent2}}. Идеологически это, наверное, более правильно, я так думаю -- использовать для убирания отступа шаблон с подобным названием, да без параметра вообще... (Можно было и редирект сделать, но у этого шаблона есть параметр, а для шаблона, который именно noindent и ничего более -- параметр не нужен...) Hinote (обсуждение) 04:03, 11 ноября 2014 (UTC)[ответить]
    Понял, что меня смущает (и не здесь, а дело в шаблоне Indent) -- то, что там отступ в ex считается. "По рекомендациям лучших собаководов", т.е. по рекомендациям верстки, насколько я помню, ex следует использовать только для вычисления вертикальных отступов, а горизонтальные - в em. Поэтому и внутреннее сомнение такое возникло -- должен же, по идее, быть шаблон один шаблон Indent, в котором отступ в em... (И у меня тут дежавю возникло, вроде мы это уже обсуждали когда-то, про ex и em...) Hinote (обсуждение) 05:12, 11 ноября 2014 (UTC)[ответить]
    Видимо, это я в свое время невнимательно читал справку — почему-то у меня создалось впечатление, что em относится к высоте шрифта, а ex — к средней ширине символа, вот я и лепил его по горизонтали… Теперь понятно, что оба относятся к высоте шрифта, и что в большинстве случаев 1ex = 0.5em, но предпочтительно везде использовать em. Вот только шаблон Indent слишком сильно привязан к ex, что его уже вряд ли можно исправить (не переопределять же его через {{#expr:{{{1}}}*0.5}}em?). Насчет шаблона Noindent2 — в принципе, его можно было и не делать, а добавить эту функциональность в существующий Noindent при вызове без параметров. — Lozman (talk) 08:22, 11 ноября 2014 (UTC)[ответить]
    Не совсем так. 1/2 Em -- это En (в типографике; его нет среди единиц, в которых можно задавать размеры в css/html). Изначально, в типографике, Em -- это ширина 'M', в вебе -- это же font-size, размер шрифта. А Ex -- это высота 'x'. Поэтому и логично использовать именно так, ширину в em, высоту -- в em или в ex. Ибо если метрика шрифта у пользователя будет другая, если ширины с высотами символов иные, то соотношение Em и Ex будут иные и оформление "поедет"... Немного, но поедет. Соотв. и при использовании Indent для отступов, особенно при оформлении стихов, где это видно -- отступ будет не такой, как ожидал оформитель... Так что 1ex не равно 0.5em, это типографический 1 En равен 0.5 Em ... Я о том, что можно было бы переделать Indent с ex на em. Но тогда надо пересчитать числа, передаваемые ему. Например вместо {{Indent|7}} -- {{Indent|4}} или {{Indent|3}}... А перед этим, разумеется -- получить консенсус на такое изменение у тех, кто автивно этим пользуется (оформляет стихи, например, DmitrySmirnov...) В общем, муторно это менять, это же очень часто используемый шаблон... Надо статистику будет навести по использованию (выйдет новый дамп ВТ, посмотрю, посчитаю кто и как его вызывает)... Hinote (обсуждение) 09:27, 11 ноября 2014 (UTC)[ответить]
    Я не имел в виду, что ex определяется как половина em, но на практике обычно так или примерно так и выглядит. Переделать можно, в крайнем случае можно даже использовать дробные значения вроде 3.5em — но надо оценить объем работ, и, разумеется, нужен консенсус… Кстати, первоначально текст после отступа передавался шаблону как второй параметр (это и сейчас возможно), при замене это тоже придется учитывать (и желательно избавляться от этой практики). — Lozman (talk) 10:24, 11 ноября 2014 (UTC)[ответить]
    Да -- IE думает как раз, что 2ex=em (но это не так или не всегда так). Так что заменяя можно от такого соотношения и отталкиваться. Заключать в параметр текст абзаца -- да, идеологически порочно, если можно обойтись без этого, т.к. надо найти конец параграфа где-то далеко и поставить там закрывающие скобки, потом -- заменить "|" и "=" (ну, вы знаете, разумеется)... Поэтому, этот Indent-em (и реализованный через него теперь Noindent2) лучше, чем Noindent, т.к. не надо весь абзац запихивать в параметр... Потом -- внутри poem же вообще Indent не нужен -- там же есть отступы в 1em для каждого двоеточия... Наверное Indent в стихах начали использовать еще в стародавние времена, когда в расширении poem не был реализован этот функционал отступа для двоеточий... Вот (наверное) и можно начать cleanup со стихов -- менять {{Indent|n}} на n/2 двоеточий (считая 1em = 2 ex)... Потом и будет понятно, сколько Indent останется и для чего они используются... Hinote (обсуждение) 10:39, 11 ноября 2014 (UTC)[ответить]