Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

tikzling-ducks #8

Open
maieul opened this issue Jul 2, 2019 · 2 comments
Open

tikzling-ducks #8

maieul opened this issue Jul 2, 2019 · 2 comments

Comments

@maieul
Copy link

maieul commented Jul 2, 2019

I think that ducks should not be treated as a specific thing, and we should merge tikzduck inside tikzlings, or more precisly tikzlings-duck?

@joulev
Copy link

joulev commented Jul 3, 2019

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?

@samcarter
Copy link
Owner

samcarter commented Jul 3, 2019

@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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants