text:
Pokémon Red and Blue/Cascade Badge

Route 3
After defeating Brock, the man who was blocking the east exit from Pewter City will be gone. This leads to Route 3. The first part of this area is home to eight enemy Trainers in close proximity to each other. You will find a patch of tall grass near the eighth Trainer. After that, the Route opens up. There will be a man (but who is not an enemy Trainer) standing next to a sign and a patch of tall grass. Head north from here. You will soon encounter a Pokémon Center, out in the middle of nowhere. To the east of the building is a cave entrance.

Inside this Pokémon Center is a man who will offer to sell you a Magikarp for •500. This is not that good a deal, because later in the game you will receive the Old Rod, which can catch an infinite number of Magikarp at any watered area.

When you’re ready, enter the cave.

Mt. Moon
Mt. Moon is a large cave, with many tunnels and three floors to explore. This is the most effective way to fully conquer Mount Moon:

 * 1) Starting at the entrance to the cave, go north until you reach the sign. The large room to the west contains TM 12 (Water Gun) and a Potion, as well as one enemy Trainer.
 * 2) Return to the sign and go east, past another enemy Trainer. You will soon encounter a ladder. Step on the ladder and you will climb down to the next floor.
 * 3) The first basement floor of Mount Moon is nothing but a collection of straight tunnels. Traverse the one you’re in and continue down the next ladder.
 * 4) You will arrive in an enclosed area with an enemy Trainer, the first member of Team Rocket you will battle in this game. Past him is a small pedestal area that holds an HP Up.
 * 5) Go back up both ladders, then head south. This part of the cave contains two enemy Trainers and three items: a Potion in the southwest corner, a Rare Candy in the southeast corner, and an Escape Rope north of there. Continue north past where you find the Escape Rope.
 * 6) To the northwest there will be another ladder. Go down it, traverse the straight cave, and go down again. You will now be in a different enclosed area on the lowest floor of Mount Moon. Here you will find another member of Team Rocket, TM 01 (Mega Punch) on the pedestal, and behind the rock to the east, an Ether.
 * 7) Go back up the ladders. Continue down the path until you reach the large room. In the northeast corner is an enemy Trainer, a valuable Moon Stone in the very corner, and another ladder down.
 * 8) Go down the ladders. You will now be standing on a raised platform near where you found TM 01. Follow the path all the way around, battling two Team Rocket members as you go. Past the second Team Rocket member is a doorway-like formation. Immediately after you pass through it, go east. You will see a small, one-tile-sized dead-end passage. Enter this passage and examine the tile closest to the wall. Even though you can’t see it, you will find another Moon Stone here.
 * 9) Go up the stairs. The enemy Trainer you battle here will be, interestingly, not a Rocket. He is the last enemy Trainer in Mount Moon. After you defeat him, you will be offered the choice of one of two items: the Dome Fossil and the Helix Fossil. Both items, while worthless right now, can be exchanged towards the end of the game to receive a Pokémon you can’t get anywhere else: The Dome Fossil will yield a Kabuto, while the Helix fossil turns into an Omanyte. Whichever fossil you do not choose is lost forever.
 * 10) Past there, you will find another ladder. At the end of one more straight cave, you will find that when you step on the last ladder you will exit the cave onto a new Route.

Note that the Escape Rope you find here can be a useful item. If you use it, you will immediately be teleported out of wherever you are in the cave and respawn at the Pokémon Center just outside Mt. Moon. (You will have to walk back to where you were, though.)

Route 4
This large, open route is your last step before reaching Cerulean City. There are two items here. The first is TM 04 (Whirlwind), which is in plain sight on top of a hill. The other item, a Great Ball, is hidden. Just as you leave Mt. Moon, go northeast to find a sort of plateau made of ledges; the item is hidden somewhere in the middle.

Once you reach the far side of Route 4, you will have to jump a ledge that you cannot then climb up again. Once you do so, you will be trapped in the area around Cerulean City. There is a small patch of tall grass here, if you need to train your Pokémon.

Cerulean City
Cerulean City is the same size as Pewter City, but is much more dense. There are four exits from this city; you came from the west one. The north exit leads to Route 24. The east and south exits are currently inaccessible.

You will find the Bike Shop in the southwestern corner of the town. You might think that the bike is impossible to obtain, since they are charging •1 million for it and the maximum money you can hold at any one time is •999,999. However, you will soon receive a Bike Coupon that you can use here.

Cerulean City Gym
The Cerulean City Gym is a series of platforms over a large pool. There are two enemy Trainers between you and Misty; the first can be avoided. The Trainers here use Water-type Pokémon. Please see the Enemy Trainers section of this guide for information on the Pokémon you will encounter in this Gym.

Boss — Misty (•2079 reward)

 * 1) Level 18 Staryu
 * 2) Level 21 Starmie

After you defeat Misty, you will receive the Cascade Badge. While receiving the Cascade Badge does not grant any boost in battle, it enables you to use traded Pokémon up to level 30. (If you trade in a Pokémon of higher level than this, it will refuse to attack in battle.) This badge also grants you the ability to use the Cut move outside of battle. You will also receive TM 11 (Bubblebeam).

title: Pokémon Red and Blue/Cascade Badge


text:
Template:Chset-table-footer1

colspan=17 style="max-width:320pt;background:#F8F8F8;font-size:75%;text-align:left" |

license: Creative Commons - Attribution Share-Alike - https://creativecommons.org/licenses/by-sa/4.0/

title: Template:Chset-table-footer1


text:
Template:Chset-table-footer1/doc

Formats and draws the bottom line for a 16-column table of characters, in a design matching the hundreds of templates for Unicode code blocks, such as. This can contain explanatory legends and footnotes. Template can be omitted if there is no such information.

It appears to be impossible to stop from making the font smaller, so a  to 111% around it will compensate.

Usage
result:

title: Template:Chset-table-footer1/doc


text:
Practical Electronics/Finding component information/Datasheets

Most components can be found via your favorite search engine. Often it is helpful to type the color code or markings into the search engines input field.


text: User:AuthorsAndContributorsBot/source code


text:
Category:CS1: long volume value

__HIDDENCAT__

title: Category:CS1: long volume value


text:
Category:CS1 errors: explicit use of et al.

__HIDDENCAT__


text:
Hobo travel journalism/Around the World (rubric in the newspaper "Crimean Observer")

“Around the World” (in ru: «Вокруг света») is a rubric in the “Crimean Observer“ (in ru: «Крымский обозреватель») newspaper, published in Simferopol in the early 2000s, whose columnist was the Russian travel journalist Viktor Pinchuk.

The author's first publication was in October 2007; seven articles have been published since the paper's inception, two of which are freely available on Wikisource (in Russian).

Articles

 * Путешествие на родину Чингисхана — 16.10.2007. — № 42 (220);
 * Один день в египетской деревне — 19.02.2008. — № 7 (237);
 * Кто такой Хануман? — 25.03.2008. — № 12 (242);
 * В гостях у пигмеев — 29.04.2008. — № 17 (247);
 * Много ли пулемётов в деревнях Кении? — 25.05.2008. — № 20 (250);
 * Пирамиды за колючей проволокой — 9.09.2008. — № 36 (266);
 * Что я делал в Момбасе? — 16.09.2008. — № 37 (267).

authors: Виктор Пинчук


text:
Hobo travel journalism/Around the world (rubric in the newspaper "Republic")

“Around the World” (in ru: «Вокруг света») is a column in the Crimean weekly “Republic” (in ru: «Республика»), published on the territory of the peninsula until 2014, whose columnist was a Russian travel journalist Viktor Pinchuk.

Date of first publication — January 2011; During the existence of the newspaper, the author prepared nine articles.

Articles

 * Иммигрировать в Украину: они действительно об этом мечтают — 12.01.2011. — № 1 (35);
 * В Турцию на две недели, или в Африку на три месяца? — 1.12.2011. — № 30 (30);
 * Что едят там, где нас нет — 22.03.2012. — № 11 (45);
 * Всё включено. Клопы тоже! — 10.05.2012. — № 18 (52);
 * Проехать Азию: поезда, автобусы, маршрутки — 6.12.2012. — № 48 (82);
 * Азиатская еда: денег мало? Не беда! — 27.06.2013. — № 24 (109);
 * Гость – на кровати, хозяин – на коврике — 14.11.2013. — № 44 (129);
 * «Африканский водопад оставил меня без штанов и чуть не убил» — 22.05.2014. — № 18 (153);
 * От дуриана до мангостина — 29.05.2014. — № 19 (154).

authors: Виктор Пинчук


text:
Hobo travel journalism/Travel notes (rubric in the ProX magazine)

“Travel notes” (in ru: «Путёвые заметки», untranslatable pun, where replacing the "е" with an "ё" changes the meaning) is a title of heading in the youth magazine “ProX”, where, along with other authors, the Russian travel journalist & adventurer Viktor Pinchuk was published.

The first author's material was released in 2007; During the existence of the publication, six articles were published, one of which is freely available on the Wikisource (in Russian and English).

Articles

 * Эфиоп и Я — 2007 — №7 (10);
 * Хуйтэн по-монгольски — 2008 — №1 (14);
 * Медаль за отвагу — 2008 — №1 (1) — there is an English translation available;
 * Афганский пленник (ч. 1) — 2009 — №1 (21);
 * Афганский пленник (ч. 2) — 2010 — №1 (23);
 * Такую Сирию турфирмы вам не покажут — 2010 — №2 (24).

authors: Виктор Пинчук


text: Category:Book:Hobo travel journalism

authors: Виктор Пинчук

title: Category:Book:Hobo travel journalism


text: Hobo travel journalism/Printable version

authors: Виктор Пинчук


text:
AI Art Generation Handbook/Training

What is training ?
Training is a method to introduce a concept to the model so that the model are able to "learn" new concepts introduced. Currently there are established methods used for training:

(a) Dreambooth

Dreambooth is a method of training a model on a specific topic while keeping its original features intact. Class Images help to retain the information from the base model. The output is a new model. It is best for all sort of use-case concepts (Subjects and Styles) but the downside is the size.

(b) Fine-tuning

Fine-tuning is similar to Dreambooth but it modifies the model’s knowledge of the trained topic. No Class Images are needed because the goal is to overwrite the existing concepts. The output is also a new model.

It is best for all sort of use-case for specific niche concept generations (for example: generating Egyptian / Norse mythological creatures) that are currently unobtainable in current Stable Diffusions versions. The downside is, it may have catastrophic "memory loss" of the previous trained weights as it is overwrite existing concepts.

(c) LoRA ( Low Rank Adaption )

Lora training is a simpler version of Dreambooth that uses less resources and produces smaller files. It uses a technique named "low-rank approximation" of the weight matrix. This method is used to reduce the number of parameters in the model and improve its generalization ability. However, it may compromise some quality for these advantages. The output is a Lora model (a mini version of a model) that can work with any base model.

It is good for styles (especially anime styles) but for not good for subject of realistic faces.

LyCORIS - Lora beYond Conventional

LyCORIS is a new training method that tries to find better ways of fine-tuning Stable Diffusion models with less parameters. It uses Lora models, which are smaller and simpler versions of Stable Diffusion models that can run faster and use less memory. LyCORIS experiments with different methods of changing Lora models to fit different tasks or domains, such as using a mathematical operation called Hadamard product to combine Lora models with other models.

(d) Textual Inversion ( TI )

Textual Inversion training allows you to train a person/object/style as a separate token that can be applied to any model (depending on the web-ui). The output is an Embedding that contains the trained token.

(e) Hypernetwork

A hypernetwork is a way of fine-tuning a model’s style by attaching a small network to it. The small network modifies the cross-attention module of the model while the main model is frozen, so it is fast and efficient. This will help it train a model without altering its weight

At this moment, many of the extensions are not working well in Automatic1111 (due to dependencies conflicts/ Gradio bugs / pyTorch bugs) therefore preferably used alternative app such as Stable Tuner / Kohya-ss, Everydreamer 2 for training.

Rules of thumb:

'''If you want to train for a single concept (such as trained on a type of face, type of cars, etc...) , it is recommended to train on lora. If else, train for Dreambooth/finetuning'''

What is a concept meant?
A concept is an associated word that you want the model to learn, as long as you have enough dataset to show and train the model with.

Concepts can be divided into two types: Subjects and Styles.

(a) Subjects are the main objects or entities that you want the model to recognize or generate, such as faces, animals (i.e: Certain dog breeds), cars (i.e: Vintage racing cars) , etc.

(b) Styles are the visual characteristics or features that you want the model to apply or modify, such as colors, textures, shapes, etc. (i.e: Certain arts tyle such as Hokusai art, paper cut)

There is no fixed limit, but thumbs of rule are : The more concepts you train, the more high GPU VRAM usage and time-consuming the training will be.

Since models are observed not increased in size during training, we can infer that the longer you train, the more likely you will lose some quality on what your model already knew before the training.

What is weight meant ?
In neural network concepts, "weight" are the values that are multiplied by the inputs of each neuron in a neural network. They represent how important each input is for the output of the neuron. Weights are initialized randomly at first and then updated during training to minimize the error between the predicted output and the actual output The weights in Stable Diffusion are the values that represents what an AI's model has retained. Those numbers are what drives Stable Diffusion into making its choices while making pictures and following a prompt. that determine how the model transforms the input images or noise into the output images. The weights are learned during training by minimizing the error between the generated images and the target images.

As models don't grow in size during training, the longer you train, the more quality will be harmed on what your model knew before the training. Training on other things as well (regularization/class data) can help reduce this effect to some extent.

What is pre-requisite of model training?
Here are the most important pre-requisite for model training (regardless of what type of training you choose)

(a) Computer systems with  powerful GPU  with at least 10GB  V RAM and above. Preferably NVidia as many training method support CUDA out of the box

Stable Diffusion training is computationally intensive task that requires a lot of memory to store and process large amounts of data. VRAM stands for video random access memory, which is the memory that a GPU uses to store and access data. The more  V RAM a GPU has, the more data it can store and process at once, which can speed up the training process and allow for larger models and higher resolutions (i.e: SD1.5 process up to 512*512px - 4GB VRAM meanwhile SD2.1 process up to 768*768px).

(b)  High quality  images prepped as dataset

To be regarded as high quality images

(i) Refer to any stock images website to get a grasp on how the images should looked like (see like compositions, lighting, contrast,etc...)

(ii) Preferably high resolution images (Recommended 512*512px, or best is more than 768*768px). If the images are needed to be compressed to 512px*512px, there won't be much details lost.

(iii) If trained as subject, preferably the subject should be the main focus in the images. There should be not many other subjects that may interfere with training in the pictures.

(iv) Diversity of the images. The images consists of subject should be as diverse as possible (such as taken in different lighting conditions, different places, different poses, different expression, ...)

What is workflow of model training ?
The workflow of model training is usually based on these

Note: You can click for more info inside.

(i) Dataset (Images) preparation

(ii) Text Captioning Images

(iii) Training the models / monitoring the training

(iv) Evaluations

References:

Digital Corridor Google Sheet

[https://towardsdatascience.com/whats-the-role-of-weights-and-bias-in-a-neural-network-4cf7e9888a0f What is Weight and Bias ? ]

Guide to finetuning images

title: AI Art Generation Handbook/Training


text:
Pokémon Red and Blue/Thunder Badge

Route 24
After leaving the Cerulean City Gym with your Cascade Badge, be sure to heal up at the Pokémon Center. When you’re ready, go to Cerulean City’s north exit, where you will run into your rival, who will immediately challenge you to a battle.

Boss — Rival

 * 1) Level 18 Pidgeotto
 * 2) Level 15 Rattata
 * 3) Level 15 Abra
 * 4) Rival’s starter (Bulbasaur, Squirtle, or Charmander, depending on which Pokémon you chose in Pallet Town) at Level 17

Once you have defeated him, heal again and exit Cerulean City. You will pass over a bridge with five Jr. Trainers on it. Defeat each one in turn, and when you get to the far end of the bridge, a man will reveal himself to you as a Rocket. After defeating him, he will give you a Nugget. This item can be sold at any Poké Mart for a large amount of money. There is one more enemy Trainer in a patch of tall grass to the west.

Route 25
Route 25 is dense and features nine enemy Trainers. There is only a small patch of tall grass on this Route, at the beginning. Proceed east, weaving through the maze of trees. About halfway through you will find another Cut tree. Normally, the item beyond would be inaccessible, but if you plan ahead you can get it early. When fighting the Jr. Trainer, ensure you are as far south of him as possible when walking into his line of sight, so that you can slip around him and through the gap where he stood. You will then find TM 19 (Seismic Toss).

Immediately to the northeast of the first enemy Trainer on this Route, you will see a small, seemingly useless path between the rock wall and the trees. However, if you examine the wall at the far end of the path, you will find a hidden Elixir. You can also find a hidden Ether a few squares due east of the last enemy Trainer.

Once you get to the end of the Route, you will find a house. Enter it. You will find an unusual situation inside. Help resolve it by examining the computer when prompted. You will then meet Bill, the person who runs the PC Storage System you’ve been using at the Pokémon Center (“Someone’s PC”); from here on it will be listed as Bill’s PC. He will give you an S.S. Ticket. This item will be required soon. South of Bill’s house, you will find a straight path that leads back to Cerulean City.

The Burglar of Cerulean City
Upon returning to Cerulean City, go to the house in the northeast corner that was blocked off. Turns out that someone burgled this house, and that someone is a Rocket. You must defeat him to continue. Once you do so, cut through the house’s yard and depart Cerulean City to the south.

Route 5
The two straight paths out of Cerulean City are not actually the way you want to take. In between them, a series of ledges and tall-grass patches will lead you to the Pokémon Daycare. If you drop a Pokémon off here, it will gain one point of EXP for every step you take. When you return, it will hopefully be of a higher level. Note that if the Pokémon learns a move during the process of leveling up, and an existing move must be forgotten, the computer will choose which move to delete, or to keep all four existing moves. You have no control over this. However, if you purchased that Magikarp back in Route 3, you can drop it off here and return to a Gyarados. You will be charged •100 for every level your Pokémon has gained when you withdraw them from the daycare.

South of there you will find a small building to the east, and a large one to the south. The south building is a gate leading to Saffron City. Unfortunately, the gate is closed and you cannot enter. Therefore, enter the small building instead, and you will discover one of two tunnels that exist in Kanto. Both allow you to pass underneath Saffron City to the other side. The tunnel is long and straight, but not completely featureless. You can find a Full Restore hidden on the ground two tiles due west of the stairs at the north entrance to the tunnel, and an X Special two tiles east and six north of the stairs at the south end of the tunnel.

Route 6
You will emerge on Route 6, to the south of Saffron City. There will be another closed gate building to the north. Ignore it and go south instead. You will find a lot of tall grass here, as well as six enemy Trainers. After you pass through Route 6, you will arrive at Vermilion City.

Vermilion City
Vermilion City is a large port city, and the site of your next Gym. The Pokémon Center is to the west, just after you enter town. Inside the building west of that, one of the men will give you an Old Rod. This item of dubious utility enables you to fish at any body of water. Unfortunately, the only thing it will ever catch is Magikarp. You will receive better fishing rods later.

The Pokémon Gym in this area is block off by a Cut tree. We will be able to deal with this shortly. North of that building is the Pokémon Fan Club. The president of this group likes to brag. Listen to his spiel and he will give you a Bike Voucher. When we return to Cerulean City, we can give this to the Bike Shop to receive a Bike!

If you stand at the door to the Pokémon Fan Club and walk five squares east, then two squares north, you may be able to find a hidden Max Ether.

Perhaps most importantly, the building immediately east of the Fan Club houses a trading opportunity. If you are willing to part with a Spearow, a person in this house will give you a Farfetch’d. This is the only way you’ll ever be able to meet a Farfetch’d, and it is the only one you can ever get. While Farfetch’d is not very useful in battle, he can learn the Cut HM and the Fly HM. This will be important, and useful, in just a bit.

Boarding the S.S. Anne
Currently docked at the pier at the south end if the city is the cruise ship S.S. Anne. Assuming you have the S.S. Ticket (and you wouldn’t be able to be here if you didn’t), the doorman will let you board the liner.

The S.S. Anne is a unique area. It is only available for a short period of time. At the end of this area, you will receive the Cut HM from the ship’s captain. Once you do that, after you leave the vessel it will depart, and you will never be able to enter it again. Given that there are two TMs here to be collected, a good search of this vessel is an excellent idea, not just for the EXP. (Note that, until you receive the HM, you can enter and leave the ship as you please.) If you explore the ship as narrated below, you will battle every enemy Trainer and obtain every item on the ship.

The main deck of the ship (where the entrance is) has five rooms to the west of the entrance and one to the east. Let’s number these rooms 1–6 (where room 1 is on the western side of the ship). Rooms 1 and 3 contain little of interest. Room 2 contains two enemy Trainers, and, past them, TM 08. Room 4 contains a woman who will heal your Pokémon when you talk to her, just like at a Pokémon Center. Rooms 5 and 6 contain one enemy Trainer.

But this is only the first deck! If you proceed to the right past Room 5, you will find a staircase down to the basement. Numbering from 1–5 from the left, Room 1 contains two enemy Trainers. Room two contains one enemy Trainer and TM 44 (Rest). Room 3 contains an enemy Trainer and an Ether. Room 4 contains two enemy Trainers, and Room 5 contains a Max Potion.

Returning to the main deck, if you go left instead, you will reach stairs going up and a corridor to the south. The south path leads to the kitchen, a large open area with no enemy Trainers. However, going there is not entirely pointless; if you search the trash cans, one of them contains a Great Ball.

On the upper deck of the S.S. Anne, you will first find more stairs going up. If you take them, you will be on the lido deck, which extends to the S.S. Anne’s prow. Two enemy Trainers can be found there. You will also find six more rooms. Numbering them as before, you will find only that Rooms 2 and 4 contain anything of interest. Room 2 contains two enemy Trainers and a Max Ether. Room 4 contains two more enemy Trainers and a Rare Candy.

Before proceeding to the east beyond Room 6 here, return to the main deck and heal your Pokémon in Room 4, for you have a boss battle coming up. When you are ready, move past the last room to encounter your rival. After a short speech, he will battle you.

Boss — Rival

 * Level 19 Pidgeotto
 * Level 18 Kadabra
 * Level 16 Radicate
 * Level 22 evolved form of his starter (either Ivysaur, Charmeleon, or Wartortle, depending on which Pokémon you chose in Pallet Town).

Past the rival battle, the corridor turns north and you see a final set of stairs. Take these and you will be in the captain’s cabin. The captain does not battle you; speak to him and he will give you, after a bit of chatter, HM 01 (Cut). Once he gives you this item, be aware that the S.S. Anne will sail away forever when you next step off the ship. If you have been following the sequence above, you should be good to go here.

Vermilion City Gym
Unlike a TM (which teaches a specific move to one of your Pokémon, once), an HM is multiple-use. You use these items to teach moves to Pokémon as many times as you want. Furthermore, all HMs have what are called field effects. These are ways you can affect your environment outside of battle. The field effect for Cut allows you to remove the Cut trees you have been seeing all over the region, most notably in front of the Vermilion City Gym. Note that if you put a Pokémon that knows an HM in the PC storage system, you will no longer be able to use that field effect until you take it back out or teach it to another Pokémon.

Inside the Vermilion City Gym, you will find three enemy Trainers and the Gym Leader. Please see the Enemy Trainers section of this guide for information on the Pokémon you will encounter in this Gym. To reach the Gym Leader, you must find and press two switches. You do this by examining the trash cans sprinkled liberally around the room. The location of the first switch is random. The location of the second switch is also random, but it is certain to be in the can either directly north, west, east, or south of the first switch. If you do not find the second switch on your first try, the first switch will move to another random location.

Boss — Lt. Surge (•2376 reward)

 * 1) Level 21 Voltorb
 * 2) Level 18 Pikachu
 * 3) Level 24 Raichu

After you defeat Lt. Surge, you will receive the Thunder Badge. Receiving this badge will give your Pokémon a 12.5% speed boost in battle (for in-game battles only). You will also be given TM 24 (Thunderbolt).

title: Pokémon Red and Blue/Thunder Badge


text:
Abstract Algebra/Projective line

Projective Line over a Ring

For a ring A, let $$A = U \cup N$$ be the division of the ring into units U and non-units N, so that $$U \cap N = \empty.$$

Pairs of ring elements a and b are found in A x A. Another pair c and d are related to the first pair when there is a unit u such that ua = c and ub = d. Using the group properties of U, one can show that this relation is an equivalence. The equivalence classes of this relation are the points of the projective line, provided that the pair a, b generates the improper ideal, A itself.
 * $$P(A) = \{ [a : b ] : aA + bA = A \} ,$$ where [a:b] denotes the equivalence class of (a,b).

Note that when a b = 1, then [a : 1 ] = [1 : b], so for elements of U, exchanging coordinates produces the multiplicative inverse in the opposite component.

The projective line receives two embeddings of A: z → [z : 1] and z → [1 : z]. On embedded U, the exchange in P(A) involves multiplicative inverse, while on embedded N the exchange brings up the identical non-unit in the opposite embedding.
 * Lemma: m + n in U implies m − n in U.
 * proof: am + bn = 1 = am + (−b)(−n) implies m − n is in U.

When A is a commutative ring there is a relation $$p \parallel q$$ holding for certain pairs p and q in P(A):

 * Definition: Points p = [a:b] and q = [c:d] are point parallel when ad − bc is in N, the non-units. (Benz, page 84, note formula error)

This relation is always reflexive and symmetric.
 * Exercise: Show that in case A is a field, then $$\parallel$$ is the equality relation.

For $$\parallel$$ to be an equivalence, transitivity can be demonstrated for rings which have a unique maximal ideal (known as local rings).
 * proof: $$[a:b] \parallel [c:d] \ \equiv \ ad - bc \in N .$$ For instance with m, n in N, [n:1] and [m:1] are parallel but not [n:1] and [1:m]. In A, if the principal ideals [m] and [n] are always the same, then A is a local ring, and vice versa. In this case the parallel relation is transitive.

The ring of dual numbers is an example of a local ring.

Homographies
Definition: For a ring A, M(2,A) represents the 2x2 matrices with entries from A. Using the operations of A, and matrix addition and multiplication, M(2,A) is itself a ring.

The exchange is an example of a homography on P(A) and can be represented by $$\begin{pmatrix}0 & 1 \\ 1 & 0 \end{pmatrix} \in M(2,A) .$$ The action of matrices in M(2,A) represent transformations of P(A). Row pairs on the left and elements of M(2,A) on the right are the two factors in a multiplicative transformation. When the determinant of such a matrix is a unit in the ring, then the matrix has an inverse in M(2,A).

For example, $$\begin{pmatrix}1 & 1 \\ -p & -q \end{pmatrix}$$ has determinant p – q. When p and q are in N, and p+q is in N also, then the matrix is singular (has no inverse) and p and q are point-parallel. If the above determinant is a unit, then the matrix is in a homography group on P(A). Looking at the first embedding, it maps [p:1] to zero and [q:1] to infinity. According to Walter Benz, p and q are point-parallel when there is no homography connecting them by a "chain", that is, a projective line P(Q) where A is an algebra over Q. The homography moved p and q to two points common to all projective lines.

The operations of the original ring A are represented by elements of M(2,A) acting on an embedding. The multiplication by unit u corresponds to $$\begin{pmatrix}u & 0 \\ 0 & 1 \end{pmatrix},$$ and addition of t corresponds to $$\begin{pmatrix}1 & 0 \\ t & 1 \end{pmatrix}.$$ In addition, M(2,A) contains matrices $$\begin{pmatrix}1 & t \\ 0 & 1 \end{pmatrix}$$ corresponding to addition in the second embedding or "translation at infinity" with respect to the first embedding.

 * Walter Benz (1973) Vorlesungen über Geometrie der Algebren, §2.1 Projective Gerade über einem Ring, §2.1.2 Die projective Gruppe, §2.1.3 Transitivitätseigenschaften, §2.1.4 Doppelverhaltnisse, Springer and Internet Archive.

title: Abstract Algebra/Projective line


text:
User:Lesless

 * Please, see here

 * or here.

This is Moscow:

ru:User:Lesless es:Usuario:Lesless lt:Naudotojas:Lesless de:Benutzer:Lesless fr:Utilisateur:Lesless pl:Wikipedysta:Lesless ja:利用者:Lesless commons:User:Lesless

title: User:Lesless


text:
Category:CS1 errors: invisible characters

__HIDDENCAT__


text:
Category:CS1 errors: unrecognized parameter

__HIDDENCAT__


text:
Category:CS1 maint: date and year

__HIDDENCAT__

title: Category:CS1 maint: date and year


text:
Category:Pages using reflist with unknown parameters

__HIDDENCAT__


text:
Category:CS1 errors: access-date without URL

__HIDDENCAT__


text:
Category:CS1 errors: missing title

__HIDDENCAT__

title: Category:CS1 errors: missing title


text:
Piano Solo Music: An Encyclopedia/Composers born in the 19th century/Busoni, Ferruccio

Compositions for piano solo by Ferruccio Busoni

 * Allegro fugato in E major, BV 66
 * Berceuse in C major, op. 2, BV 2 [YouTube]
 * Cadenza-Esercizio in C major, op. 4, BV 4 [YouTube]
 * Canzone in C major, op. 1, BV 1 [YouTube]
 * Canzone popolare in C major, op. 13, BV 11
 * Capriccio in C minor, BV 29
 * Fantaisie-Impromptu in C minor, BV 43
 * Fuga a 2 voci in stile libero, BV 23
 * Fuga a 3 voci, BV 25
 * Fuga in G major, BV 54
 * Fuga in stile libero, op. 16, BV 79
 * Fughetta in C major, BV 47
 * Gavotta in D minor, BV 26
 * Gavotta, op. 25, BV 89 [YouTube]
 * Gavottina in F major, op. 3 no 3, BV 48
 * Il Dolore: Romanza senza parole, BV 45
 * Inno (Hymn) with variations, op. 12, BV 16 [YouTube]
 * Inno (Hymn) in C minor, BV 27
 * Inno (Hymn) in C major, BV 32
 * Introduzione, Tempo di Walzer e Finale, op. 3, BV 3
 * Invention in C minor, BV 50
 * Invenzione in D major, BV 59
 * Invenzione a due voci in C major, BV 31
 * La Canzone del Cacciatore in C major, op. 10, BV 12 [YouTube]
 * Mandolinata in C minor, BV 33
 * Marcia funebre in C minor, op. 8, BV 9 [YouTube]
 * Marcia funebre in F minor, BV 40
 * Meditazione in D major, BV 49
 * Menuetto in C major, op. 17, BV 7 [YouTube]
 * Menuetto in A minor, BV 46
 * Menuetto in D minor, BV 73
 * Menuetto in F major, BV 77 [YouTube]
 * Piano sonata no. 1 in C major, op. 7, BV 58
 * Piano sonata no. 2 in D major, op. 8, BV 61 [YouTube]
 * Piano sonata no. 3 in E major, op. 9, BV 65
 * Pièces 1 - 5, op. 3, BV 71 [YouTube] [YouTube] [YouTube] [YouTube] [YouTube]
 * Polka in C major, op. 16, BV 17 [YouTube]
 * Prelude in C major, op. 11, BV 13 [YouTube]
 * Prelude in C major, op. 19, BV 20 [YouTube]
 * Prelude in C major, op. 20, BV 21
 * Prelude in E minor, BV 64
 * Prelude in F minor, op. 19, BV 84
 * Preludio e Fuga in C major, op. 15, BV 78
 * Preludio e Fuga in C minor, op. 21, BV 85 [YouTube] [YouTube]
 * Presto in C minor, BV 30
 * Racconti fantastici 1 - 3, op. 12, BV 100 [YouTube] [YouTube] [YouTube]
 * Rhapsodie hongroise, op. 28, BV 92
 * Romanza senza parole in C minor, op. 9, BV 10
 * Rondo brilliant, BV 97
 * Scherzo in A minor, op. 14, BV 14 [YouTube]
 * Scherzo in B flat major, op. 15, BV 18 [YouTube]
 * Scherzo in C minor, BV 37
 * Scherzo in F sharp minor, BV 62
 * Sonata in D major, BV 22
 * Studio in G major, op. 5, BV 5 [YouTube]
 * Studio in C major, BV 24
 * Studio in C major, BV 52
 * Studio in C minor, BV 75
 * Studio contrappuntato in D major, BV 28
 * Suite campestre 1 - 5, op. 18, BV 81 [YouTube] [YouTube] [YouTube] [YouTube] [YouTube]
 * Tema con variozioni in C major, op. 6, BV 6 [YouTube]
 * Toccata in B flat major, op. 4, BV 74
 * Waltzer da Concerto. Momento Musicale in C minor, BV 34


text:
Pokémon Red and Blue/To Lavender Town

Vermilion City
Your next destination is Lavender Town. The fastest way there is via Route 11, to the east of Vermilion City.

Route 11
This Route has paved pathways, lots of tall grass, and no fewer than 10 enemy Trainers. The small cave you see at the beginning of the Route does not lead to Lavender Town, so skip that for now. Towards the east end of the Route you will see an enemy Trainer looking at a bush. If you examine this bush, you will find an Escape Rope.

You will reach a small gatehouse at the east end of the Route. Be sure to go upstairs, as there you will find one of Professor Oak’s assistants. Check the “Owned” number in your Pokédex. If this number is 30 or more, talk to him and he will give you the Itemfinder, which helps pinpoint the locations of hidden items. You will also find an individual willing to trade a Nidorido for a Nidorida. Continue east.

Route 12
Uh oh… what’s this? It seems that a giant Pokémon called Snorlax has fallen asleep in the most inconvenient spot in all of Kanto. You will need a special item to wake him that you do not have. We must turn back, unfortunately. Go back down Route 11, and this time enter the small cave you passed by earlier.

Diglett’s Cave
This small cave is a straight line (well, a diagonal line) connecting Vermilion City to Route 2. It is completely featureless except for the prodigious amount of wild Diglett you will encounter. A Flying-type Pokémon may be your friend here.

Route 2
You will emerge from the cave not far from the north entrance to Viridian Forest. Except, this time, you are located on the other side of those maddening Cut trees you saw when you first came through here. Go due south from the cave entrance. Inside the house, you will find a man who wants an Abra. These common but obnoxious Pokémon flee whenever you try to battle them. If you happen to have a spare one (that hasn’t evolved), you can trade your Abra for Mr. Mime, the only Mr. Mime in the game. Continue south.

Inside the larger building, you will find another of Professor Oak’s aides. If you have a full team of six, plus at least four Pokémon in the PC box (ten or more Pokémon overall), talk to him and he will give you HM 05 (Flash). You will need this soon.

South of there, you will find an HP Up and after that a rare Moon Stone. At this point, since you’re in the neighborhood, let’s do a bit of backtracking. Since you now have Cut, you can destroy the Cut trees to travel around (rather than through) Viridian Forest.

Viridian City
Remember this place? The Gym is still closed. But that’s OK; we’re here for something else. In the southwest corner of the city is a pool of water and a man behind a Cut tree. Destroy this Cut tree and talk to him. He will give you TM 42 (Dream Eater). Now head back north.

Pewter City
Remember the back door to the Pewter City museum? We can now get into that, too. Destroy the Cut tree and enter the building. Inside, one of the researchers will give you an Old Amber. This item works just like the Dome Fossil and the Helix Fossil you saw back in Mt. Moon. If you take this item to a lab in a distant town, you will receive a Pokémon found nowhere else. You now need to return to Cerulean City. You can either go east through Mt. Moon, or back through Diglett’s Cave and north using the underground tunnel.

Cerulean City
Exit east this time. You will find a Cut tree; dispose of it.

Route 9
This Route has a lot of ledges and a lot of enemy Trainers. You will have to take a roundabout path to reach the patch of tall grass you may see just after entering the Route. Due south of the first enemy Trainer, you will find TM 30 (Teleport). If you do wander about in the tall grass on this route, be sure to examine the lone tree at the end of the ledge. You’ll find an Ether hidden there.

Route 10
Now this is interesting. There is only one enemy Trainer on this route, but if you go all the way south you can see a huge building. This is the Power Plant. Sadly, the only way you can reach the Power Plant is via the river that runs down the east end of this Route, but you can’t swim. Remember this place well, though, as a Legendary Pokémon hides within it.

You will find a Super Potion hidden in the cliff face immediately to the east of the cave entrance.

Rock Tunnel
Get ready for another cave. Unlike Mt. Moon, however, you can’t see a thing! It’s pitch black in here. This is the place where the HM for Flash comes in handy. Teach it to a Pokémon and use it to light up the cave. There is little to do in this area except move through it or stay and catch Pokémon. Here is the fastest path to the other side:

 * 1) Head east, then south at the fork, past the enemy Trainer. (The east path is a dead end.)
 * 2) Go down the ladder you find at the end.
 * 3) Go west out of this room; you will find another enemy Trainer here. At the fork, go north; west is a dead end.
 * 4) Follow the winding trail until you reach another fork in the northeast. Pick either path; they both lead to the same place and both have one enemy Trainer each.
 * 5) Go up the ladder.
 * 6) Go south. If you avoid the enemy Trainer here by going west, you will have to fight a different one. Both paths rejoin in an open area. You will find a ladder down the north path.
 * 7) Go down the ladder.
 * 8) Go west until you get to the fork; turn south. Go west at the next fork. Then go north and, immediately after that, west again. Go north from there and you will reach another ladder.
 * 9) Go up the ladder.
 * 10) Follow the winding path until you reach a fork; go west.
 * 11) At the south side of this room you will find the exit!

Route 10 (southern part)
You will emerge from the cave right next to an enemy Trainer. Go east instead and search the very conspicuous rock to find a Max Ether. Then go south and you’ll finally reach Lavender Town.

Lavender Town
Finally, a Pokémon Center! Be sure to check out the Poké Mart here, as it sells several new items. This includes the Great Ball (more effective at catching a Pokémon than a regular Poké Ball) and the object called a Revive (use it on a fainted Pokémon and it will un-faint and regain half its health).

In the southeast of the three houses in this town, you will find a man called the Name Rater. This apparent eccentric actually serves a very useful purpose: editing (or adding) the nicknames you give to Pokémon when you catch them.

The house at the center of town is the residence of a kind old man named Fuji. He has mysteriously disappeared.

The large tower to the northeast is Pokémon Tower. You are not intended to explore the tower at this point in the game. If you do, you will run into a rival battle (balanced for a more powerful team than yours is now), and past that you will find that the ghosts inhabiting the tower make progress impossible. You will have to come back later.

title: Pokémon Red and Blue/To Lavender Town


text:
Bengali/Script/Symbols 1

Modifiers and others
ঃ -h and ং -ng are also often used as abbreviation marks in Bengali, with ং -ng used when the next sound following the abbreviation would be a nasal sound, and ঃ -h otherwise. For example, ডঃ ḍôh stands for ডক্টর ḍôkṭor "doctor" and নং nông stands for নম্বর nômbor "number". Some abbreviations have no marking at all, as in ঢাবি ḍhabi for ঢাকা বিশ্ববিদ্যালয় Ḍhaka Bishshobiddalôe "Dhaka University". The full stop can also be used when writing out English letters as initials, such as ই.ইউ. i iu "E.U.".

The jôphôla is sometimes used as a diacritic to indicate non-Bengali vowels of various kinds in transliterated foreign words. For example, the schwa is indicated by a jôphôla, the French u and the German umlaut ü as উ্য, the German umlaut ö as ও্য or এ্য, etc.

The apostrophe, known in Bengali as ঊর্ধ্বকমা urdhokôma "upper comma", is sometimes used to distinguish between homographs, as in পাটা paţa "plank" and পা'টা paţa "the leg". Sometimes a hyphen is used for the same purpose (as in পা-টা, an alternative of পা'টা).

title: Bengali/Script/Symbols 1


text:
Module:Citation/CS1/Suggestions

-- Please insert new suggestions in alphabetical order -- The form is ['incorrect'] = 'correct',

suggestions = { ['ASIN-TLD'] = 'asin-tld',													-- old parameter name ['abruf'] = 'access-date',													-- German ['abruf-verborgen'] = 'access-date',										-- German ['accessmonth'] = 'access-date', ['accesso'] = 'access-date',												-- Italian ['accessyear'] = 'access-date', ['acessodata'] = 'access-date',												-- Brazilian Portuguese ['ad'] = 'first',															-- Turkish ['address'] = 'location', ['anno'] = 'date',															-- Italian ['annoaccesso'] = 'access-date',											-- Italian ['annodiaccesso'] = 'access-date',											-- Italian ['annooriginale'] = 'orig-date',											-- Italian ['année'] = 'date',															-- French ['apellido'] = 'last',														-- Spanish ['apellidos'] = 'last',														-- Spanish ['archiv-datum'] = 'archive-date',											-- German ['archiv-url'] = 'archive-url',												-- German ['archive date'] = 'archive-date',                                         -- misspelling ['archive url'] = 'archive-url',											-- misspelling ['archive-link'] = 'archive-url',	                                       -- old parameter name ['archiv-url'] = 'archive-url',												-- German ['arkivdatum'] = 'archive-date',											-- Swedish, Norwegian ['arkivurl'] = 'archive-url',											   -- Swedish, Norwegian ['artist'] = 'others', ['arşiv-tarihi'] = 'archive-date',											-- Turkish ['arşiv-url'] = 'archive-url',												-- Turkish ['arşivtarihi'] = 'archive-date',											-- Turkish ['arşivurl'] = 'archive-url',												-- Turkish ['auflage'] = 'edition',													-- German ['auteur'] = 'author',														-- French ['auther'] = 'author',                                                     -- misspelling ['author link'] = 'author-link',											-- Polish ['authorfirst'] = 'author-first',											-- old parameter name ['authorgiven'] = 'author-given',											-- old parameter name ['authorlast'] = 'author-last',												-- old parameter name ['authormask'] = 'author-mask',												-- old parameter name ['authorsurname'] = 'author-surname',										-- old parameter name ['autor'] = 'author',														-- Spanish, German (singular and plural) ['autore'] = 'author',														-- Italian ['autthor'] = 'author',                                                    -- misspelling ['ay'] = 'month',															-- Turkish ['año'] = 'date',															-- Spanish ['año-original'] = 'orig-date',												-- Spanish ['añoacceso'] = 'access-date',												-- Spanish ['añooriginal'] = 'orig-date',												-- Spanish ['band'] = 'volume',														-- German ['bandreihe'] = 'volume',													-- German ['baskı'] = 'edition',														-- Turkish ['başlık'] = 'title',														-- Turkish ['began'] = 'date',															-- old parameter name (cite serial only); or orig-date= ['booktitle'] = 'book-title',												-- old parameter name ['ch'] = 'language',														-- German (as 'language=de-CH') ['chapter_title'] = 'chapter', ['chapterurl'] = 'chapter-url',												-- old parameter name ['cid'] = 'ref',															-- Italian ['cilt'] = 'volume',														-- Turkish ['cita'] = 'quote',															-- Spanish ['citazione'] = 'quote',													-- Italian ['città'] = 'location',														-- Italian ['city'] = 'location',														-- old parameter name (cite serial only) ['coauthor'] = 'author', ['coauthors'] = 'author', ['coautores'] = 'author',													-- Spanish ['coautori'] = 'author',													-- Italian ['cognome'] = 'last',														-- Italian ['conferenceurl'] = 'conference-url',										-- old parameter name ['consulté le'] = 'access-date',											-- French ['contributionurl'] = 'contribution-url',									-- old parameter name ['curatore'] = 'publisher',													-- Italian ['czasopismo'] = 'journal',													-- Polish ['data dostępu'] = 'access-date',											-- Polish ['data'] = 'date',															-- Polish, Italian ['dataaccesso'] = 'access-date',											-- Italian ['dataarchivio'] = 'archive-date',											-- Italian ['datum'] = 'date',															-- German, Swedish ['dead-url'] = 'url-status',												-- old parameter name ['deadlink'] = 'url-status',                                               -- old parameter name ['deadurl'] = 'url-status',													-- old parameter name ['dergi'] = 'work',															-- Turkish ['dil'] = 'language',														-- Turkish ['displayauthors'] = 'display-authors',										-- old parameter name ['displayeditors'] = 'display-editors',										-- old parameter name ['distributor'] = 'publisher', ['dnb'] = 'id',																-- German (as 'id=') ['doi-broken'] = 'doi-broken-date',											-- old parameter alias ['doi-inactive'] = 'doi-broken-date',										-- invalid name found in mainspace ['doi-inactive-date'] = 'doi-broken-date',									-- old parameter alias ['doi_brokendate'] = 'doi-broken-date',										-- old parameter alias ['doi_inactivedate'] = 'doi-inactive-date',									-- old parameter alias ['doibroken'] = 'doi-broken-date',											-- invalid name found in mainspace ['doiinactive'] = 'doi-broken-date',										-- invalid name found in mainspace ['e-print'] = 'eprint',														-- misspelling -- ['ed'] = 'edition',														-- avoid suggestion as in English this could be short for editor or edition -- ['editora'] = 'publisher',												-- can be either editor or publisher -- ['editore'] = 'agency',													-- can be either publisher or agency -- ['editori'] = 'editor',													-- can be either editor or publisher -- ['editorial'] = 'publisher',												-- can be either publisher or work ['editoin'] = 'edition',													-- misspelling ['editon'] = 'edition',														-- misspelling ['editorfirst'] = 'editor-first',											-- old parameter name ['editorgiven'] = 'editor-given',											-- old parameter name ['editorlast'] = 'editor-last',												-- old parameter name ['editorlink'] = 'editor-link',												-- old parameter name ['editormask'] = 'editor-mask',												-- old parameter name ['editors'] = 'editor',														-- old parameter name (can be emulated using multiple singular |editor= params) ['editorsurname'] = 'editor-surname',										-- old parameter name ['edizione'] = 'edition',													-- Italian ['embargo'] = 'pmc-embargo-date',											-- old parameter name ['ended'] = 'date',															-- old parameter name (cite serial only) ['en ligne le'] = 'archive-date',											-- French ['encyclopædia'] = 'encyclopedia', ['enlaceautor'] = 'author-link',											-- Spanish ['enlaceroto'] = 'url-status',												-- Spanish ['episodelink'] = 'episode-link',											-- old parameter name ['erişimtarihi'] = 'access-date',											-- Turkish ['eser'] = 'work',															-- Turkish ['family'] = 'surname',														-- misguess ['fecha'] = 'date',															-- Spanish ['fechaacceso'] = 'access-date',											-- Spanish ['fechaarchivo'] = 'archive-date',											-- Spanish ['filetype'] = 'format', ['foramt'] = 'format',														-- misspelling ['fore-name'] = 'given',													-- misguess/misspelling ['forename'] = 'given',														-- misguess ['författare'] = 'author',                                                 -- Swedish, Norwegian ['formato'] = 'format',														-- Spanish, Italian, Polish ['frist'] = 'first',														-- misspelling ['fundstelle'] = 'at',														-- German ['gazete'] = 'work',														-- Turkish ['giornale'] = 'journal',													-- Italian ['hämtdatum'] = 'access-date',											   -- Swedish ['herausgeber'] = 'editor',													-- German (singular and plural) ['hrsg'] = 'publisher',														-- German ['hrsgreihe'] = 'editor',													-- German ['idioma'] = 'language',													-- Spanish ['ignore-isbn-error'] = 'isbn',												-- old parameter (can be fully emulated using ((syntax))) ['ignoreisbnerror'] = 'isbn',												-- old parameter alias (suggest |isbn as |ignore-isbn-error is deprecated), not a direct replacement, but can be fully emulated using ((syntax)) ['imię'] = 'first',															-- Polish ['in-set'] = 'inset',														-- misspelling ['interviewerlink'] = 'interviewer-link',									-- old parameter alias ['interviewermask'] = 'interviewer-mask',									-- old parameter alias ['isbndefekt'] = 'isbn',													-- German (suggest |isbn as |ignore-isbn-error is deprecated), not a direct replacement, but can be fully emulated using ((syntax)) ['isbnformalfalsch'] = 'isbn',												-- German (suggest |isbn as |ignore-isbn-error is deprecated), not a direct replacement, but can be fully emulated using ((syntax)) ['isbnistformalfalsch'] = 'isbn',											-- German (suggest |isbn as |ignore-isbn-error is deprecated), not a direct replacement, but can be fully emulated using ((syntax)) ['isnb'] = 'isbn',															-- misspelling ['issnformalfalsch'] = 'issn',												-- German (can be fully emulated using ((syntax))) ['jahr'] = 'date',															-- German ['jahrea'] = 'orig-date',													-- German (not a direct replacement, but can be emulated) ['kapitel'] = 'chapter',													-- German ['langauge'] = 'language',													-- misspelling ['langue'] = 'language',													-- French ['last-author-amp'] = 'name-list-style',									-- old parameter name (as |name-list-style=amp) ['lastauthoramp'] = 'name-list-style',										-- old parameter name (as |name-list-style=amp) ['lieu'] = 'location',														-- French ['lingua'] = 'language',													-- Italian ['lire en ligne'] = 'url',													-- French ['lizenznummer'] = 'id',													-- German (as 'id=License No. ...')

['loaction'] = 'location',													-- misspelling ['local'] = 'location',														-- Brazilian Portuguese ['locatoin'] = 'location',													-- misspelling ['lugar'] = 'location',														-- Spanish ['mailinglist'] = 'mailing-list',											-- old parameter name ['mapurl'] = 'map-url',														-- old parameter name ['mes'] = 'date',															-- Spanish (not a direct replacement) ['mese'] = 'date',															-- Italian (not a direct replacement) ['miejsce'] = 'location',													-- Polish ['miesiąc'] = 'date',														-- Polish ['mois'] = 'date',															-- French ['monat'] = 'date',															-- German --	['name'] = 'author',														-- 'name' is often erroneously used for 'title' and 'work' as well, so no suggestion is better than a wrong suggestion ['name-list-format'] = 'name-list-style',									-- old parameter name (as |name-list-style=amp) ['nazwisko'] = 'last',														-- Polish ['nespaper'] = 'newspaper',													-- misspelling ['net-work'] = 'network',													-- misspelling ['newpaper'] = 'newspaper',													-- misspelling ['news'] = 'newspaper', ['news-group'] = 'newsgroup',												-- misspelling ['news-paper'] = 'newspaper',												-- misspelling ['no-cat'] = 'no-tracking',													-- old parameter ['nocat'] = 'no-tracking',													-- old parameter ['nom'] = 'last',															-- French ['nombre'] = 'first',														-- Spanish ['nome'] = 'first',															-- Italian ['nopp'] = 'no-pp',															-- old parameter name ['notracking'] = 'no-tracking',												-- old parameter ['numero'] = 'number',														-- Italian, Spanish ['nummer'] = 'number',														-- German ['nummerreihe'] = 'number',													-- German ['obra'] = 'work',															-- Spanish ['odpowiedzialność'] = 'agency',											-- Polish ['offline'] = 'url-status',													-- German (as 'url-status=dead') ['online'] = 'url',															-- German (not a direct replacement, but can be emulated) ['opera'] = 'work',															-- Italian ['opublikowany'] = 'agency',												-- Polish ['origdate'] = 'orig-date',													-- misspelling ['originaljahr'] = 'orig-date',												-- German ['originalort'] = 'publication-place',										-- German ['originalsprache'] = 'language',											-- German ['originaltitel'] = 'title',												-- German (if 'originaltitel' is specified, any possible contents of 'title' should be put in 'trans-title') ['ort'] = 'publication-place',												-- German ['ortea'] = 'publication-place',											-- German (not a direct replacement, but can be emulated) ['other'] = 'others', ['oznaczenie'] = 'agency',													-- Polish ['pagees'] = 'pages',														-- misspelling ['pagina'] = 'page',														-- Italian ['pagina'] = 'pages',														-- Italian ['pagine'] = 'pages',														-- Italian ['pagine'] = 'pages',														-- Italian ['passage'] = 'pages',														-- French ['periodico'] = 'magazine',													-- Spanish ['plublisher'] = 'publisher',												-- misspelling ['pmcid'] = 'pmc', ['post-script'] = 'postscript',												-- misspelling ['praca'] = 'work',															-- Polish ['primero'] = 'first',														-- Spanish ['prénom'] = 'first',														-- French ['prénom1'] = 'first1',														-- French ['ps'] = 'postscript', ['pub'] = 'publisher', -- ['pubblicazione'] = 'magazine',											-- could be any kind of work -- ['publicación'] = 'journal',												-- could be any kind of work ['publicationdate'] = 'publication-date',									-- old parameter name -- ['published'] = 'publisher',												-- could be date, location, or name of publisher ['publicationplace'] = 'publication-place',									-- old parameter name ['pulbication-place'] = 'publication-place',								-- misspelling ['página'] = 'page',														-- Spanish ['páginas'] = 'pages',														-- Spanish ['périodique'] = 'publisher',												-- French ['registration'] = 'url-access',											-- old parameter name ['reihe'] = 'series',														-- German ['retrieved'] = 'access-date',                                             -- old parameter name ['richiestasottoscrizione'] = 'url-access',									-- Italian (as |url-access=subscription) ['rivista'] = 'magazine',                                                  -- Italian ['rok'] = 'date',															-- Polish ['rubrik'] = 'title',                                                      -- Swedish ['sammelwerk'] = 'work',													-- German ['sayfa'] = 'page',															-- Turkish ['sayfalar'] = 'pages',														-- Turkish ['sayı'] = 'issue',															-- Turkish ['script-post'] = 'postscript',												-- misspelling ['script-trans'] = 'transcript',											-- misspelling ['season'] = 'date',														-- old parameter name (cite serial only) ['sectionurl'] = 'section-url',												-- old parameter name ['seiten'] = 'pages',														-- German ['seria'] = 'series',														-- Spanish, Polish ['serie'] = 'series',														-- Italian ['série'] = 'series',														-- French ['serieslink'] = 'series-link',												-- old parameter name ['seriesno'] = 'series-number',												-- old parameter name ['service'] = 'agency', ['sitioweb'] = 'website',													-- Spanish ['sito'] = 'website',														-- Italian ['soyadı'] = 'last',														-- Turkish ['spalten'] = 'at',															-- German (not a direct replacement, but can be emulated) ['sprache'] = 'language',													-- German ['språk'] = 'language',                                                    -- Swedish, Norwegian ['stron'] = 'page',															-- Polish ['strony'] = 'pages',														-- Polish ['subjectlink'] = 'subject-link',											-- old parameter name ['subscription'] = 'url-access',											-- old parameter name (emulated as |url-access=subscription) ['sur-name'] = 'surname',													-- misspelling ['suscripción'] = 'url-access',												-- Spanish, Polish (as |url-access=subscription) ['tag'] = 'date',															-- German ['tarih'] = 'date',															-- Turkish ['template doc demo'] = 'no-tracking',										-- old parameter alias ['tidning'] = 'work',                                                      -- Swedish ['tile'] = 'title',															-- misspelling ['timecaption'] = 'time-caption',											-- old parameter name ['titlelink'] = 'title-link',												-- old parameter name ['tipo'] = 'type',															-- Italian ['tite'] = 'title',															-- misspelling ['titel'] = 'title',														-- German ['titel-p'] = 'title',														-- German ('postscript=none' should be added as well) ['titelerg'] = 'contribution',												-- German (not a direct replacement, but can be emulated) ['titled'] = 'title',														-- Brazilian Portuguese ['titolo'] = 'title',														-- Italian ['titre'] = 'title',														-- French ['trans-script'] = 'transcript',											-- misspelling ['trans_chapter'] = 'trans-chapter',										-- old parameter alias ['trans_title'] = 'trans-title',											-- old parameter alias ['transchapter'] = 'trans-chapter', ['transcripturl'] = 'transcript-url',										-- old parameter name ['transscript'] = 'transcript',												-- misspelling ['transscript-format'] = 'transcript-format',								-- misspelling ['transscript-url'] = 'transcript-url',										-- misspelling ['transscripturl'] = 'transcript-url',										-- misspelling ['transtitle'] = 'trans-title', ['typ'] = 'author-mask',													-- German (not a direct replacement, but the only valid argument 'typ=wl' can be emulated using 'author-mask') ['tytuł'] = 'title',														-- Polish ['títle'] = 'title', ['título'] = 'title',														-- Spanish ['ubicación'] = 'location',													-- Spanish ['urlarchivio'] = 'archive-url',											-- Italian ['urlarchivo'] = 'archive-url',												-- Spanish ['urlmorto'] = 'url-status',												-- Italian ['urn'] = 'id',																-- German (as 'id=') ['v-authors'] = 'vauthors',													-- misspelling ['v-editors'] = 'veditors',													-- misspelling ['verlag'] = 'publisher',													-- German ['verlagea'] = 'publisher',													-- German (not a direct replacement, but can be emulated) ['vol'] = 'volume', ['volumen'] = 'volume',														-- Spanish ['werk'] = 'work',															-- German ['werkerg'] = 'contribution',												-- German (not a direct replacement, but can be emulated) ['wkautore'] = 'author-link',												-- Italian ['wolumin'] = 'volume',														-- Polish ['wydanie'] = 'number',														-- Polish ['wydawca'] = 'publisher',													-- French ['yardımcıyazarlar'] = 'author',											-- Turkish ['yayımcı'] = 'publisher',													-- Turkish ['yayıncı'] = 'publisher',													-- Turkish ['yazar'] = 'author',														-- Turkish ['yazarbağı'] = 'author-link',												-- Turkish ['yer'] = 'location',														-- Turkish ['yıl'] = 'date',															-- Turkish ['zaprezentowany'] = 'publisher',											-- French ['zdb'] = 'id',																-- German (as 'id=') ['zitat'] = 'quote',														-- German ['zugriff'] = 'access-date',												-- German ['éditeur'] = 'editor',														-- French ['ölüurl'] = 'url-status',													-- Turkish ['übersetzer'] = 'translator',												-- German (singular and plural) }

--[[--< P A T T E R N S >--

Here we use Lua patterns to make suggestions. The form is

['pattern'] = 'correct',

Lua patterns are not REGEX though they are similar. The escape character is '%', not '\'. For more information about Lua patterns, see: Extension:Scribunto/Lua_reference_manual#Patterns

Patterns should probably always include the '^' and '$' anchor assertions to prevent a partial match from incorrectly suggesting the wrong parameter name. For instance, the pattern 'a[utho]+r' matches 'author' in the no-longer-supported parameter |author-separator= so the code suggests '|author='; the same pattern also matches the no-longer-supported parameter |separator= (returning 'ator') so again, the code suggests '|author='.

One capture is supported, typically the enumerator from an enumerated parameter (the '6' in |author6=, etc.) The value from the capture replaces $1 in the 'correct' value.

]]

local patterns = { ['^ac+es+ ?d?a?t?e?$'] = 'access-date',										-- misspelling ['^apellido[s]?(%d+)$'] = 'last$1',											-- Spanish, enumerated ['^a[utho]+r$'] = 'author',													-- misspelling ['^a[utho]+r(%d+)$'] = 'author$1',											-- misspelling, enumerated ['^author link(%d+)$'] = 'author-link$1',									-- Polish, enumerated ['^autor[e]?(%d+)$'] = 'author$1',											-- Italian/Spanish/German, enumerated ['^authorfirst(%d+)$'] = 'author-first$1',									-- old parameter name, enumerated ['^author(%d+)first$'] = 'author-first$1',									-- old parameter name, enumerated ['^authorgiven(%d+)$'] = 'author-given$1',									-- old parameter name, enumerated ['^author(%d+)given$'] = 'author-given$1',									-- old parameter name, enumerated ['^authorlast(%d+)$'] = 'author-last$1',									-- old parameter name, enumerated ['^author(%d+)last$'] = 'author-last$1',									-- old parameter name, enumerated ['^authormask(%d+)$'] = 'author-mask$1',									-- old parameter name, enumerated ['^author(%d+)mask$'] = 'author-mask$1',									-- old parameter name, enumerated ['^authorsurname(%d+)$'] = 'author-surname$1',								-- old parameter name, enumerated ['^author(%d+)surname$'] = 'author-surname$1',								-- old parameter name, enumerated ['^cognome(%d+)$'] = 'last$1',												-- Italian, enumerated ['^editorfirst(%d+)$'] = 'editor-first$1',									-- old parameter name, enumerated ['^editor(%d+)first$'] = 'editor-first$1',									-- old parameter name, enumerated ['^editorgiven(%d+)$'] = 'editor-given$1',									-- old parameter name, enumerated ['^editor(%d+)given$'] = 'editor-given$1',									-- old parameter name, enumerated ['^editorlast(%d+)$'] = 'editor-last$1',									-- old parameter name, enumerated ['^editor(%d+)last$'] = 'editor-last$1',									-- old parameter name, enumerated ['^editorlink(%d+)$'] = 'editor-link$1',									-- old parameter name, enumerated ['^editor(%d+)link$'] = 'editor-link$1',									-- old parameter name, enumerated ['^editormask(%d+)$'] = 'editor-mask$1',									-- old parameter name, enumerated ['^editor(%d+)mask$'] = 'editor-mask$1',									-- old parameter name, enumerated ['^editorsurname(%d+)$'] = 'editor-surname$1',								-- old parameter name, enumerated ['^editor(%d+)surname$'] = 'editor-surname$1',								-- old parameter name, enumerated ['^enlaceautore(%d+)$'] = 'author-link$1',									-- Spanish, enumerated ['^first (%d+)$'] = 'first$1',												-- enumerated ['^last (%d+)$'] = 'last$1',												-- enumerated ['^nom[e]?(%d+)$'] = 'last$1',												-- Italian/French, enumerated ['^nombre(%d+)$'] = 'first$1',												-- Spanish, enumerated ['^primero(%d+)$'] = 'first$1',												-- Spanish, enumerated ['^pu[blish]+ers?$'] = 'publisher',											-- misspelling ['^subjectlink(%d+)$'] = 'subject-link$1',									-- old parameter name, enumerated ['^subject(%d+)link$'] = 'subject-link$1',									-- old parameter name, enumerated ['^wkautore(%d+)$'] = 'author-link$1',										-- Italian, enumerated }

return {suggestions = suggestions, patterns=patterns};

title: Module:Citation/CS1/Suggestions


text:
Module:Citation/CS1/Suggestions/doc

This is a list of suggested alternatives to use when an unknown parameter is encountered by a citation template. When an unknown parameter is found within a citation template an error message is generated, and when possible the software makes a suggestion for what the user may have meant by consulting this list of common mistakes and typos.

Each entry takes the form: ['bad input parameter'] = 'suggested parameter to use'

The bad input parameter will have been transformed to lower case before checking this list, so all input forms on this list should be written in lowercase.

title: Module:Citation/CS1/Suggestions/doc