You are not logged in.
I've been a long time latex user, but have always been relying on the arch packages. I've decided to learn a bit more and do a custom / minimal install.
All seemed to be going well and I was able to compile some of my existing tex files (with xelatex in my case), until I tried one that used tabularx. I got this error when running xelatex on the file:
...
! LaTeX Error: File `tabularx.sty' not found.
Type X to quit or <RETURN> to proceed,
or enter new name. (Default extension: sty)
Enter file name:
I had similar errors for other packages that were missing, but that was quickly resolved by installing them with tlmgr. However, tabularx is not found by tlmgr despite it being listed as a package on CTAN. Further tlmgr search returns a different package for tabularx which I already have installed, but it does not include a tabularx.sty:
$ sudo tlmgr install tabularx
tlmgr: package repository http://www.ctan.org/tex-archive/systems/texlive/tlnet (verified)
tlmgr install: package tabularx not present in repository.
tlmgr: action install returned an error; continuing.
tlmgr: An error has occurred. See above messages. Exiting.
$ tlmgr search tabularx
carlisle - David Carlisle's small packages
$ sudo tlmgr install carlisle
tlmgr: package repository http://www.ctan.org/tex-archive/systems/texlive/tlnet (verified)
tlmgr install: package already present: carlisle
$ ls /usr/local/texlive/2018/texmf-dist/tex/latex/carlisle/
dotlessj.sty ltxtable.sty mylatex.ltx plain.sty remreset.sty scalefnt.sty slashed.sty
$ find /usr/local/texlive/2018/texmf-dist/tex/ -name tabularx*
Are there other "repositories" that need to be added for tlmgr to be able to find CTAN packages, or am I doing something else wrong?
Last edited by Trilby (2018-12-27 03:09:22)
"UNIX is simple and coherent" - Dennis Ritchie; "GNU's Not Unix" - Richard Stallman
Offline
Hmm, let's see where the arch package would have it go.
$ pkgfile -vr '.*tabularx.*'
extra/kile 2.9.92-1 /usr/share/kile/complete/tex/tabularx.cwl
extra/texlive-core 2018.49285-1 /usr/share/texmf-dist/tex/generic/tex4ht/tabularx.4ht
extra/texlive-core 2018.49285-1 /usr/share/texmf-dist/tex/latex/lwarp/lwarp-tabularx.sty
extra/texlive-core 2018.49285-1 /usr/share/texmf-dist/tex/latex/tools/tabularx.sty
extra/texlive-core 2018.49285-1 /usr/share/texmf-dist/tex/xelatex/bidi/tabularx-xetex-bidi.def
community/auctex 12.1-1 /usr/share/emacs/site-lisp/auctex/style/tabularx.el
community/auctex 12.1-1 /usr/share/emacs/site-lisp/auctex/style/tabularx.elc
community/texstudio 2.12.14-1 /usr/share/texstudio/tabletemplate_plain_tabularx.js
community/texstudio 2.12.14-1 /usr/share/texstudio/tabletemplate_plain_tabularx.png
Looks like https://ctan.org/pkg/tabularx?lang=en would correspond to
extra/texlive-core 2018.49285-1 /usr/share/texmf-dist/tex/latex/tools/tabularx.sty
But I confess to knowing utterly nothing about texlive, and how their repositories work or are searched. According to the ctan page it is considered as required for any latex distribution, does that mean tlmgr does not see it?
Last edited by eschwartz (2018-12-26 22:52:27)
Managing AUR repos The Right Way -- aurpublish (now a standalone tool)
Offline
Thanks, but texlive-core is an archlinux package not a CTAN package - texlive-core is just a bundle of hundreds of CTAN packages, a vast majority of which I have no use for. That's the whole point of doing the alternative installation method to get just the CTAN packages I use.
As for being required for a latex distribution, I'd be interested to see the context. It is certainly not required for tex/latex/etc to work just fine. It may be strongly encouraged (to the point of "required") for bundled distribution for OSs and distros - like arch has it bundled with texlive-core. But this is a bit on par with saying a linux kernel is required for a linux distribution - the kernel is still a package that is installed with a package manager.
EDIT: I got it. I was using the wrong command to search:
$ tlmgr info tabularx.sty
tlmgr: cannot find package tabularx.sty, searching for other matches:
Packages containing `tabularx.sty' in their title/description:
Packages containing files matching `tabularx.sty':
lwarp:
texmf-dist/tex/latex/lwarp/lwarp-tabularx.sty
tools:
texmf-dist/tex/latex/tools/tabularx.sty
$ sudo tlmgr install tools
tlmgr: package repository http://www.ctan.org/tex-archive/systems/texlive/tlnet (verified)
[1/1, ??:??/??:??] install: tools [40k]
running mktexlsr ...
done running mktexlsr.
tlmgr: package log updated: /usr/local/texlive/2018/texmf-var/web2c/tlmgr.log
After that my document successfully compiled.
EDIT 2: It seems using the flag '--global' for search would also have worked, though it would have included a fair bit of noise:
$ tlmgr search --global tabularx
tlmgr: package repository http://www.ctan.org/tex-archive/systems/texlive/tlnet (verified)
carlisle - David Carlisle's small packages
linegoal - A "dimen" that returns the space left on the line
ltablex - Table package extensions
numprint - Print numbers with separators and exponent if necessary
tabu - Flexible LaTeX tabulars
tabulary - Tabular with variable width columns balanced
tools - The LaTeX standard tools bundle
widetable - An environment for typesetting tables of specified width
xltabular - Longtable support with possible X-column specifier
EDIT 3: Ok, tools is a "bundle" of many packages. So I'm removing SOLVED fro this thread in hope that someone can clarify why tabularx can't be installed on it's own as it is a package. Tlmgr is supposed to be a CTAN package manager, not a bundle installer.
Last edited by Trilby (2018-12-27 00:43:55)
"UNIX is simple and coherent" - Dennis Ritchie; "GNU's Not Unix" - Richard Stallman
Offline
Thanks, but texlive-core is an archlinux package not a CTAN package - texlive-core is just a bundle of hundreds of CTAN packages, a vast majority of which I have no use for. That's the whole point of doing the alternative installation method to get just the CTAN packages I use.
Yes, but my point was more along the lines of "A batteries-included distribution like the archlinux package might include it, if it does, where?" and as it happened, it was in tools/tabularx.sty (which it turns out you've discovered).
I wasn't saying to use the archlinux package -- merely that for me, it serves as a useful data point to see where things might fit into place.
As for being required for a latex distribution, I'd be interested to see the context. It is certainly not required for tex/latex/etc to work just fine. It may be strongly encouraged (to the point of "required") for bundled distribution for OSs and distros - like arch has it bundled with texlive-core. But this is a bit on par with saying a linux kernel is required for a linux distribution - the kernel is still a package that is installed with a package manager.
*shrug*
https://ctan.org/pkg/tabularx?lang=en
"The package is part of the latex-tools bundle in the LaTeX required distribution."
"These are packages that the LaTeX team have declared are ‘required’ of any LaTeX distribution—in the sense that any package writer is entitled to assume the presence of these packages in support of her package."
EDIT 3: Ok, tools is a "bundle" of many packages. So I'm removing SOLVED fro this thread in hope that someone can clarify why tabularx can't be installed on it's own as it is a package. Tlmgr is supposed to be a CTAN package manager, not a bundle installer.
Perhaps they're all considered trivial enough to "not be worth it". I can tell you that looking at how the npm ecosystem handled separate packages for each trivial nodejs function, I have a marked appreciation of packages that provide a cohesive collection of functionality.
I guess I'd ask the question, why does CTAN list a single file within a package, as its own package?
Managing AUR repos The Right Way -- aurpublish (now a standalone tool)
Offline
I guess I'd ask the question, why does CTAN list a single file within a package, as its own package?
That is essentially my question, but I'd frame it differently: tabularx is a package. It is used in a tex document with the following:
\usepackage{tabularx}
Further, tabularx has it's own package documentation with a big title "The Tabularx Package".
So more broadly, my question would be what are the things that tlmgr can install? And more importantly, how do I look them up. The entire point of using tlmgr is to install individual packages from CTAN rather than large bundles:
Picky users may wish to have more control over their installation. Common distributions might be tedious for the user caring about disk space. In fact, MikTeX and MacTeX and packaged TeX Live features hundreds of LaTeX packages, most of them which you will never use. Most Unix with a package manager will offer TeX Live as a set of several big packages, and you often have to install 300–400 MB for a functional system.
TeX Live features a manual installation with a lot of possible customizations. You can get the network installer at tug.org. This installer allows you to select precisely the packages you want to install. As a result, you may have everything you need for less than 100 MB. TeX Live is then managed through its own package manager, tlmgr.
(from https://en.wikibooks.org/wiki/LaTeX/Ins … h_TeX_Live, emphasis added).
Perhaps it sounds like sematics, but to me these are meaningful semantic differences. In what way does tlmgr allow such control over the installation if what it installs is just large bundles of packages? I gather I must be misunderstanding something about how to use the tool properly.
EDIT: ah, I just read the "Contained in" line on CTAN's package listings. Perhaps tabularx isn't a package. But that's one damn misleading website. Look up tabularx and tabulary on CTAN, there is essentially nothing that distinguishes one from the other as an actual package and the other as a <new-term-needed-here>, except that the "Contained in" for tabulary says tabulary, while for tabularx is says tools.
In other words, I think (or have thought) so highly of latex and the people who make it that I assumed I must be the dumb one. Nope, the latex community is.
Last edited by Trilby (2018-12-27 03:11:56)
"UNIX is simple and coherent" - Dennis Ritchie; "GNU's Not Unix" - Richard Stallman
Offline
Sounds like we may need more semantic dictionary words, and that \usepackage{foo} is *not* precisely the same semantics as the "packages" that are composable separately installable software distributions on CTAN.
...
And after some hurried googling around, I managed to stumble across this: https://tex.stackexchange.com/questions … ganisation
Which confirms my theory and elaborates a bit on what all these words actually mean.
EDIT:
EDIT: ah, I just read the "Contained in" line on CTAN's package listings. Perhaps tabularx isn't a package. But that's one damn misleading website. Look up tabularx and tabulary on CTAN, there is essentially nothing that distinguishes one from the other as an actual package and the other as a <new-term-needed-here>, except that the "Contained in" for tabulary says tabulary, while for tabularx is says tools.
In other words, I think (or have thought) so highly of latex and the people who make it that I assumed I must be the dumb one. Nope, the latex community is.
Yeah, I think "they're the dumb ones" pretty much sums it up.
Last edited by eschwartz (2018-12-27 03:25:03)
Managing AUR repos The Right Way -- aurpublish (now a standalone tool)
Offline
Thanks for the link. That is useful and precisely addresses my infuriation ... I mean, question.
I started out wanting to learn a little more about (la)tex. That's done. Now I want my sanity back. Anyhow, my texlive installation has shrunk from the 459MB from the arch repos to 203MB via tlmgr. That's not nearly as small as I expected given how much content from the arch packages I ditched.
Last edited by Trilby (2019-01-03 19:25:18)
"UNIX is simple and coherent" - Dennis Ritchie; "GNU's Not Unix" - Richard Stallman
Offline