For TeX Live, manually installed files should be located in one of two trees (in the standard case).
The basic idea is that there are (er ... roughly) three trees. The MAIN tree is handled by TeX Live's package manager (for an upstream install) or your Linux distro's package manager (for a repackaged install). You should not add, modify or remove files in this tree at all by hand.
The second is the LOCAL tree. This is for packages installed locally for all users. Its location is given by
kpsewhich -var TEXMFLOCAL
The third is the HOME tree. This is for personal single-user packages. Its location is given by
kpsewhich -var TEXMFHOME
However, font support packages should NEVER1 be installed into TEXMFHOME but ALWAYS1 into TEXMFLOCAL even on single-user systems. Undoing this is more complex than never doing it, because merely uninstalling and installing into the right place doesn't undo the damage.
Once you know which tree you are using, you need to figure out where in that tree to put the files. For LaTeX packages, .sty files must end up somewhere under <root of tree>/tex/latex/ but preferably under <root of tree>/tex/latex/<name of package>/ as this helps keep your tree intelligible by human beings. Likewise, documentation goes under <root of tree>/doc/latex/<name of package>/. You can usually see where things belong by looking at the structure under TEXMFMAIN and mirroring the hierarchy below the root.
Most files, including .sty files can also be included in your working directory - wherever your .tex is - and will be found without messing around with the tree structure issue at all.
1 As with most such rules, this may be broken if you really know what you're doing and why you are doing it. However, the only case in which you might reasonably consider doing this, albeit with a heavy heart, is one in which you lack authorisation to modify the LOCAL tree and have been unsuccessful in prolonged efforts to persuade the administrator of your local TeX installation to install the font packages of your dreams. Even then, the sensible course will generally be to forgo the fonts concerned. 'I prefer it' is inadequate. 'My report requires a symbol not otherwise available to me at all and my report represents a major life project or has substantial social, moral or cultural value' might be good enough, but probably it is easier to change your life goals and/or society's values.
texmf-localdirectory, which is the place to store the files not in the distribution that are available to any user of your computer. Of course you have te organise these files according to the T.D.S., saytexmf-local/tex/latex/foo/foo.sty, and if you have a documentation it should be intexmf-local/doc/latex/foo/foo.pdf. – Bernard Aug 20 '17 at 23:37texmf-localdirectory here. And I don't know what T.D.S. is, either. But thanks for the attention – Ivo Terek Aug 20 '17 at 23:39texmf. – Bernard Aug 20 '17 at 23:42texmfis the main one? – Ivo Terek Aug 20 '17 at 23:43texmf-dist. You'll have more details in the TeX Live user guide. – Bernard Aug 20 '17 at 23:49/usr/shareor something like that, but the local one under/usr/local/texmfor something. In this scenario, the local tree should not be located in the same directory as the main tree, as the main tree is in a directory managed by the package manager and the local tree ought not to be. – cfr Aug 21 '17 at 00:03.styfile yourself. If it is personal to you, especially if it is being edited for you by you, put it in the home tree.mkdir -p $(kpsewhich -var TEXMFHOME)/tex/latex/<name of package>/and put the.styfile there. – cfr Aug 21 '17 at 00:06/usr/share, whereas the local tree is in/usr/local/share. And there is no main tree in the usual TDS sense, as it has been split up and different parts are in different places. – cfr Aug 21 '17 at 00:07texmfin my home, then inside it atex, and yet inside alatex. Then I put myterek.styin there and done. I assumed thatmkdir -p $(kpsewhich -var TEXMFHOME)/tex/latex/<name of package>/would have the same effect. Right? – Ivo Terek Aug 21 '17 at 01:00terekdirectory and put the file inside it insidelatexinsidetexinsidetexmfinside your home. – cfr Aug 21 '17 at 01:08.stys or a combination of a.styand other files. If you have packages A and B, all of package A's files are intex/latex/A/and all of B's intex/latex/B/etc. So you can see immediately which package a file belongs to and which LaTeX files a package provides. If A provides e.g. fonts, these will be in e.g.fonts/.../A/etc. – cfr Aug 21 '17 at 02:36