Code Review
add tag
joulev
This question hosts future code reviews for [the `marathi` package](http://ctan.org/pkg/marathi) by [@निरंजन](https://topanswers.xyz/user?id=830&community=tex).

Source code of the package can be found at http://gitlab.com/niranjanvikastambe/marathi.

Some reviews have been posted in [this room](https://topanswers.xyz/transcript?room=1096). See there for more details.
Top Answer
joulev
## [accepted fixed] `\नमुना` doesn't work, literally

* `marathi` version: 1.1.1 2020-05-28
* Fixed in version: 1.1.3 2020-06-01

### Problem

I use [this code](https://topanswers.xyz/transcript?room=1096&id=49835#c49835), written by the author himself, to test.

```
\documentclass{article}
\usepackage{marathi}
\begin{document}
\नमुना
\end{document}
```

Running it in XeLaTeX causes this error:

```
! LaTeX Error: File `article.tex' not found.

Type X to quit or <RETURN> to proceed,
or enter new name. (Default extension: tex)
```

### Why the macro works fine in your machine, but not mine

`article.tex` and friends are not put to the right place. They are located at `texmf/doc/latex/marathi`, which is not searched by TeX when it looks for a file. These files should be located at `texmf/tex/latex/marathi`.

### Suggestion on how to fix the error

Move all these `*.tex` files into your `*.dtx` file, and instruct `docstrip` to put it to `texmf/tex/latex/marathi`. If you are using `l3build`, you also need to read [this answer](https://topanswers.xyz/tex?q=984#a1185).

### Extra suggestion:

Don't use `article.tex`, `book.tex`, etc. to name the files. Use `marathiarticle.code.tex` or `marathi_article.code.tex` or similar instead.
Answer #2
joulev
## [accepted fixed] Simply loading the package in XeLaTeX causes some warnings

* `marathi` version: 1.1.1 2020-05-28
* Fixed in version: 1.1.3 2020-06-01

### Problem

This example

```
\documentclass{article}
\usepackage{marathi}
\begin{document}
Hello, world
\end{document}
```

causes these warnings

```
Package fontspec Warning: Ignored LuaTeX-only feature:
(fontspec)                'Renderer=Full/Basic/Node/Base/HarfBuzz'.
```

*six* times. I know that a package may cause a warning and that doesn't really harm anything, it is best to avoid warnings and errors when they are not the users' mistake.

### Suggestion

Use [the `iftex` package]([https://ctan.org/pkg/iftex](https://ctan.org/pkg/iftex)) to see whether those LuaTeX-only features should be used. As the warning message says, when the user uses XeTeX instead of LuaTeX, you should not use this feature.
Answer #3
joulev
## [Accepted Fixed] `\if` without `\fi` in the definition of `\टंक`

* `marathi` version 1.1.3 2020-06-01

### Problem

Test this:

```
\documentclass{article}
\usepackage{marathi}
\टंक{Siddhanta}
\begin{document}
Foo bar baz
\end{document}
```

It compiles and gives a good output but

```
(\end occurred when \iffalse on line 3 was incomplete)
```

Don't tell me that this is something you can ignore.

### Why?

**marathi.sty line 74**

``` #74
\providecommand{\टंक}[1]
{
\ifluatex
\setmainfont[Renderer=Harfbuzz,Script=Devanagari,Mapping=devanagarinumerals]{#1}
\else
\setmainfont[Script=Devanagari,Mapping=devanagarinumerals]{#1}}
```

Where is the ending `\fi`?

Enter question or answer id or url (and optionally further answer ids/urls from the same question) from

Separate each id/url with a space. No need to list your own answers; they will be imported automatically.