Ав­то­ма­ти­че­ская рас­ста­нов­ка пе­ре­но­сов

Рас­ста­вить пе­ре­но­сы в ва­шем сло­ве или тек­сте вы мо­же­те на стра­ни­це те­сти­ро­ва­ния ал­го­рит­ма

Пе­ре­но­сы в сло­вах нуж­ны для то­го, что­бы текст вы­гля­дел бо­лее при­вле­ка­тель­но. При вы­рав­ни­ва­нии по обе­им сто­ро­нам раз­ме­ры про­бе­лов уве­ли­чи­ва­ют­ся не так за­мет­но, как в тек­сте без пе­ре­но­сов, а при вы­рав­ни­ва­нии по ле­во­му краю пра­вая гра­ни­ца бу­дет бо­лее ров­ной. Это вы­зва­но тем, что в тек­сте с пе­ре­но­са­ми име­ет­ся боль­ше мест для раз­би­е­ния строки́.

Для ав­то­ма­ти­че­ской рас­ста­нов­ки пе­ре­но­сов в рус­ско­языч­ных текстах я реа­ли­зо­вал на PHP быст­рый и ка­че­ствен­ный ал­го­ритм, ко­то­рый иден­ти­чен то­му, что ис­поль­зу­ет­ся в си­сте­ме TeX. Ав­то­ры ал­го­рит­ма — До­нальд Кнут и Франк Лянг.

Здесь вы мо­же­те ска­чать дис­сер­та­цию Фран­ка Лян­га по рас­ста­нов­ке пе­ре­но­сов: http://www.​tug.​org/​docs/​liang/.

Не­смот­ря на то, что ал­го­ритм был раз­ра­бо­тан 25 лет на­зад, он до сих пор ак­туа­лен, и его не уда­лось пре­взой­ти. Впро­чем, это ка­са­ет­ся все­го, к че­му при­ло­жил ру­ку До­нальд Кнут.

Я снаб­дил ал­го­ритм при­мер­но 5000 пра­ви­ла­ми пе­ре­но­сов, со­бран­ных из раз­лич­ных дис­три­бу­ти­вов LaTeX и из про­сто­ров Ин­тер­не­та. Про­ти­во­ре­чи­вые пра­ви­ла бы­ли про­ве­ре­ны вруч­ную. Спе­ци­аль­ные ст­рук­ту­ры дан­ных, ис­поль­зуе­мые в ал­го­рит­ме, поз­во­ля­ют до­стичь быст­ро­дей­ствия, не за­ви­ся­ще­го от ко­ли­че­ства при­ме­няе­мых пра­вил пе­ре­но­са.

Про­ве­рим ал­го­ритм на сле­дую­щем тек­сте:

Алисе наскучило сидеть с сестрой без дела на берегу реки; разок-другой она заглянула в книжку, которую читала сестра, но там не было ни картинок, ни разговоров.

— Что толку в книжке, — подумала Алиса, — если в ней нет ни картинок, ни разговоров?

Она сидела и размышляла, не встать ли ей и не нарвать ли цветов для венка; мысли ее текли медленно и несвязно — от жары ее клонило в сон. Конечно, сплести венок было бы очень приятно, но стоит ли ради этого подыматься?

Вдруг мимо пробежал белый кролик с красными глазами.

Конечно, ничего удивительного в этом не было. Правда, Кролик на бегу говорил:
— Ах, боже мой, боже мой! Я опаздываю.

Но и это не показалось Алисе особенно странным. (Вспоминая об этом позже, она подумала, что ей следовало бы удивиться, однако в тот миг все казалось ей вполне естественным.) Но, когда Кролик вдруг вынул часы из жилетного кармана и, взглянув на них, помчался дальше, Алиса вскочила на ноги. Ее тут осенило: ведь никогда раньше она не видела кролика с часами, да еще с жилетным карманом в придачу! Сгорая от любопытства, она побежала за ним по полю и только-только успела заметить, что он юркнул в нору под изгородью.

В тот же миг Алиса юркнула за ним следом, не думая о том, как же она будет выбираться обратно.

Вот ре­зуль­тат. Ал­го­ритм об­ра­ба­ты­ва­ет все сло­ва длин­нее трёх букв; та­кие сло­ва по­ме­че­ны жир­ным шриф­том. Воз­мож­ные ме­ста пе­ре­но­сов по­ка­за­ны сме­ной цве­та с бар­до­во­го на зе­лё­ный и об­рат­но. Под­ра­зу­ме­ва­ет­ся, что каж­дое сло­во бу­дет пе­ре­не­се­но не бо­лее чем в од­ном ме­сте:

Алисе наскучило сидеть с сестрой без дела на берегу реки; разок-другой она заглянула в книжку, которую читала сестра, но там не было ни картинок, ни разговоров.

— Что толку в книжке, — подумала Алиса, — если в ней нет ни картинок, ни разговоров?

Она сидела и размышляла, не встать ли ей и не нарвать ли цветов для венка; мысли ее текли медленно и несвязно — от жары ее клонило в сон. Конечно, сплести венок было бы очень приятно, но стоит ли ради этого подыматься?

Вдруг мимо пробежал белый кролик с красными глазами.

Конечно, ничего удивительного в этом не было. Правда, Кролик на бегу говорил:
— Ах, боже мой, боже мой! Я опаздываю.

Но и это не показалось Алисе особенно странным. (Вспоминая об этом позже, она подумала, что ей следовало бы удивиться, однако в тот миг все казалось ей вполне естественным.) Но, когда Кролик вдруг вынул часы из жилетного кармана и, взглянув на них, помчался дальше, Алиса вскочила на ноги. Ее тут осенило: ведь никогда раньше она не видела кролика с часами, да еще с жилетным карманом в придачу! Сгорая от любопытства, она побежала за ним по полю и только-только успела заметить, что он юркнул в нору под изгородью.

В тот же миг Алиса юркнула за ним следом, не думая о том, как же она будет выбираться обратно.

На­по­ми­наю, что ме­ста воз­мож­ной рас­ста­нов­ки пе­ре­но­сов в рус­ском язы­ке не все­гда сов­па­да­ют с гра­ни­ца­ми сло­гов.

Ал­го­ритм до­ста­точ­но мощ­ный, что­бы об­ра­бо­тать са­мые слож­ные сло­ва (кое-где не­до­ста­ёт воз­мож­ных пе­ре­но­сов, я знаю):

Бодр-ство-вать Мудр-ство-вать
Быст-ро-вы-зы-вае-мый
Адъ-юнкт-ство Бур-го-мистр-ство
Контр-стра-те-гия
Пред-праздн-ство Рот-мистр-ство
Сверх-встре-во-жен-ный
Взблеск Вспласт Всплеск Вспрыск
Фельдъ-егерь
Те-ле-грам-ма-ап-па-рат
Ме-ток-си-хлор-ди-этилами-но-ме-тил-бу-тилами-ноак-ри-дин
Че-ты-рёх-сот-вось-ми-де-ся-ти-че-ты-рёх-мил-ли-грам-мо-вый
Рент-ге-но-элек-тро-кар-дио-гра-фи-че-ско-го
Пре-вы-со-ко-мно-го-рас-смот-ри-тель-ствую-щий
Част-но-пред-при-ни-матель-ский
Са-мо-но-со-ро-го-по-доб-ность
Зря-че-ню-хо-слы-ша-щий
Ра-зум По-душ-ка

Про­ве­рить ал­го­ритм рас­ста­нов­ки пе­ре­но­сов на сво­ём тек­сте вы мо­же­те здесь.

О пра­ви­лах пе­ре­но­са в рус­ском язы­ке мож­но по­чи­тать здесь: http://www.​rusyaz.​ru/​pr/​opp.html

P.S.

За­ме­чу, что эта раз­ра­бот­ка — не пер­вая в Ин­тер­не­те.

Ре­ко­мен­дую по­се­тить сайт Иго­ря Ба­то­ва, по­свя­щё­ный, в ос­нов­ном, ав­то­ма­ти­че­ской рас­ста­нов­ке пе­ре­но­сов. Там же мож­но про­те­сти­ро­вать его ал­го­рит­мы и ал­го­рит­мы кон­ку­рен­тов.

Боль­шин­ство осталь­ных под­хо­дов ос­но­ва­ны на ис­поль­зо­ва­нии не­сколь­ких про­стых пра­вил, что вы­гля­дит смеш­но для «Ве­ли­ко­го и Мо­гу­че­го», на­при­мер: http://xpoint.ru/know-how/VebAlgoritmyi/RabotaSTekstami/RasstanovkaPerenosov.

Вот ин­те­рес­ный под­ход, ос­но­ван­ный на ис­поль­зо­ва­нии рас­ста­нов­щи­ка пе­ре­но­сов на сто­ро­не кли­ен­та (JavaScript): http://snusmumrik.org.ru/ru/hyph/

80 отзывов на запись «Ав­то­ма­ти­че­ская рас­ста­нов­ка пе­ре­но­сов»

Я за­ме­тил, ко­гда ко­пи­ро­вал в doc ал­го­ритм для сор­ти­ров­ки ку­чу ¬ сим­во­лов. Здо­ро­во!
От­стой. «что­-бы текст вы­гля­дел бо­лее при­вле­катель-­но» — ду­ма­е­те текст на­би­тый де­фи­са­ми и/или shy’ями кто-то бу­дет ци­ти­ро­вать? И тол­ку от та­ких рас­пе­ре­не­сён­ных во все сто­ро­ны тек­стов? Дру­гой под­ход ну­жен.
Я не утвер­ждаю, что пе­ре­но­сы кра­си­вы са­ми по се­бе. Я го­во­рю, что они поз­во­ля­ют сде­лать бо­лее рав­ные про­бе­лы в тек­сте (при вы­рав­ни­ва­нии по обе­им сто­ро­нам). Что вы пред­ла­га­е­те?
Не пе­ре­жи­вай (на ты — на вы?), все нор­маль­но, от­лич­ный ал­го­ритм! Мне нра­вит­ся!
Здрав­ствуй­те! А мож­но у вас по­про­сить на­бор пра­вил, ко­то­рый вы по­гру­зи­ли в ал­го­ритм?
Дей­стви­тель­но, а как из­ба­вить­ся от сим­во­лов мяг­ко­го пе­ре­но­са при ко­пи­ро­ва­нии? Я ду­маю об­ра­бот­чик ве­шать в JS. На­при­мер как на ком­мер­сан­те вы­сплы­ваю­щее ок­но по­ка­зы­вать с textarea, в ко­то­ром бу­дет тот же текст уже без мяг­ких пе­ре­но­сов. Ли­бо где-то ря­дом со ста­тьей де­лать ссыл­ку, по­ка­зы­ва­ю­щую скры­тый слой, в ко­то­ром то же текст без пе­ре­но­сов. Ли­бо ре­ди­рек­тить на стра­ни­цу «Для ко­пи­па­с­та» (ана­ло­гия «Стра­ни­ца для пе­ча­ти»)
Ал­го­ритм не рас­крыт. О чем ста­тья во­об­ще по­лу­чи­лась?
Со­гла­сен. Нуж­но бу­дет пе­ре­пи­сать.
Есть кро­хот­ный jquery пла­гин на 20 стро­чек http://vyachet.ru/hyphen-russian-html-text/ , ко­то­рый до­бав­ля­ет в уже го­то­вый текст на сто­ро­не кли­ен­та, в бра­у­зе­ре «воз­мож­ные пе­ре­но­сы» в текст
Зда­ро­ва! со­вет­ник би­нар­ных оп­ци­о­нов 60 се­кунд
стра­те­гии фо­рекс би­нар­ные оп­ци­о­ны http://zareformu.ru/novye-brokery-binarnyh-opcionov-2015.php
Петр, тут де­ло ско­рее все­го не в ав­то­ма­ти­че­ской рас­ста­нов­ке пе­ре­но­сов. По­про­буй­те вклю­чить отоб­ра­же­ние не­пе­чат­ных сим­во­лов и посмот­ри­те, что­бы в кон­це каж­дой стро­ки или каж­до­го пред­ло­же­ния не бы­ло зна­ка кон­ца аб­за­ца. И уда­ли­те груп­пы про­бе­лов, их меж­ду сло­ва­ми и по­сле зна­ков пре­пи­на­ния долж­но быть не бо­лее од­но­го. По­сле это­го все долж­но по­лу­чить­ся. Уда­чи!
buy prednisolone
cymbalta generic
Im genuinely enjoying the style and layout of one’s website. Its a very uncomplicated on the eyes which makes it a great deal much more enjoyable for me to come here and pay a visit to far more typically. Did you hire out a designer to make your theme? Excellent perform!
benicar
flagyl
Hello there, I discovered your website by the use of Google while looking for a related subject, your web site came up, it seems good. I have bookmarked it in my google bookmarks.
wh0cd819366
Tramadol Dangerous While Breastfeeding Ultram Maximum Daily Dose Tramadol Tramadol 50 Mg Tev Withdrawal Symptoms order tramadol online. Online Tramadol Cod Shipping To Florida Side Effects Of Tramadol In Canines Cheap Tramadol Online Medications Allegra Zyrtec Tramadol Pharmacy Dosage . Cheap Tramadol Online Perscriptions Xyzal Zyrtec Soma 300 Mg Tramadol Side Effects . 24100 Tramadol Fedex Overnight No Prescription Cialis Tramadol With Antacids Tramadol Product Reviews Tramadol 60 Tablets What Pill Class Is Tramadol 200 Sr Tramadol Hcl 50mg
wh0cd192934
wh0cd588790 cialis online
Tramadol Maggie Grace With Tylenol Tramadol 19mg Excretion Tramadol Hcl Acetaminophen Par tramadol 50mg dosage. Tramadol 5 500 Tablets Tramadol Boca Raton Or Darvocet Vs Tramadol Tramadol Identification Diet Pill . Tramadol Uptodate Tramadol Vaistai Addiction . Arkansas Legislature Schedules Tramadol Tramadol Theme 100 Tramadol Dhl Locations No Prescription Tramadol Abuse Withdrawal What Is Tramadol Rss Feed Does Tramadol Cause Neuropathy
wh0cd576390 VIAGRA
Hello to every body, it’s my first visit
of this webpage; this web site contains remarkable and truly excellent information designed for visitors.
hello!,I like your writing very a lot! proportion we communicate more about your article
on AOL? I need an expert in this space to unravel my problem.
May be that is you! Taking a look forward to look you.
This post will help the internet viewers for building up new
weblog or even a weblog from start to end.
Wow! This blog looks exactly like my old one! It’s on a completely different subject but it has pretty much the same layout and design. Outstanding choice of colors!
I always used to read article in news papers but now as I am a user of
net so from now I am using net for content, thanks to web.
Good info. Lucky me I discovered your site by chance (stumbleupon).
I have book marked it for later!
Pretty element of content. I simply stumbled upon your weblog and in accession capital to say that I acquire actually loved account your weblog posts.
Any way I’ll be subscribing on your augment and even I fulfillment you get right
of entry to persistently fast.
You are so awesome! I don’t think I’ve truly read through a single thing like that
before. So great to discover somebody with genuine thoughts
on this issue. Seriously.. thank you for
starting this up. This web site is something that’s
needed on the internet, someone with a little originality!
Very good article. I absolutely love this website.
Keep it up!
Spot on with this write-up, I actually feel this web site needs far more attention. I’ll probably be returning to read
more, thanks for the information!
Thanks for sharing your thoughts about minecraft. Regards
Right away I am ready to do my breakfast, later than having my breakfast coming
over again to read additional news.
great points altogether, you just received a new reader. What could you suggest about your put up that you
simply made a few days in the past? Any positive?
Do you mind if I quote a couple of your posts as long as I provide credit and
sources back to your blog? My blog is in the
very same area of interest as yours and my visitors would definitely benefit from a lot of
the information you present here. Please let me know if this ok with you.
Cheers!
Have you ever thought about creating an ebook or guest authoring
on other websites? I have a blog centered on the same ideas
you discuss and would really like to have you share
some stories/information. I know my visitors would appreciate your work.
If you are even remotely interested, feel free to send
me an e-mail.
Thank you a bunch for sharing this with all of us you really understand what you are talking
approximately! Bookmarked. Please also visit my web site =).
We will have a hyperlink exchange contract among us
Hello, i think that i saw you visited my web site so
i came to “return the favor”.I’m attempting to find
things to enhance my web site!I suppose its
ok to use some of your ideas!!
Greetings! This is my first visit to your blog! We are a team of
volunteers and starting a new project in a community in the same niche. Your blog provided us useful information to work on. You have
done a extraordinary job!
I’m really enjoying the design and layout of your
blog. It’s a very easy on the eyes which makes it much more pleasant for me to
come here and visit more often. Did you hire out
a developer to create your theme? Fantastic work!
hello there and thank you for your info – I have definitely picked up something new from right here.
I did however expertise some technical points using this website, as I experienced to reload the site a lot of times previous to I could get it to load correctly.
I had been wondering if your hosting is OK? Not that I am complaining, but slow
loading instances times will sometimes affect your placement in google and can damage your high-quality score if advertising and marketing with Adwords.
Anyway I am adding this RSS to my email and can look out for a lot more of your respective interesting content.
Ensure that you update this again very soon.
Heya i’m for the first time here. I found this board and I find It
really useful & it helped me out much. I hope
to give something back and aid others like you aided me.
I enjoy reading a post that can make people think.
Also, thank you for permitting me to comment!
Great post. I was checking continuously this blog and I am impressed!
Very useful info specially the last part I care for such info much.
I was looking for this certain info for a long time.
Thank you and good luck.
This is my first time pay a visit at here and i am actually impressed to read
everthing at alone place.
I blog often and I really thank you for your content.
This article has really peaked my interest.
I’m going to take a note of your site and keep checking for new information about once per week.
I opted in for your Feed as well. Also visit my blog post synthetic mink lashes for sale -
manchesterukads.com -
Your way of explaining everything in this post is truly fastidious,
every one can effortlessly understand it, Thanks a lot.
That is a great tip particularly to those new to the blogosphere. Simple but very accurate information… Appreciate your sharing this one.
A must read article! Look into my blog post: madden mobile unlimited coins glitch
Write more, thats all I have to say. Literally, it seems as though you relied on the video to make your
point. You definitely know what youre talking about, why waste your intelligence on just posting videos
to your blog when you could be giving us something informative to read?
Keep on writing, great job! Look into my weblog :: silk lashes vs synthetic, Jacques,
First of all I would like to say terrific blog!
I had a quick question which I’d like to ask if you don’t
mind. I was interested to know how you center yourself and clear your thoughts before writing. I have had a difficult time clearing my thoughts
in getting my thoughts out there. I do enjoy writing but it just seems
like the first 10 to 15 minutes are usually wasted simply just trying to figure out how to begin. Any suggestions or hints?
Kudos! Also visit my homepage :: cs go howl skin for sale
I think the admin of this website is actually working hard in favor of his website, for the reason that here
every information is quality based data. Review my webpage … finally game; http://www.fostersupply.com,
It’s really a cool and helpful piece of information. I am satisfied that you simply shared this
useful info with us. Please stay us informed like this.
Thanks for sharing. My website: cs go knife skins steam; http://www.swaledale.net,
I need to to thank you for this great read!! I definitely loved every bit of it.
I have you book marked to look at new things you post… Feel free to visit my webpage :: fifa coins for sale xbox [http://rootofvein.com/board/185789]
What a data of un-ambiguity and preserveness of valuable knowledge concerning unexpected feelings.
Thanks for finally talking about > Ав­то­ма­ти­че­ская рас­ста­нов­ка пе­ре­но­сов |
Image Processing < Loved it! Look at my web-site … mink lash extensions wholesale; http://mycountryconnects.com/groups/5-proven-methods-to-make-your-skills-lashes-appear-longer-and-fuller,
Hi it’s me, I am also visiting this web site regularly,
this web site is genuinely fastidious and the visitors are
actually sharing good thoughts. My web-site — csgo skins betting
This is a topic which is close to my heart… Take care! Exactly where are your contact details though? Look into my web blog … fifa coins zone live chat
Hello There. I found your blog using msn. This is
a very well written article. I’ll make sure to bookmark it and return to read more of your useful info. Thanks for the post. I’ll certainly comeback. My homepage faux mink lashes for sale
Hello, I log on to your new stuff regularly. Your humoristic style
is awesome, keep it up!
Thanks very nice blog!
Thank you for the auspicious writeup. It in fact was a amusement account it.
Look advanced to far added agreeable from you! However, how could we communicate?
Good post but I was wanting to know if you could write a litte more on this subject?
I’d be very thankful if you could elaborate a little bit more.
Bless you! my weblog silk lash extensions perth
Yesterday, while I was at work, my sister stole my iPad and tested to see if it can survive a twenty five foot drop,
just so she can be a youtube sensation. My iPad
is now broken and she has 83 views. I know this is entirely off topic but I had
to share it with someone! Feel free to surf to my blog post; fifa 17 coins for sale
I’ve been browsing on-line more than 3 hours lately, yet I never found any fascinating article like yours.
It is pretty price sufficient for me. In my view, if
all web owners and bloggers made good content as you probably did, the internet will probably be a lot
more useful than ever before.
I’ll immediately seize your rss feed as I can’t to find
your e-mail subscription link or e-newsletter service.
Do you’ve any? Kindly let me understand
in order that I could subscribe. Thanks.
Peculiar article, just what I needed.
Right away I am going away to do my breakfast, once having my breakfast coming again to read further
news.
I read this piece of writing completely about the resemblance of newest and preceding technologies, it’s
awesome article.
This piece of writing is actually a pleasant one it assists new internet visitors, who are wishing for blogging.
This post provides clear idea in support of the new
users of blogging, that genuinely how to do blogging and site-building. Take a look at my web page — cs go skins prices in keys
Hi! This is my first visit to your blog! We are a team of volunteers and
starting a new initiative in a community in the same niche.
Your blog provided us useful information to work on.
You have done a extraordinary job! Here is my webpage — madden 17 coins buy
Having read this I believed it was really informative. I appreciate you spending some
time and energy to put this informative article together.
I once again find myself personally spending a significant amount of time both reading and leaving
comments. But so what, it was still worth it! My web site: silk lash extensions review
Hi! I’m at work browsing your blog from my new iphone
4! Just wanted to say I love reading through your blog and look forward to all your posts!
Carry on the fantastic work!
I have been exploring for a bit for any high-quality articles or blog posts on this sort of space .
Exploring in Yahoo I at last stumbled upon this web site.
Studying this info So i’m happy to exhibit that I have an incredibly just
right uncanny feeling I discovered exactly what I needed.
I most no doubt will make sure to don?t overlook this site and provides it a look regularly.
Have you ever thought about including a little bit more than just
your articles? I mean, what you say is fundamental and all.
Nevertheless just imagine if you added some great images or
video clips to give your posts more, «pop»! Your content is excellent but with images and clips, this site could undeniably be one of the most beneficial in its niche.
Superb blog! Also visit my website … cs go bet skins on games
Excellent blog here! Also your site loads up fast!
What host are you using? Can I get your affiliate link to your
host? I wish my site loaded up as fast as yours
lol Also visit my web site — madden 17 coins free
Definitely believe that which you said. Your favorite reason seemed to be on the internet the easiest thing to be aware of.
I say to you, I certainly get annoyed while people think about worries that they just don’t know about.
You managed to hit the nail upon the top as well as defined out the whole
thing without having side-effects , people could take a
signal. Will likely be back to get more. Thanks My weblog … silk lashes near me (becausejitsu.com)

Оставить отзыв

Жёлтые поля обязательны к заполнению

   

Можете использовать теги <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre lang=""> <div class=""> <span class=""> <br>