Open maieul opened 5 years ago
Are you a user of TeX.SE, and do you frequently chat with samcarter and many other users in the chat room?
If yes, you definitely know why ducks are treated seperately.
Otherwise, here is some of my personal thoughts. In fact, TeX.SE users generally love ducks, or at least, they are duck enthusiasts (see this TUGboat article for more information). It led to this question, and eventually, tikzducks
was born.
Some TeX.SE users, especially marmot, also love some other animals. That is why a sister of tikzducks
, tikzlings
was born. You can see the avatar of marmot is, well, a tikzlings
\marmot
.
Therefore, the ways tikzlings
and tikzducks
originated are different, and ducks are not treated like other tikzlings
(at least in TeX.SE) – it is a little bit strange to merge the two packages.
Moreover, the number of implemented features for a duck in tikzducks
is far larger than that for any other animals in tikzlings
. To merge the developer has to implement many features for "normal" animals to equalize them with the ducks. That is not an easy thing to do, right?
@maieul Thanks for your suggestion! I indeed thought about this when I retired the tikzmarmots
package and included it into the tikzlings, but decided to leave the tikzducks
as separate package.
Besides the cultural reasons @joulev mentioned, this has some conceptional and technical reasons.
the ducks have a lot of complicate features which cannot be easily ported to other tikzlings. Take for example all the hairstyles and clothing. In a joined tikzlings/ducks package I would need to either drop all these features or have many options only for the ducks and I'm afraid this would make the other tikzlings feel as second class tikzlings (remember that tikzlings can be very sensitive :)
Some more technical point: many of the tikzlings are symmetric with respect to the y-axis. Therefore I decided to move them to x=0 to make coding easier. This means that all the additional items needs to be shifted compared to the ducks. A joined package would either mean much duplicated code to accommodate the different positions or changing the coordinates of the ducks, which would be a problem for backward compatibility with the existing package
the perspective are very different, tikzlings are seen face-on, the ducks from the side. This meant I had to modify many items, for example the size and inclination of hats. Again a combined package would mean much code duplication.
One thing I've been thinking about for some time is to load the original tikzducks package automatically in the tikzlings package. On the one hand this would make usage of both easier on the other hand it feels patronising to the users. Not sure what is the best option.
I think that ducks should not be treated as a specific thing, and we should merge tikzduck inside tikzlings, or more precisly tikzlings-duck?