Take the 2-minute tour ×
TeX - LaTeX Stack Exchange is a question and answer site for users of TeX, LaTeX, ConTeXt, and related typesetting systems. It's 100% free, no registration required.

As an illustration, let consider that I want to update the installed tcolorbox package to the new one from the CTAN.

  1. I have downloaded the newest tcolorbox.zip package from ctan.org/pkg/tcolorbox. I extracted it and its contents are shown as follows.

    enter image description here

  2. I noticed there are two folders related to the installed (old) tcolorbox as shown in the following figure.

    enter image description here

Questions:

  1. How do I know which files in the extracted folder should be copied to ...\doc\latex and ...\tex\latex?

  2. Is there a more convenient way to do it?

  3. Do I need to invoke texhash at the end?

  4. Should the package authors separate the main files from the document files with two subfolders in their zipped packages to ease manual update?

share|improve this question
    
In the general case this is a difficult question, as the layout on CTAN can be arbitrary. That is one of the reasons we are doing TeX Live, to make it easy for people to install things. We have complicated scrits with hundreds of cases to deal with all packages. –  norbert May 13 '13 at 5:02
    
@norbert: Why don't you adopt "convention over configuration" strategy that package authors must obey such that you no longer need to create a script for each package. It means that the package authors, for example, must separate the main code files in their own folders from the documentation files. :-) –  Please don't touch May 13 '13 at 12:51
    
That will not work out of many reasons: First, it is not us, the TeX Live team, but the CTAN team that decides. But more importantly, all are volunteer, and if we force them to a specific format probably many people will just stop uploading to CTAN, which has the contrary effect. We want to make it easy for developer to upload and share on CTAN. –  norbert May 17 '13 at 5:02
    
@norbert: There is a bug in the abandoned package fp-exp, see this link. –  Please don't touch Jun 27 '13 at 16:02
    
if it is abandoned, why do you not fix the bug and re-upload to CTAN. At the end everyone can upload. –  norbert Jun 29 '13 at 7:05
show 3 more comments

1 Answer 1

up vote 5 down vote accepted

In the distribution documentation is separated from run time files, but it isn't essential that you do that, so if in doubt (or in a hurry) just leave all the files together in a directory in your input path.

Whether you need to run texhash afterwards depends where you put them. Some directories are marked as being hashed so if the new files are not hashed they will not be found, other directories are marked as not hashed and for them kpse searches the file system so just putting the files there is enough. (For example you never need texhash for the current directory)

kpsepath tex

will tell you your input path

mine is

$ kpsepath tex
.:/home/davidc/.texlive2012/texmf-config/tex/kpsewhich//:
/home/davidc/.texlive2012/texmf-var/tex/kpsewhich//:
/home/davidc/texmf/tex/kpsewhich//:
!!/usr/local/texlive/2012/texmf-config/tex/kpsewhich//:
!!/usr/local/texlive/2012/texmf-var/tex/kpsewhich//:
!/usr/local/texlive/2012/texmf/tex/kpsewhich//:
!!/usr/local/texlive/2012/../texmf-local/tex/kpsewhich//:
!!/usr/local/texlive/2012/texmf-dist/tex/kpsewhich//:
/home/davidc/.texlive2012/texmf-config/tex/generic//:
/home/davidc/.texlive2012/texmf-var/tex/generic//:
/home/davidc/texmf/tex/generic//:
!!/usr/local/texlive/2012/texmf-config/tex/generic//:
!!/usr/local/texlive/2012/texmf-var/tex/generic//:
!!/usr/local/texlive/2012/texmf/tex/generic//:
!!/usr/local/texlive/2012/../texmf-local/tex/generic//:
!!/usr/local/texlive/2012/texmf-dist/tex/generic//:
/home/davidc/.texlive2012/texmf-config/tex///:
/home/davidc/.texlive2012/texmf-var/tex///:
/home/davidc/texmf/tex///:
!!/usr/local/texlive/2012/texmf-config/tex///:
!!/usr/local/texlive/2012/texmf-var/tex///:
!!/usr/local/texlive/2012/texmf/tex///:
!!/usr/local/texlive/2012/../texmf-local/tex///:
!!/usr/local/texlive/2012/texmf-dist/tex///

which is an unmodified texlive 2012 setup.

Path segments prefixed by !! require texhash path segments ending in // include all subdirectories to any depth.

share|improve this answer
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.