{
    "mode": "man",
    "parameter": "INSTALL-TL",
    "section": "1",
    "url": "https://www.chedong.com/phpMan.php/man/INSTALL-TL/1/json",
    "generated": "2026-10-22T13:22:26Z",
    "synopsis": "install-tl [option]...\ninstall-tl-windows.bat [option]...",
    "sections": {
        "NAME": {
            "content": "install-tl - TeX Live cross-platform installer\n",
            "subsections": []
        },
        "SYNOPSIS": {
            "content": "install-tl [option]...\n\ninstall-tl-windows.bat [option]...\n",
            "subsections": []
        },
        "DESCRIPTION": {
            "content": "This installer creates a runnable TeX Live installation from various media, including over\nthe network, from local hard disk, a DVD, etc. The installer works on all platforms supported\nby TeX Live. For information on initially downloading TeX Live, see\n<https://tug.org/texlive/acquire.html>.\n\nThe basic idea of TeX Live installation is for you to choose one of the top-level schemes,\neach of which is defined as a different set of collections and packages, where a collection\nis a set of packages, and a package is what contains actual files. Each package is in exactly\none collection, while schemes can contain any combination of packages and collections.\n\nWithin the installer, you can choose a scheme, and further customize the set of collections\nto install, but not the set of the packages.  To work at the package level, use \"tlmgr\"\n(reference just below) after the initial installation is complete.\n\nThe default is \"scheme-full\", which installs everything, and this is highly recommended.\n",
            "subsections": []
        },
        "REFERENCES": {
            "content": "Post-installation configuration, package updates, and more, are handled through tlmgr(1), the\nTeX Live Manager (<https://tug.org/texlive/tlmgr.html>).\n\nThe most up-to-date version of this installer documentation is on the Internet at\n<https://tug.org/texlive/doc/install-tl.html>.\n\nFor step-by-step instructions, see <https://tug.org/texlive/quickinstall.html>.\n\nFor the full documentation of TeX Live, see <https://tug.org/texlive/doc>.\n",
            "subsections": []
        },
        "EXAMPLES": {
            "content": "With no options, \"install-tl\" drops you into an interactive menu where essentially all\ndefault settings can be changed. With options, you can initialize the settings in various\nways, or perform the installation without interaction. Some examples:\n\n\"install-tl --paper=letter\"\nInitialize  paper  size  setting.  The only values allowed are \"letter\" and (the default)\n\"a4\".\n\n\"install-tl --scheme\" scheme\nInitialize the installation scheme; the default is \"full\".  For a list  of  schemes,  see\nthe interactive \"S\" menu.\n\n\"install-tl --no-interaction\"\nPerform  the  installation  immediately  after  parsing  options,  without  entering  the\ninteractive menu.\n\n\"install-tl --profile\" texlive.profile\nInstall, without interaction, according to the given  TL  profile  file;  see  \"PROFILES\"\nbelow.  To  initialize  from  the  profile  and  then  enter  the  interactive  menu, add\n\"--init-from-profile\".\n\nFull documentation follows.\n",
            "subsections": []
        },
        "OPTIONS": {
            "content": "As usual, all options can be specified in any order, and with either a leading \"-\"  or  \"--\".\nAn argument value can be separated from its option by either a space or \"=\".\n\nThe  options  relating  to  customization  of  the  installation  can also be selected in the\ninteractive installation menus (GUI or text).\n",
            "subsections": [
                {
                    "name": "-gui",
                    "content": ""
                },
                {
                    "name": "-no-gui",
                    "content": "If no module is given, starts the Tcl/Tk (see below) GUI installer.\n\nIf module is given loads the given installer module. Currently the following modules  are\nsupported:\n\n\"text\"\nThe  text mode user interface (default on Unix systems, including Macs).  Same as the\n\"-no-gui\" option.\n\n\"tcl\" (or \"perltk\" or \"wizard\" or \"expert\" or nothing)\nThe Tcl/Tk user interface (default on Windows).  It starts with  a  small  number  of\nconfiguration  options,  roughly  equivalent to what the former wizard option offers,\nbut a button \"Advanced\" takes you to a screen with roughly the same  options  as  the\nformer \"perltk\" interface.\n\nThe  default  GUI requires Tcl/Tk. This was standard on Macs, but has been removed in the\nlatest macOS releases. It's often already  installed  on  GNU/Linux,  or  can  be  easily\ninstalled  through  a  distro  package  manager.  For Windows, TeX Live provides a Tcl/Tk\nruntime.\n"
                },
                {
                    "name": "-lang _",
                    "content": "By default, the Tcl GUI uses the language detection built into Tcl/Tk. If that fails  you\ncan  select a different language by giving this option with a language code (based on ISO\n639-1).  Currently supported (but not necessarily  completely  translated)  are:  English\n(en,  default),  Czech (cs), German (de), French (fr), Italian (it), Japanese (ja), Dutch\n(nl), Polish (pl), Brazilian Portuguese (ptBR), Russian  (ru),  Slovak  (sk),  Slovenian\n(sl),  Serbian  (sr),  Ukrainian  (uk),  Vietnamese (vi), simplified Chinese (zhCN), and\ntraditional Chinese (zhTW).\n"
                },
                {
                    "name": "-repository _",
                    "content": "Specify the package repository to be used as the source of the  installation.  In  short,\nthis  can  be a directory name or a url using http(s), ftp, or scp. The documentation for\n\"tlmgr\" has the details (<https://tug.org/texlive/doc/tlmgr.html#OPTIONS>).\n\nFor  installation,   the   default   is   to   pick   a   mirror   automatically,   using\n<https://mirror.ctan.org/systems/texlive/tlnet>;  the  chosen mirror is then used for the\nentire download. You can use the special argument \"ctan\" as  an  abbreviation  for  this.\n(See <https://ctan.org> for more about CTAN and its mirrors.)\n\nAfter  installation  is  complete,  you  can  use that installation as the repository for\nanother installation.  If you chose to install less than the full scheme  containing  all\npackages, the list of available schemes will be adjusted accordingly.\n"
                },
                {
                    "name": "-select-repository",
                    "content": "This option allows you to choose a particular mirror from the current list of active CTAN\nmirrors.  This option is supported in the \"text\" and \"gui\" installer modes, and will also\noffer to install from local media if available, or from a  repository  specified  on  the\ncommand line. It's useful when the (default) automatic redirection does not choose a good\nhost for you.\n"
                },
                {
                    "name": "-all-options",
                    "content": "Normally  options  not relevant to the current platform are not shown (e.g., when running\non Unix, Windows-specific options are omitted).  Giving this command line  option  allows\nconfiguring such \"foreign\" settings.\n"
                },
                {
                    "name": "-custom-bin _",
                    "content": "If  you  have built your own set of TeX Live binaries (e.g., because precompiled binaries\nwere not provided by TL for your platform), this option allows you to specify the path to\na directory where the binaries for the current system are present. The installation  will\ncontinue  as  usual,  but at the end all files from path are copied over to \"bin/custom/\"\nunder your installation directory and this \"bin/custom/\" directory is what will be  added\nto  the  path  for  the  post-install  actions.  To  install multiple custom binary sets,\nmanually rename \"custom\" before doing each.\n\nFor more information on custom binaries,  see  <https://tug.org/texlive/custom-bin.html>.\nFor general information on building TeX Live, see <https://tug.org/texlive/build.html>.\n"
                },
                {
                    "name": "-debug-fakenet",
                    "content": "Pretend  we're  doing a network install. This is for the sole purpose of testing the code\nto handle broken downloads, via moving package files aside in a tlnet mirror hierarchy.\n"
                },
                {
                    "name": "-debug-setup-vars",
                    "content": "Print final values of directory variables; for more debugging  information  on  how  they\nwere set, also specify \"-v\".\n"
                },
                {
                    "name": "-debug-translation",
                    "content": "In  the  former  Perl/Tk  GUI  modes,  this  option  reported any missing, or more likely\nuntranslated, messages to standard error. Not yet  implemented  for  the  Tcl  interface.\nHelpful for translators to see what remains to be done.\n"
                },
                {
                    "name": "-force-platform _",
                    "content": "Instead of auto-detecting the current platform, use platform.  Binaries for this platform\nmust  be  present  in  \"bin/\"platform\"/\"  and they must be runnable, or installation will\nfail. \"-force-arch\" is a synonym.\n"
                },
                {
                    "name": "-help --help -?",
                    "content": "Display   this   help   and   exit.   (This   help   is    also    on    the    web    at\n<https://tug.org/texlive/doc/install-tl.html>).  Sometimes  the  \"perldoc\" and/or \"PAGER\"\nprograms on the system have problems, possibly  resulting  in  control  characters  being\nliterally  output.  This  can't  always  be  detected,  but  you  can set the \"NOPERLDOC\"\nenvironment variable and \"perldoc\" will not be used.\n",
                    "flag": "-?",
                    "long": "--help"
                },
                {
                    "name": "-in-place",
                    "content": "This is a quick-and-dirty installation option in case you already have an  rsync  or  svn\ncheckout  of  TeX  Live.   It  will use the checkout as-is and will just do the necessary\npost-install.  Be warned that the  file  \"tlpkg/texlive.tlpdb\"  may  be  rewritten,  that\nremoval  has  to  be  done  manually,  and  that  the only realistic way to maintain this\ninstallation is to redo it from time to time.  This  option  is  not  available  via  the\ninstaller interfaces.  USE AT YOUR OWN RISK.\n"
                },
                {
                    "name": "-init-from-profile _",
                    "content": "Similar  to  -profile  (see  \"PROFILES\"  below),  but  only  initializes the installation\nconfiguration from profilefile and then starts a normal interactive session. Environment\nvariables are not ignored.\n"
                },
                {
                    "name": "-logfile _",
                    "content": "Write both all messages (informational, debugging, warnings)  to  file,  in  addition  to\nstandard output or standard error.\n\nIf  this  option  is  not  given, the installer will create a log file in the root of the\nwritable installation tree, for example, \"/usr/local/texlive/YYYY/install-tl.log\" for the\nYYYY release.\n"
                },
                {
                    "name": "-no-cls",
                    "content": "For the text mode installer only: do not clear the screen when entering a new  menu.  For\ndebugging.\n"
                },
                {
                    "name": "-no-continue",
                    "content": "Quit early on installation failure of a non-core package.\n\nBy  default,  a few core packages are installed first; then, a failed installation of any\nother (non-core) package is noted, but does not stop the installation.  Any  such  failed\npackages are retried, once.\n\nIf the retry also fails, by default the installer proceeds to completion anyway, with the\nidea  that  it  was a transient network problem and reinstallation will succeed later. If\nthis option is specified, and the retry fails, the installer aborts.\n"
                },
                {
                    "name": "-no-doc-install",
                    "content": ""
                },
                {
                    "name": "-no-src-install",
                    "content": "Do not install the documentation resp. source  package  files,  both  for  the  immediate\ninstallation  and  for future updates. After installation, inclusion of the doc/src files\ncan be re-enabled via \"tlmgr\":\n\ntlmgr option docfiles 1\ntlmgr option srcfiles 1\n\nIf you later find that you want the doc/src files for a package that has  been  installed\nwithout them, you can get them like this (using the \"fontspec\" package as the example):\n\ntlmgr install --reinstall --with-doc --with-src fontspec\n\nThe source files mentioned here are those relating to TeX packages, such as \".dtx\" files.\nThe  sources  that  are  compiled  to  make  the  binaries  are available separately: see\n<https://tug.org/texlive/svn/>.\n"
                },
                {
                    "name": "-no-installation",
                    "content": "Do not perform any installation. This is  for  debugging  the  initialization  and  setup\nroutines without touching the disk.\n"
                },
                {
                    "name": "-no-interaction",
                    "content": "Do   not   enter  the  interactive  menu;  immediately  perform  the  installation  after\ninitialization and option parsing. Also omit the check for a  previous  installation  and\nasking about importing previous settings.\n"
                },
                {
                    "name": "-no-persistent-downloads",
                    "content": ""
                },
                {
                    "name": "-persistent-downloads",
                    "content": "For  network  installs,  activating  this  option  makes  the  installer  try to set up a\npersistent connection using the \"LWP\"  Perl  module.   This  opens  only  one  connection\nbetween  your  computer and the server per session and reuses it, instead of initiating a\nnew download for each package, which typically yields a significant speed-up.\n\nThis option is turned on by default, and the installation program will fall back to using\n\"wget\" if this is not possible.  To disable usage of LWP and persistent connections,  use\n\"-no-persistent-downloads\".\n"
                },
                {
                    "name": "-no-verify-downloads",
                    "content": "By  default,  if  a GnuPG \"gpg\" binary is found in PATH, downloads are verified against a\ncryptographic signature. This option disables such verification.  The full description is\nin  the  Crytographic  Verification  section  of   the   \"tlmgr\"   documentation,   e.g.,\n<https://tug.org/texlive/doc/tlmgr.html#CRYPTOGRAPHIC-VERIFICATION>\n"
                },
                {
                    "name": "-non-admin",
                    "content": "For Windows only: configure for the current user, not for all users.\n"
                },
                {
                    "name": "-paper",
                    "content": "Set the default paper size for all TeX Live programs, as specified.  The default is \"a4\".\nThe paper size can be set after installation with the \"tlmgr paper\" command.\n"
                },
                {
                    "name": "-portable",
                    "content": "Install  for  portable use, e.g., on a USB stick.  See the \"instoptportable\" description\nbelow for details.\n"
                },
                {
                    "name": "-print-platform",
                    "content": "Print the TeX Live identifier  for  the  detected  platform  (hardware/operating  system)\ncombination to standard output, and exit.  \"-print-arch\" is a synonym.\n"
                },
                {
                    "name": "-profile _",
                    "content": "Load  profilefile  and  do  the  installation with no user interaction, that is, a batch\n(unattended) install.  Environment variables are ignored. See \"PROFILES\" below.\n"
                },
                {
                    "name": "-q",
                    "content": "",
                    "flag": "-q"
                },
                {
                    "name": "-scheme _",
                    "content": "Schemes are the highest level of package grouping in TeX Live; the default is to use  the\n\"full\"  scheme, which includes everything. This option overrides that default. The scheme\nargument value may optionally have a prefix \"scheme-\". The list of supported scheme names\ndepends on what your package repository provides; see the interactive menu list.\n"
                },
                {
                    "name": "-texdir _",
                    "content": "Specify the system installation directory; the default is  \"/usr/local/texlive/YYYY\"  for\nrelease  YYYY. Specifying this option also causes the \"TEXMFLOCAL\", \"TEXMFSYSCONFIG\", and\n\"TEXMFSYSVAR\" directories to be set as subdirectories of dir, so they don't  have  to  be\nset individually.\n\nThere  is  a  brief  summary  of  these directories trees at \"DIRECTORY TREES\" below; for\ndetails on the trees set up by default, and their intended usage, see the main  TeX  Live\ndocumentation at <https://tug.org/texlive/doc>.\n"
                },
                {
                    "name": "-texuserdir _",
                    "content": "Specify the user installation directory; the default is \"~/.texliveYYYY\" (except on Macs,\nwhere   there  is  no  leading  dot).   Specifying  this  also  causes  the  \"TEXMFHOME\",\n\"TEXMFCONFIG\", and \"TEXMFVAR\" directories to be set as subdirectories of dir.\n"
                },
                {
                    "name": "-texmflocal _",
                    "content": "Specify the \"TEXMFLOCAL\" directory; the default is \"/usr/local/texlive/texmf-local\", that\nis, one level up from the main installation. This is so locally-installed packages can be\neasily used across releases, which is usually desirable. Specifying the \"-texdir\"  option\nchanges  this,  putting \"TEXMFLOCAL\" under the main tree. The \"-texmflocal\" option can be\nused to specify an explicit directory.\n\nAnything  installed  here  must  follow  the  TeX  directory   structure   (TDS),   e.g.,\n\"TEXMFHOME/tex/latex/mypkg/mypkg.sty\". TDS reference: <https://tug.org/tds>.\n"
                },
                {
                    "name": "-texmfhome _",
                    "content": "Specify  the \"TEXMFHOME\" directory; the default is \"~/texmf\", except on Macs, where it is\n\"~/Library/texmf\". Analogously to \"TEXMFLOCAL\", the  \"-texuserdir\"  option  changes  this\ndefault.\n\nAlso as with \"TEXMFLOCAL\", anything installed here must follow the TDS.\n"
                },
                {
                    "name": "-texmfsysconfig _",
                    "content": ""
                },
                {
                    "name": "-texmfsysvar _",
                    "content": "Specify the \"TEXMFSYSCONFIG\" and \"TEXMFSYSVAR\" system directories.\n"
                },
                {
                    "name": "-texmfconfig _",
                    "content": ""
                },
                {
                    "name": "-texmfvar _",
                    "content": "Specify   the   \"TEXMFCONFIG\"   and   \"TEXMFVAR\"  user  directories.   The  defaults  are\n\"~/.texliveYYYY/texmf-{config,var}\", except on Macs, where the  leading  dot  is  omitted\n(\"~/texliveYYYY/...\").\n"
                },
                {
                    "name": "-v",
                    "content": "repeats are accepted but ignored.)\n",
                    "flag": "-v"
                },
                {
                    "name": "-version --version",
                    "content": "Output version information and exit.  If \"-v\" is also given, the versions of the TeX Live\nmodules used are also reported.\n",
                    "long": "--version"
                }
            ]
        },
        "PROFILES": {
            "content": "A profile file normally contains all the values needed to perform an  installation.  After  a\nnormal  installation  has  finished,  a profile for that exact installation is written to the\nfile \"tlpkg/texlive.profile\".  In addition, from the text menu one can select \"P\" to save the\ncurrent setup as a profile at any time. These are small text files; feel free to  peruse  and\nedit them according to your needs.\n\nSuch a profile file can be given as the argument to \"-profile\", for example to redo the exact\nsame  installation  on a different system.  Alternatively, you can use a custom profile, most\neasily created by starting from a generated one and changing values. An  empty  profile  file\nwill cause the installer to use the defaults.\n\nAs  mentioned  above,  the  installer  only supports selection by scheme and collections, not\nindividual packages, so packages cannot be specified in profile files either. Use \"tlmgr\"  to\nwork at the package level.\n\nWithin a profile file, each line consists of\n\nvariable [value]\n\nexcept  for  comment  lines starting with \"#\".  The possible variable names are listed below.\nValues, when present, are either 0 or 1 for booleans, or strings  (which  must  be  specified\nwithout any quote characters).  Leading whitespace is ignored.\n\nIf  the variable \"selectedscheme\" is defined and no collection variables at all are defined,\nthen the collections required by the specified scheme (which  might  change  over  time)  are\ninstalled,  without  explicitly listing them. This eases maintenance of profile files. If any\ncollections are specified in a profile, though, then the scheme is ignored  and  all  desired\ncollections must be given explicitly.\n\nFor example, a line\n\nselectedscheme scheme-small\n\nalong  with  definitions  for the installation directories (given below under \"path options\")\nsuffices to install the \"small\" scheme with all default options.  The schemes  are  described\nin the \"S\" menu in the text installer, or equivalent.\n\nIn addition to \"selectedscheme\", here are the other variable names supported in a profile:\n\ncollection options (prefix \"collection-\")\n\nCollections  are  specified  with a variable name with the prefix \"collection-\" followed by a\ncollection name; there is no value.  For instance, \"collection-basic\".  The  collections  are\ndescribed in the \"C\" menu.\n\nSchemes  and  collections  (and  packages)  are  ultimately  defined  by  the  files  in  the\n\"tlpkg/tlpsrc/\" source directory.\n",
            "subsections": [
                {
                    "name": "path options",
                    "content": "It is best to define all of these, even though they may not be used in a given  installation,\nso as to avoid unintentionally getting a default value that could cause problems later.\n\nTEXDIR\nTEXMFLOCAL\nTEXMFSYSCONFIG\nTEXMFSYSVAR\nTEXMFCONFIG\nTEXMFVAR\nTEXMFHOME\n\ninstaller options (prefix \"instopt\")\n\n\"instoptadjustpath\" (default 0 on Unix, 1 on Windows)\nAdjust \"PATH\" environment variable.\n\n\"instoptadjustrepo\" (default 1)\nSet  remote repository to a multiplexed CTAN mirror after installation; see \"-repository\"\nabove.\n\n\"instoptletter\" (default 0)\nSet letter size paper as the default, instead of a4.\n\n\"instoptportable\" (default 0)\nInstall for portable use, e.g., on  a  USB  stick,  without  touching  the  host  system.\nSpecifically,  this forces the user directories \"TEXMFHOME\", \"TEXMFCONFIG\", \"TEXMFVAR\" to\nbe identical to the system  directories  \"TEXMFLOCAL\",  \"TEXMFSYSCONFIG\",  \"TEXMFSYSVAR\",\nrespectively (regardless of other options and environment variable.)\n\nIn  addition,  on Windows, it disables the desktop integration, path adjustment, and file\nassociations actions usually performed.\n\n\"instoptwrite18restricted\" (default 1)\nEnable \"\\write18\" for a restricted set of programs.\n\ntlpdb options (prefix \"tlpdbopt\")\n\nThe   definitive   list   is   given   in   \"tlpkg/TeXLive/TLConfig.pm\",    in    the    hash\n%TeXLive::TLConfig::TLPDBOptions,  together  with explanations.  All items given there except\nfor \"tlpdboptlocation\" can be specified.  Here is the current list:\n\ntlpdboptautobackup\ntlpdboptbackupdir\ntlpdboptcreateformats\ntlpdboptdesktopintegration\ntlpdboptfileassocs\ntlpdboptgenerateupdmap\ntlpdboptinstalldocfiles\ntlpdboptinstallsrcfiles\ntlpdboptpostcode\ntlpdboptsysbin\ntlpdboptsysinfo\ntlpdboptsysman\ntlpdboptw32multiuser\n\nplatform options (prefix \"binary\")\n\nFor  each  supported  platform  in  TeX  Live  (directories  under  \"bin/\"),   the   variable\n\"binary\"PLATFORM can be set with value 1.  For example:\n\nbinaryx8664-linux 1\n\nIf no \"binary\" settings are made, the default is whatever the current machine is running.\n\nIn releases before 2017, many profile variables had different names (not documented here; see\nthe  \"install-tl\" source).  They are accepted and transformed to the names given above.  When\na profile is written, the names above are always used.\n\nFor more details on all of the above options,  consult  the  TeX  Live  installation  manual,\nlinked from <https://tug.org/texlive/doc>.\n"
                }
            ]
        },
        "ENVIRONMENT VARIABLES": {
            "content": "For  ease  in  scripting  and  debugging,  \"install-tl\"  looks  for the following environment\nvariables. They are not of interest for normal user installations.\n\n\"NOPERLDOC\"\nDon't try to run the \"--help\" message through \"perldoc\".\n\n\"TEXLIVEDOWNLOADER\"\n\"TLDOWNLOADPROGRAM\"\n\"TLDOWNLOADARGS\"\nThese override the normal choice of a download program; see  the  \"tlmgr\"  documentation,\ne.g., <https://tug.org/texlive/doc/tlmgr.html#ENVIRONMENT-VARIABLES>.\n\n\"TEXLIVEINSTALLENVNOCHECK\"\nOmit  the check for environment variables containing the string \"tex\".  People developing\nTeX-related software are likely to have many such variables.\n\n\"TEXLIVEINSTALLNOCONTEXTCACHE\"\nOmit creating the ConTeXt cache.  This is useful for redistributors.\n\n\"TEXLIVEINSTALLNODISKCHECK\"\nIf set to 1, omit free disk space check. By default, if a  POSIX-compliant  \"df\"  program\n(supporting  \"-Pk\")  is  available,  the installer checks for available disk space in the\nselected installation location, and will abort installation if there is insufficient disk\nspace, plus a margin of 100MB. An equivalent check is  made  on  Windows  (not  involving\n\"df\").\n\n\"TEXLIVEINSTALLNORESUME\"\nOmit  check  for  installing  on  top  of  a  previous installation and then asking about\nimporting previous settings.\n\n\"TEXLIVEINSTALLNOWELCOME\"\nOmit printing the welcome message after successful installation, e.g., when testing.\n\n\"TEXLIVEINSTALLPAPER\"\nSet the default paper size for all relevant programs; must be either  \"letter\"  or  \"a4\".\nThe default is \"a4\".\n\n\"TEXLIVEINSTALLPREFIX\"\n\"TEXLIVEINSTALLTEXMFCONFIG\"\n\"TEXLIVEINSTALLTEXMFVAR\"\n\"TEXLIVEINSTALLTEXMFHOME\"\n\"TEXLIVEINSTALLTEXMFLOCAL\"\n\"TEXLIVEINSTALLTEXMFSYSCONFIG\"\n\"TEXLIVEINSTALLTEXMFSYSVAR\"\nSpecify    the    respective    directories.    \"TEXLIVEINSTALLPREFIX\"    defaults   to\n\"/usr/local/texlive\". All the defaults can be seen by running the installer interactively\nand then typing \"D\" for the directory menu.\n\nThe various command line options for specifying directories  override  these  environment\nvariables;  since specifying both is usually accidental, a warning is given if the values\nare different.\n",
            "subsections": []
        },
        "DIRECTORY TREES": {
            "content": "There are a plethora of ways to specify the plethora of directory trees used by TeX Live.  By\nfar  the  simplest, and recommended, approach is not to change anything. The defaults suffice\nfor the vast majority of installations.\n\nBut, for the sake of explanation, here is a table of the trees and the command  line  options\nthat  change  them.  The first group of three are system directories, and the second group of\nthree are user directories; the two groups are quite analogous.\n\n+----------------+--------------------------------------+--------------+------------------+\n|    tree        | default                              | group change | single change    |\n+----------------+--------------------------------------+--------------+------------------+\n| TEXMFLOCAL     | /usr/local/texlive/texmf-local       | --texdir     | --texmflocal     |\n| TEXMFSYSVAR    | /usr/local/texlive/YYYY/texmf-var    | --texdir     | --texmfsysvar    |\n| TEXMFSYSCONFIG | /usr/local/texlive/YYYY/texmf-config | --texdir     | --texmfsysconfig |\n+----------------+--------------------------------------+--------------+------------------+\n| TEXMFHOME      | ~/texmf                              | --texuserdir | --texmfhome      |\n| TEXMFVAR       | ~/.texliveYYYY/texmf-var             | --texuserdir | --texmfvar       |\n| TEXMFCONFIG    | ~/.texliveYYYY/texmf-config          | --texuserdir | --texmfconfig    |\n+----------------+--------------------------------------+--------------+------------------+\n\nIn addition, as mentioned in the previous section, each  tree  has  an  environment  variable\n\"TEXLIVEINSTALL\"tree  which  overrides  the default; command line and profile settings both\noverride environment variable settings.\n\nThe defaults vary slightly on Macs, as explained above in \"OPTIONS\".\n\nFor the user trees, the default value uses \"~\",  and  this  is  left  as  a  literal  \"~\"  in\n\"texmf.cnf\".  That  way,  each user can have their own \"TEXMFHOME\", etc., as intended. On the\nother hand, for the system trees, if \"~\" is used during the installation, this is assumed  to\nsimply  be  a  typing  shorthand,  and the expanded home directory is written in \"texmf.cnf\",\nsince it doesn't make sense to have user-specific system directories.\n\nFor more on the directory trees and their intended usage, see the main TeX Live documentation\nat <https://tug.org/texlive/doc>.\n",
            "subsections": []
        },
        "BUGS": {
            "content": "The \"install-tl\" script copies itself into the installed tree.  Usually, it can be  run  from\nthere,  using  the  installed  tree  as  the  source for another installation.  Occasionally,\nhowever, there may be  incompatibilities  in  the  code  of  the  new  \"install-tl\"  and  the\ninfrastructure,  resulting  in (probably) inscrutable Perl errors.  The way forward is to run\n\"install-tl\" out of  the  installer  package  (\"install-tl-unx.tar.gz\"  or  \"install-tl.zip\")\ninstead  of  the  installation.  Feel  free to also report the issue; usually the code can be\neasily synced up again.\n\nBy the way, do not try to use \"install-tl\" to adjust options  or  installed  packages  in  an\nexisting installed tree. Use \"tlmgr\" instead.\n",
            "subsections": []
        },
        "AUTHORS AND COPYRIGHT": {
            "content": "This   script   and   its   documentation   were   written  for  the  TeX  Live  distribution\n(<https://tug.org/texlive>) and both are  licensed  under  the  GNU  General  Public  License\nVersion 2 or later.\n\n$Id: install-tl 67839 2023-08-07 21:47:31Z preining $\n\nperl v5.38.0                                 2023-08-07                                INSTALL-TL(1)",
            "subsections": []
        }
    },
    "summary": "install-tl - TeX Live cross-platform installer",
    "flags": [
        {
            "flag": "",
            "long": null,
            "arg": null,
            "description": ""
        },
        {
            "flag": "",
            "long": null,
            "arg": null,
            "description": "If no module is given, starts the Tcl/Tk (see below) GUI installer. If module is given loads the given installer module. Currently the following modules are supported: \"text\" The text mode user interface (default on Unix systems, including Macs). Same as the \"-no-gui\" option. \"tcl\" (or \"perltk\" or \"wizard\" or \"expert\" or nothing) The Tcl/Tk user interface (default on Windows). It starts with a small number of configuration options, roughly equivalent to what the former wizard option offers, but a button \"Advanced\" takes you to a screen with roughly the same options as the former \"perltk\" interface. The default GUI requires Tcl/Tk. This was standard on Macs, but has been removed in the latest macOS releases. It's often already installed on GNU/Linux, or can be easily installed through a distro package manager. For Windows, TeX Live provides a Tcl/Tk runtime."
        },
        {
            "flag": "",
            "long": null,
            "arg": null,
            "description": "By default, the Tcl GUI uses the language detection built into Tcl/Tk. If that fails you can select a different language by giving this option with a language code (based on ISO 639-1). Currently supported (but not necessarily completely translated) are: English (en, default), Czech (cs), German (de), French (fr), Italian (it), Japanese (ja), Dutch (nl), Polish (pl), Brazilian Portuguese (ptBR), Russian (ru), Slovak (sk), Slovenian (sl), Serbian (sr), Ukrainian (uk), Vietnamese (vi), simplified Chinese (zhCN), and traditional Chinese (zhTW)."
        },
        {
            "flag": "",
            "long": null,
            "arg": null,
            "description": "Specify the package repository to be used as the source of the installation. In short, this can be a directory name or a url using http(s), ftp, or scp. The documentation for \"tlmgr\" has the details (<https://tug.org/texlive/doc/tlmgr.html#OPTIONS>). For installation, the default is to pick a mirror automatically, using <https://mirror.ctan.org/systems/texlive/tlnet>; the chosen mirror is then used for the entire download. You can use the special argument \"ctan\" as an abbreviation for this. (See <https://ctan.org> for more about CTAN and its mirrors.) After installation is complete, you can use that installation as the repository for another installation. If you chose to install less than the full scheme containing all packages, the list of available schemes will be adjusted accordingly."
        },
        {
            "flag": "",
            "long": null,
            "arg": null,
            "description": "This option allows you to choose a particular mirror from the current list of active CTAN mirrors. This option is supported in the \"text\" and \"gui\" installer modes, and will also offer to install from local media if available, or from a repository specified on the command line. It's useful when the (default) automatic redirection does not choose a good host for you."
        },
        {
            "flag": "",
            "long": null,
            "arg": null,
            "description": "Normally options not relevant to the current platform are not shown (e.g., when running on Unix, Windows-specific options are omitted). Giving this command line option allows configuring such \"foreign\" settings."
        },
        {
            "flag": "",
            "long": null,
            "arg": null,
            "description": "If you have built your own set of TeX Live binaries (e.g., because precompiled binaries were not provided by TL for your platform), this option allows you to specify the path to a directory where the binaries for the current system are present. The installation will continue as usual, but at the end all files from path are copied over to \"bin/custom/\" under your installation directory and this \"bin/custom/\" directory is what will be added to the path for the post-install actions. To install multiple custom binary sets, manually rename \"custom\" before doing each. For more information on custom binaries, see <https://tug.org/texlive/custom-bin.html>. For general information on building TeX Live, see <https://tug.org/texlive/build.html>."
        },
        {
            "flag": "",
            "long": null,
            "arg": null,
            "description": "Pretend we're doing a network install. This is for the sole purpose of testing the code to handle broken downloads, via moving package files aside in a tlnet mirror hierarchy."
        },
        {
            "flag": "",
            "long": null,
            "arg": null,
            "description": "Print final values of directory variables; for more debugging information on how they were set, also specify \"-v\"."
        },
        {
            "flag": "",
            "long": null,
            "arg": null,
            "description": "In the former Perl/Tk GUI modes, this option reported any missing, or more likely untranslated, messages to standard error. Not yet implemented for the Tcl interface. Helpful for translators to see what remains to be done."
        },
        {
            "flag": "",
            "long": null,
            "arg": null,
            "description": "Instead of auto-detecting the current platform, use platform. Binaries for this platform must be present in \"bin/\"platform\"/\" and they must be runnable, or installation will fail. \"-force-arch\" is a synonym."
        },
        {
            "flag": "-?",
            "long": "--help",
            "arg": null,
            "description": "Display this help and exit. (This help is also on the web at <https://tug.org/texlive/doc/install-tl.html>). Sometimes the \"perldoc\" and/or \"PAGER\" programs on the system have problems, possibly resulting in control characters being literally output. This can't always be detected, but you can set the \"NOPERLDOC\" environment variable and \"perldoc\" will not be used."
        },
        {
            "flag": "",
            "long": null,
            "arg": null,
            "description": "This is a quick-and-dirty installation option in case you already have an rsync or svn checkout of TeX Live. It will use the checkout as-is and will just do the necessary post-install. Be warned that the file \"tlpkg/texlive.tlpdb\" may be rewritten, that removal has to be done manually, and that the only realistic way to maintain this installation is to redo it from time to time. This option is not available via the installer interfaces. USE AT YOUR OWN RISK."
        },
        {
            "flag": "",
            "long": null,
            "arg": null,
            "description": "Similar to -profile (see \"PROFILES\" below), but only initializes the installation configuration from profilefile and then starts a normal interactive session. Environment variables are not ignored."
        },
        {
            "flag": "",
            "long": null,
            "arg": null,
            "description": "Write both all messages (informational, debugging, warnings) to file, in addition to standard output or standard error. If this option is not given, the installer will create a log file in the root of the writable installation tree, for example, \"/usr/local/texlive/YYYY/install-tl.log\" for the YYYY release."
        },
        {
            "flag": "",
            "long": null,
            "arg": null,
            "description": "For the text mode installer only: do not clear the screen when entering a new menu. For debugging."
        },
        {
            "flag": "",
            "long": null,
            "arg": null,
            "description": "Quit early on installation failure of a non-core package. By default, a few core packages are installed first; then, a failed installation of any other (non-core) package is noted, but does not stop the installation. Any such failed packages are retried, once. If the retry also fails, by default the installer proceeds to completion anyway, with the idea that it was a transient network problem and reinstallation will succeed later. If this option is specified, and the retry fails, the installer aborts."
        },
        {
            "flag": "",
            "long": null,
            "arg": null,
            "description": ""
        },
        {
            "flag": "",
            "long": null,
            "arg": null,
            "description": "Do not install the documentation resp. source package files, both for the immediate installation and for future updates. After installation, inclusion of the doc/src files can be re-enabled via \"tlmgr\": tlmgr option docfiles 1 tlmgr option srcfiles 1 If you later find that you want the doc/src files for a package that has been installed without them, you can get them like this (using the \"fontspec\" package as the example): tlmgr install --reinstall --with-doc --with-src fontspec The source files mentioned here are those relating to TeX packages, such as \".dtx\" files. The sources that are compiled to make the binaries are available separately: see <https://tug.org/texlive/svn/>."
        },
        {
            "flag": "",
            "long": null,
            "arg": null,
            "description": "Do not perform any installation. This is for debugging the initialization and setup routines without touching the disk."
        },
        {
            "flag": "",
            "long": null,
            "arg": null,
            "description": "Do not enter the interactive menu; immediately perform the installation after initialization and option parsing. Also omit the check for a previous installation and asking about importing previous settings."
        },
        {
            "flag": "",
            "long": null,
            "arg": null,
            "description": ""
        },
        {
            "flag": "",
            "long": null,
            "arg": null,
            "description": "For network installs, activating this option makes the installer try to set up a persistent connection using the \"LWP\" Perl module. This opens only one connection between your computer and the server per session and reuses it, instead of initiating a new download for each package, which typically yields a significant speed-up. This option is turned on by default, and the installation program will fall back to using \"wget\" if this is not possible. To disable usage of LWP and persistent connections, use \"-no-persistent-downloads\"."
        },
        {
            "flag": "",
            "long": null,
            "arg": null,
            "description": "By default, if a GnuPG \"gpg\" binary is found in PATH, downloads are verified against a cryptographic signature. This option disables such verification. The full description is in the Crytographic Verification section of the \"tlmgr\" documentation, e.g., <https://tug.org/texlive/doc/tlmgr.html#CRYPTOGRAPHIC-VERIFICATION>"
        },
        {
            "flag": "",
            "long": null,
            "arg": null,
            "description": "For Windows only: configure for the current user, not for all users."
        },
        {
            "flag": "",
            "long": null,
            "arg": null,
            "description": "Set the default paper size for all TeX Live programs, as specified. The default is \"a4\". The paper size can be set after installation with the \"tlmgr paper\" command."
        },
        {
            "flag": "",
            "long": null,
            "arg": null,
            "description": "Install for portable use, e.g., on a USB stick. See the \"instoptportable\" description below for details."
        },
        {
            "flag": "",
            "long": null,
            "arg": null,
            "description": "Print the TeX Live identifier for the detected platform (hardware/operating system) combination to standard output, and exit. \"-print-arch\" is a synonym."
        },
        {
            "flag": "",
            "long": null,
            "arg": null,
            "description": "Load profilefile and do the installation with no user interaction, that is, a batch (unattended) install. Environment variables are ignored. See \"PROFILES\" below."
        },
        {
            "flag": "-q",
            "long": null,
            "arg": null,
            "description": ""
        },
        {
            "flag": "",
            "long": null,
            "arg": null,
            "description": "Schemes are the highest level of package grouping in TeX Live; the default is to use the \"full\" scheme, which includes everything. This option overrides that default. The scheme argument value may optionally have a prefix \"scheme-\". The list of supported scheme names depends on what your package repository provides; see the interactive menu list."
        },
        {
            "flag": "",
            "long": null,
            "arg": null,
            "description": "Specify the system installation directory; the default is \"/usr/local/texlive/YYYY\" for release YYYY. Specifying this option also causes the \"TEXMFLOCAL\", \"TEXMFSYSCONFIG\", and \"TEXMFSYSVAR\" directories to be set as subdirectories of dir, so they don't have to be set individually. There is a brief summary of these directories trees at \"DIRECTORY TREES\" below; for details on the trees set up by default, and their intended usage, see the main TeX Live documentation at <https://tug.org/texlive/doc>."
        },
        {
            "flag": "",
            "long": null,
            "arg": null,
            "description": "Specify the user installation directory; the default is \"~/.texliveYYYY\" (except on Macs, where there is no leading dot). Specifying this also causes the \"TEXMFHOME\", \"TEXMFCONFIG\", and \"TEXMFVAR\" directories to be set as subdirectories of dir."
        },
        {
            "flag": "",
            "long": null,
            "arg": null,
            "description": "Specify the \"TEXMFLOCAL\" directory; the default is \"/usr/local/texlive/texmf-local\", that is, one level up from the main installation. This is so locally-installed packages can be easily used across releases, which is usually desirable. Specifying the \"-texdir\" option changes this, putting \"TEXMFLOCAL\" under the main tree. The \"-texmflocal\" option can be used to specify an explicit directory. Anything installed here must follow the TeX directory structure (TDS), e.g., \"TEXMFHOME/tex/latex/mypkg/mypkg.sty\". TDS reference: <https://tug.org/tds>."
        },
        {
            "flag": "",
            "long": null,
            "arg": null,
            "description": "Specify the \"TEXMFHOME\" directory; the default is \"~/texmf\", except on Macs, where it is \"~/Library/texmf\". Analogously to \"TEXMFLOCAL\", the \"-texuserdir\" option changes this default. Also as with \"TEXMFLOCAL\", anything installed here must follow the TDS."
        },
        {
            "flag": "",
            "long": null,
            "arg": null,
            "description": ""
        },
        {
            "flag": "",
            "long": null,
            "arg": null,
            "description": "Specify the \"TEXMFSYSCONFIG\" and \"TEXMFSYSVAR\" system directories."
        },
        {
            "flag": "",
            "long": null,
            "arg": null,
            "description": ""
        },
        {
            "flag": "",
            "long": null,
            "arg": null,
            "description": "Specify the \"TEXMFCONFIG\" and \"TEXMFVAR\" user directories. The defaults are \"~/.texliveYYYY/texmf-{config,var}\", except on Macs, where the leading dot is omitted (\"~/texliveYYYY/...\")."
        },
        {
            "flag": "-v",
            "long": null,
            "arg": null,
            "description": "repeats are accepted but ignored.)"
        },
        {
            "flag": "",
            "long": "--version",
            "arg": null,
            "description": "Output version information and exit. If \"-v\" is also given, the versions of the TeX Live modules used are also reported."
        }
    ],
    "examples": [
        "With no options, \"install-tl\" drops you into an interactive menu where essentially all",
        "default settings can be changed. With options, you can initialize the settings in various",
        "ways, or perform the installation without interaction. Some examples:",
        "\"install-tl --paper=letter\"",
        "Initialize  paper  size  setting.  The only values allowed are \"letter\" and (the default)",
        "\"a4\".",
        "\"install-tl --scheme\" scheme",
        "Initialize the installation scheme; the default is \"full\".  For a list  of  schemes,  see",
        "the interactive \"S\" menu.",
        "\"install-tl --no-interaction\"",
        "Perform  the  installation  immediately  after  parsing  options,  without  entering  the",
        "interactive menu.",
        "\"install-tl --profile\" texlive.profile",
        "Install, without interaction, according to the given  TL  profile  file;  see  \"PROFILES\"",
        "below.  To  initialize  from  the  profile  and  then  enter  the  interactive  menu, add",
        "\"--init-from-profile\".",
        "Full documentation follows."
    ],
    "see_also": [],
    "tldr": {
        "source": "official",
        "description": "TeX Live cross-platform installer.",
        "examples": [
            {
                "description": "Start the text-based installer (default on Unix systems)",
                "command": "install-tl -no-gui"
            },
            {
                "description": "Start the GUI installer (default on macOS and Windows, requires Tcl/Tk)",
                "command": "install-tl -gui"
            },
            {
                "description": "Install TeX Live as defined in a specific profile file",
                "command": "install-tl -profile {{path/to/texlive.profile}}"
            },
            {
                "description": "Start the installer with the settings from a specific profile file",
                "command": "install-tl -init-from-file {{path/to/texlive.profile}}"
            },
            {
                "description": "Start the installer for installation on a portable device, like a USB stick",
                "command": "install-tl -portable"
            },
            {
                "description": "Display help",
                "command": "install-tl -help"
            }
        ]
    }
}