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

Enhancement: a clear guide for ldf vs. ini selection needed (documentation revamping). #311

Open
niruvt opened this issue Sep 23, 2024 · 15 comments

Comments

@niruvt
Copy link
Contributor

niruvt commented Sep 23, 2024

Have a look at 1, 2.

I asked these questions in order to adhere to the best practices for as many languages as I can. Of course, nobody can have everything by heart since the information stored in this package is humongous, but what I struggled with is that there was no precise information available about which language is best supported with which way, i.e., ldf or ini (and why so). Generally it is assumed that the user will read the documentation, online resources, guidelines and then select the best method available, but seldom the ground-level users take this much effort. I was trying to develop something that will take care of "most of the things" related to language, but realised there is way to much to this area than I thought. Most of the peers advised me to leave babel up to users and develop the rest of the code, but this idea didn't impress me much.

Forget about development, suppose somebody wants to do cool things in their local files using a lot of languages, even then whether the ldf or the ini wasn't very clearly described in the resources I found.

Sorry for the longish introduction, but I feel it was needed to establish the requirement I am suggesting. We need a development tracker (maybe a table) which clearly marks the progress of the ldf-s and ini. I would love to work for this. The idea I have is not much different than 3, but I require an one-stop location for all the information regarding language LaTeX. Let me know what you think, how I can help.

@jbezos
Copy link
Contributor

jbezos commented Sep 23, 2024

Sorry for the longish introduction,

Quite the opposite.

We need a development tracker (maybe a table) which clearly marks the progress of the ldf-s and ini.

Agreed. Currently there is some information at this regard in the manual, but a more systematic data would be very useful, indeed. I must confess even I get lost sometimes, because many ldf files were developed long before I took over babel maintenance, and not always consistently.

I would love to work for this.

Great! Any help is very welcome and no doubt users will appreciate any improvements.

The idea I have is not much different than 3, but I require an one-stop location for all the information regarding language LaTeX. Let me know what you think, how I can help.

This should ideally be done somehow within Github, but I'm not sure what the best tools would be.

@u-fischer
Copy link
Member

This should ideally be done somehow within Github, but I'm not sure what the best tools would be.

the yaml-approach we are using for the tagging-status table works quite nicely. https://github.com/latex3/tagging-project/tree/main/tagging-status

@niruvt
Copy link
Contributor Author

niruvt commented Sep 24, 2024

I must confess even I get lost sometimes, because many ldf files were developed long before I took over babel maintenance, and not always consistently.

I can completely understand. How do we figure out a way? How to know which file is the best for a particular language retrospectively?

Great! Any help is very welcome and no doubt users will appreciate any improvements.

Should I post a PR to this repository itself? Can you recommend a location? Not sure when I can find time, but I will at least have this on my TODO.

the yaml-approach we are using for the tagging-status table works quite nicely. https://github.com/latex3/tagging-project/tree/main/tagging-status

Thanks @u-fischer for this.

@jbezos
Copy link
Contributor

jbezos commented Sep 24, 2024

@u-fischer Thanks. I'll take a look at it.

@jbezos
Copy link
Contributor

jbezos commented Sep 29, 2024

I submitted [oops, I meant pushed] a new version yesterday. @niruvt How good are you at wikis?

I'm testing with the following file. I've caught several issues (eg, galician and spanish aren’t compatible). I think a wiki can be a good starting point to collect comments:

\documentclass{article}

\expandafter\font\csname LHE/cmr/m/n/10\endcsname=cmr10
\ifx\directlua\undefined
  \usepackage[LGR,LHE,T5,T2B,T2A,T1]{fontenc}
\fi

\usepackage[
  belarusian,
  bulgarian,
  mongolian,
  macedonian,
  hebrew,
  % -- Cyrillic
  serbianc,
  ukrainian,
  russian,
  % -- Greek
  greek,
  % polutonikogreek,
  % -- Rest
  acadian,
  albanian,
  afrikaans,
  american,
  australian,
  austrian,
  bosnian,
  indonesian,
  malay,
  basque,
  brazilian,
  breton,
  british,
  canadian,
  catalan,
  croatian,
  czech,
  danish,
  dutch,
  english,
  esperanto,
  estonian,
  finnish,
  french,
  friulian,
  % galician,
  german,
  hungarian,
  icelandic,
  interlingua,
  irish,
  italian,
  kurmanji,
  latin,
  latvian,
  lithuanian,
  lowersorbian,
  magyar,
  naustrian,
  newzealand,
  ngerman,
  norsk,
  norwegian,
  northernsami,
  nynorsk,
  occitan,
  piedmontese,
  polish,
  portuguese,
  romanian,
  romansh,
  scottishgaelic,
  serbian,
  slovak,
  slovene,
  spanish,
  swedish,
  turkish,
  turkmen,
  uppersorbian,
  vietnamese,
  welsh,
  UKenglish,
  USenglish,
  % provide*=*      % Uncomment to test ini files
]{babel}

\nofiles

\babeladjust{ autoload.options = import } % fallback

\ifx\directlua\undefined\else
  \usepackage{fontspec}
  \setmainfont{FreeSerif}
\fi

\def\testlanguage#1{%
  #1: ({\selectlanguage{#1}\chaptername)(\indexname)\par}}
  
\begin{document}

\testlanguage{acadian}
\testlanguage{albanian}
\testlanguage{afrikaans}
\testlanguage{american}
\testlanguage{australian}
\testlanguage{austrian}
\testlanguage{belarusian}
\testlanguage{bosnian}
\testlanguage{indonesian}
\testlanguage{malay}
\testlanguage{basque}
\testlanguage{brazilian}
\testlanguage{breton}
\testlanguage{british}
\testlanguage{bulgarian}
\testlanguage{canadian}
\testlanguage{catalan}
\testlanguage{croatian}
\testlanguage{czech}
\testlanguage{danish}
\testlanguage{dutch}
\testlanguage{english}
\testlanguage{esperanto}
\testlanguage{estonian}
\testlanguage{finnish}
\testlanguage{french}
\testlanguage{friulian}
\testlanguage{galician}
\testlanguage{german}
\testlanguage{greek}
% \testlanguage{polutonikogreek}
\testlanguage{hebrew}
\testlanguage{hungarian}
\testlanguage{icelandic}
\testlanguage{interlingua}
\testlanguage{irish}
\testlanguage{italian}
\testlanguage{kurmanji}
\testlanguage{latin}
\testlanguage{latvian}
\testlanguage{lithuanian}
\testlanguage{lowersorbian}
\testlanguage{macedonian}
\testlanguage{magyar}
\testlanguage{mongolian}
\testlanguage{naustrian}
\testlanguage{newzealand}
\testlanguage{ngerman}
\testlanguage{norsk}
\testlanguage{norwegian}
\testlanguage{northernsami}
\testlanguage{nynorsk}
\testlanguage{occitan}
\testlanguage{piedmontese}
\testlanguage{polish}
\testlanguage{portuguese}
\testlanguage{romanian}
\testlanguage{romansh}
\testlanguage{russian}
\testlanguage{scottishgaelic}
\testlanguage{serbian}
\testlanguage{serbianc}
\testlanguage{slovak}
\testlanguage{slovene}
\testlanguage{spanish}
\testlanguage{swedish}
\testlanguage{turkish}
\testlanguage{turkmen}
\testlanguage{ukrainian}
\testlanguage{uppersorbian}
\testlanguage{vietnamese}
\testlanguage{welsh}
\testlanguage{UKenglish}
\testlanguage{USenglish}

\end{document}

@davidcarlisle
Copy link
Member

@jbezos do you mean starting something at the currently empty wiki at https://github.com/latex3/babel/wiki rather than on the github pages site https://latex3.github.io/babel/ (I don't have an opinion either way just checking for clarification)

@jbezos
Copy link
Contributor

jbezos commented Sep 29, 2024

@davidcarlisle Yes, I’ve reactivated the wiki (which is now empty) as a way to collect comments and start feeding it with information, which will eventually end up in either the manual, the github pages or in the babel code (fixes, warnings...). I like wikis and use them (and even maintain a public wiki on the Spanish language), so it can be an option, but only if there is agreement on it.

@niruvt
Copy link
Contributor Author

niruvt commented Sep 29, 2024

@jbezos I fairly know the markup of wiki. Is there anything else you expect me to know? To me, wiki looks like a good idea as people can easily collaborate.

@jbezos
Copy link
Contributor

jbezos commented Sep 29, 2024

I fairly know the markup of wiki.

@niruvt Github allows you to choose between AsciiDoc, Creole, Markdown, Mediawiki, Org-mode, Pod, Rdoc, Textile, and ReStructuredText, no less. I’d go to Markdown.

@niruvt
Copy link
Contributor Author

niruvt commented Sep 29, 2024

@jbezos Markdown sounds good to me too.

@jbezos
Copy link
Contributor

jbezos commented Sep 30, 2024

Is there anything else you expect me to know?

@niruvt Nothing and everything 🙂. Well, I’m not sure yet.

I've created a page in the wiki: https://github.com/latex3/babel/wiki/ldf-vs-ini-files. The idea, I think, is that of this issue, namely: ‘a clear guide for ldf vs. ini selection needed’. I’ve written a couple of ideas to start with. If I configured correctly the wiki, you should be able to edit it. (By the way, don’t worry if I suddenly vanish for some days.)

@jbezos
Copy link
Contributor

jbezos commented Oct 22, 2024

@niruvt There are now ‘stubs’ for many languages. They has been generated automatically: https://latex3.github.io/babel/guides/index-locale.html . Since the pages are hosted in GitHub, pull requests are possible: https://github.com/latex3/babel/tree/docs.

@niruvt
Copy link
Contributor Author

niruvt commented Oct 23, 2024

(By the way, don’t worry if I suddenly vanish for some days.)

Clearly, this disclaimer should have been mine!😛

But, on a serious note, sorry for being MIA. I got stuck in something.

I saw the stubs as well as the wiki. As of now, I have some expertise with handling Indic languages and I have some comments and ideas regarding that. Should I discuss things here before making the changes? I think it would be better since it will have some record for users coming here for extra information. Maybe we can have a new "issue-type" with a label, like, say, "ldf-or-ini". So, Marathi [ldf-or-ini] will be a page solely dedicated for that and anybody can come, point things out. Wiki also can take care of this of course, but how does it work? Can we be in loop for edits on Wiki pages? I feel it should be monitored in some ways (not for censorship reasons, but for you to be able to recommend "best practices"). I know from my experience that if I ask around, say, Marathi community for suggestions, they will suggest me things which are either outdated or not the best ways. The best advice I have so far got was from you and David on the internet.😄

I will add the comments wherever you suggest. Right now I can talk about few things in Marathi, Hindi, Malayalam, Bangla. Slowly I will move to other languages too.

@jbezos
Copy link
Contributor

jbezos commented Oct 23, 2024

@niruvt

Clearly, this disclaimer should have been mine!😛

😃

As of now, I have some expertise with handling Indic languages and I have some comments and ideas regarding that. Should I discuss things here before making the changes? I think it would be better since it will have some record for users coming here for extra information.

Perfect. I like open debates. It’s FOSS after all. I’ve opened the Discussion section, with a single category (General). I prefer to reserve “Issues” for actual issues.

https://github.com/latex3/babel/discussions/categories/general

Maybe we can have a new "issue-type" with a label, like, say, "ldf-or-ini". So, Marathi [ldf-or-ini] will be a page solely dedicated for that and anybody can come, point things out.

👍. And let’s then reserve the wiki for some preliminary conclusions.

I ask around, say, Marathi community for suggestions, they will suggest me things which are either outdated or not the best ways. The best advice I have so far got was from you and David on the internet.😄

“Outdated” is clearly a key point (and sadly AI chats don’t help – according to them babel if basically for the Latin script and pdfTeX 😖).

Right now I can talk about few things in Marathi, Hindi, Malayalam, Bangla. Slowly I will move to other languages too.

As an aside, do you know https://ctan.org/pkg/udiss?

@niruvt
Copy link
Contributor Author

niruvt commented Oct 24, 2024

I prefer to reserve “Issues” for actual issues.

Oh yes, correct! Using "Discussions" makes sense.

And let’s then reserve the wiki for some preliminary conclusions.

and yeah, this is what I meant.

“Outdated” is clearly a key point (and sadly AI chats don’t help – according to them babel if basically for the Latin script and pdfTeX 😖).

😢

As an aside, do you know https://ctan.org/pkg/udiss?

Well... I am the author. 😄

Actually even the chat here has many connections to udiss. I wanted udiss to be as language-sensitive as LaTeX can be. Language loading is a bit of a pain otherwise and that's why the SE questions and eventually this issue here. I have implemented a mechanism (it is rudimentary and it probably could be much better) for loading languages with babel in udiss. I started learning L3 after udiss and now I realize the mechanism is a huge overkill. L3fying it is one of the plans for the future version. I have taken, what I call, "a radically all-modern and backwards-blind approach". Packages like babel, expkv, fontspec, newcomputermodern and open fonts have given udiss the charm I wanted it to have. So thanks a lot for your part in it! I would love to know your views about the use of babel in udiss or the bundle in general. Here, or at our email ID "Indian TeX Users Group [email protected]", or at our bug tracker https://puszcza.gnu.org.ua/bugs/?group=udiss. I am so glad that you noticed the bundle in such a short time.

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

4 participants