From 24c5753beaf378d35553785f02c3110a1c0fe293 Mon Sep 17 00:00:00 2001 From: Norbert Preining Date: Fri, 23 Apr 2021 03:01:11 +0000 Subject: CTAN sync 202104230301 --- info/tlmgr-intro-zh-cn/LICENSE | 674 +++++++++++++++++++++++++++ info/tlmgr-intro-zh-cn/README.md | 14 + info/tlmgr-intro-zh-cn/body/actions.tex | 362 ++++++++++++++ info/tlmgr-intro-zh-cn/body/examples.tex | 22 + info/tlmgr-intro-zh-cn/body/mirrors.tex | 53 +++ info/tlmgr-intro-zh-cn/body/options.tex | 20 + info/tlmgr-intro-zh-cn/body/preface.tex | 22 + info/tlmgr-intro-zh-cn/body/syntex.tex | 25 + info/tlmgr-intro-zh-cn/fig/collection.png | Bin 0 -> 34527 bytes info/tlmgr-intro-zh-cn/fig/scheme.png | Bin 0 -> 19054 bytes info/tlmgr-intro-zh-cn/latexmkrc | 33 ++ info/tlmgr-intro-zh-cn/tlmgr-intro-zh-cn.pdf | Bin 0 -> 368005 bytes info/tlmgr-intro-zh-cn/tlmgr-intro-zh-cn.sty | 67 +++ info/tlmgr-intro-zh-cn/tlmgr-intro-zh-cn.tex | 22 + 14 files changed, 1314 insertions(+) create mode 100644 info/tlmgr-intro-zh-cn/LICENSE create mode 100644 info/tlmgr-intro-zh-cn/README.md create mode 100644 info/tlmgr-intro-zh-cn/body/actions.tex create mode 100644 info/tlmgr-intro-zh-cn/body/examples.tex create mode 100644 info/tlmgr-intro-zh-cn/body/mirrors.tex create mode 100644 info/tlmgr-intro-zh-cn/body/options.tex create mode 100644 info/tlmgr-intro-zh-cn/body/preface.tex create mode 100644 info/tlmgr-intro-zh-cn/body/syntex.tex create mode 100644 info/tlmgr-intro-zh-cn/fig/collection.png create mode 100644 info/tlmgr-intro-zh-cn/fig/scheme.png create mode 100644 info/tlmgr-intro-zh-cn/latexmkrc create mode 100644 info/tlmgr-intro-zh-cn/tlmgr-intro-zh-cn.pdf create mode 100644 info/tlmgr-intro-zh-cn/tlmgr-intro-zh-cn.sty create mode 100644 info/tlmgr-intro-zh-cn/tlmgr-intro-zh-cn.tex (limited to 'info') diff --git a/info/tlmgr-intro-zh-cn/LICENSE b/info/tlmgr-intro-zh-cn/LICENSE new file mode 100644 index 0000000000..f288702d2f --- /dev/null +++ b/info/tlmgr-intro-zh-cn/LICENSE @@ -0,0 +1,674 @@ + GNU GENERAL PUBLIC LICENSE + Version 3, 29 June 2007 + + Copyright (C) 2007 Free Software Foundation, Inc. + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The GNU General Public License is a free, copyleft license for +software and other kinds of works. + + The licenses for most software and other practical works are designed +to take away your freedom to share and change the works. By contrast, +the GNU General Public License is intended to guarantee your freedom to +share and change all versions of a program--to make sure it remains free +software for all its users. We, the Free Software Foundation, use the +GNU General Public License for most of our software; it applies also to +any other work released this way by its authors. You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +them if you wish), that you receive source code or can get it if you +want it, that you can change the software or use pieces of it in new +free programs, and that you know you can do these things. + + To protect your rights, we need to prevent others from denying you +these rights or asking you to surrender the rights. Therefore, you have +certain responsibilities if you distribute copies of the software, or if +you modify it: responsibilities to respect the freedom of others. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must pass on to the recipients the same +freedoms that you received. You must make sure that they, too, receive +or can get the source code. And you must show them these terms so they +know their rights. + + Developers that use the GNU GPL protect your rights with two steps: +(1) assert copyright on the software, and (2) offer you this License +giving you legal permission to copy, distribute and/or modify it. + + For the developers' and authors' protection, the GPL clearly explains +that there is no warranty for this free software. For both users' and +authors' sake, the GPL requires that modified versions be marked as +changed, so that their problems will not be attributed erroneously to +authors of previous versions. + + Some devices are designed to deny users access to install or run +modified versions of the software inside them, although the manufacturer +can do so. This is fundamentally incompatible with the aim of +protecting users' freedom to change the software. The systematic +pattern of such abuse occurs in the area of products for individuals to +use, which is precisely where it is most unacceptable. Therefore, we +have designed this version of the GPL to prohibit the practice for those +products. If such problems arise substantially in other domains, we +stand ready to extend this provision to those domains in future versions +of the GPL, as needed to protect the freedom of users. + + Finally, every program is threatened constantly by software patents. +States should not allow patents to restrict development and use of +software on general-purpose computers, but in those that do, we wish to +avoid the special danger that patents applied to a free program could +make it effectively proprietary. To prevent this, the GPL assures that +patents cannot be used to render the program non-free. + + The precise terms and conditions for copying, distribution and +modification follow. + + TERMS AND CONDITIONS + + 0. Definitions. + + "This License" refers to version 3 of the GNU General Public License. + + "Copyright" also means copyright-like laws that apply to other kinds of +works, such as semiconductor masks. + + "The Program" refers to any copyrightable work licensed under this +License. Each licensee is addressed as "you". "Licensees" and +"recipients" may be individuals or organizations. + + To "modify" a work means to copy from or adapt all or part of the work +in a fashion requiring copyright permission, other than the making of an +exact copy. The resulting work is called a "modified version" of the +earlier work or a work "based on" the earlier work. + + A "covered work" means either the unmodified Program or a work based +on the Program. + + To "propagate" a work means to do anything with it that, without +permission, would make you directly or secondarily liable for +infringement under applicable copyright law, except executing it on a +computer or modifying a private copy. Propagation includes copying, +distribution (with or without modification), making available to the +public, and in some countries other activities as well. + + To "convey" a work means any kind of propagation that enables other +parties to make or receive copies. Mere interaction with a user through +a computer network, with no transfer of a copy, is not conveying. + + An interactive user interface displays "Appropriate Legal Notices" +to the extent that it includes a convenient and prominently visible +feature that (1) displays an appropriate copyright notice, and (2) +tells the user that there is no warranty for the work (except to the +extent that warranties are provided), that licensees may convey the +work under this License, and how to view a copy of this License. If +the interface presents a list of user commands or options, such as a +menu, a prominent item in the list meets this criterion. + + 1. Source Code. + + The "source code" for a work means the preferred form of the work +for making modifications to it. "Object code" means any non-source +form of a work. + + A "Standard Interface" means an interface that either is an official +standard defined by a recognized standards body, or, in the case of +interfaces specified for a particular programming language, one that +is widely used among developers working in that language. + + The "System Libraries" of an executable work include anything, other +than the work as a whole, that (a) is included in the normal form of +packaging a Major Component, but which is not part of that Major +Component, and (b) serves only to enable use of the work with that +Major Component, or to implement a Standard Interface for which an +implementation is available to the public in source code form. A +"Major Component", in this context, means a major essential component +(kernel, window system, and so on) of the specific operating system +(if any) on which the executable work runs, or a compiler used to +produce the work, or an object code interpreter used to run it. + + The "Corresponding Source" for a work in object code form means all +the source code needed to generate, install, and (for an executable +work) run the object code and to modify the work, including scripts to +control those activities. However, it does not include the work's +System Libraries, or general-purpose tools or generally available free +programs which are used unmodified in performing those activities but +which are not part of the work. For example, Corresponding Source +includes interface definition files associated with source files for +the work, and the source code for shared libraries and dynamically +linked subprograms that the work is specifically designed to require, +such as by intimate data communication or control flow between those +subprograms and other parts of the work. + + The Corresponding Source need not include anything that users +can regenerate automatically from other parts of the Corresponding +Source. + + The Corresponding Source for a work in source code form is that +same work. + + 2. Basic Permissions. + + All rights granted under this License are granted for the term of +copyright on the Program, and are irrevocable provided the stated +conditions are met. This License explicitly affirms your unlimited +permission to run the unmodified Program. The output from running a +covered work is covered by this License only if the output, given its +content, constitutes a covered work. This License acknowledges your +rights of fair use or other equivalent, as provided by copyright law. + + You may make, run and propagate covered works that you do not +convey, without conditions so long as your license otherwise remains +in force. You may convey covered works to others for the sole purpose +of having them make modifications exclusively for you, or provide you +with facilities for running those works, provided that you comply with +the terms of this License in conveying all material for which you do +not control copyright. Those thus making or running the covered works +for you must do so exclusively on your behalf, under your direction +and control, on terms that prohibit them from making any copies of +your copyrighted material outside their relationship with you. + + Conveying under any other circumstances is permitted solely under +the conditions stated below. Sublicensing is not allowed; section 10 +makes it unnecessary. + + 3. Protecting Users' Legal Rights From Anti-Circumvention Law. + + No covered work shall be deemed part of an effective technological +measure under any applicable law fulfilling obligations under article +11 of the WIPO copyright treaty adopted on 20 December 1996, or +similar laws prohibiting or restricting circumvention of such +measures. + + When you convey a covered work, you waive any legal power to forbid +circumvention of technological measures to the extent such circumvention +is effected by exercising rights under this License with respect to +the covered work, and you disclaim any intention to limit operation or +modification of the work as a means of enforcing, against the work's +users, your or third parties' legal rights to forbid circumvention of +technological measures. + + 4. Conveying Verbatim Copies. + + You may convey verbatim copies of the Program's source code as you +receive it, in any medium, provided that you conspicuously and +appropriately publish on each copy an appropriate copyright notice; +keep intact all notices stating that this License and any +non-permissive terms added in accord with section 7 apply to the code; +keep intact all notices of the absence of any warranty; and give all +recipients a copy of this License along with the Program. + + You may charge any price or no price for each copy that you convey, +and you may offer support or warranty protection for a fee. + + 5. Conveying Modified Source Versions. + + You may convey a work based on the Program, or the modifications to +produce it from the Program, in the form of source code under the +terms of section 4, provided that you also meet all of these conditions: + + a) The work must carry prominent notices stating that you modified + it, and giving a relevant date. + + b) The work must carry prominent notices stating that it is + released under this License and any conditions added under section + 7. This requirement modifies the requirement in section 4 to + "keep intact all notices". + + c) You must license the entire work, as a whole, under this + License to anyone who comes into possession of a copy. This + License will therefore apply, along with any applicable section 7 + additional terms, to the whole of the work, and all its parts, + regardless of how they are packaged. This License gives no + permission to license the work in any other way, but it does not + invalidate such permission if you have separately received it. + + d) If the work has interactive user interfaces, each must display + Appropriate Legal Notices; however, if the Program has interactive + interfaces that do not display Appropriate Legal Notices, your + work need not make them do so. + + A compilation of a covered work with other separate and independent +works, which are not by their nature extensions of the covered work, +and which are not combined with it such as to form a larger program, +in or on a volume of a storage or distribution medium, is called an +"aggregate" if the compilation and its resulting copyright are not +used to limit the access or legal rights of the compilation's users +beyond what the individual works permit. Inclusion of a covered work +in an aggregate does not cause this License to apply to the other +parts of the aggregate. + + 6. Conveying Non-Source Forms. + + You may convey a covered work in object code form under the terms +of sections 4 and 5, provided that you also convey the +machine-readable Corresponding Source under the terms of this License, +in one of these ways: + + a) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by the + Corresponding Source fixed on a durable physical medium + customarily used for software interchange. + + b) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by a + written offer, valid for at least three years and valid for as + long as you offer spare parts or customer support for that product + model, to give anyone who possesses the object code either (1) a + copy of the Corresponding Source for all the software in the + product that is covered by this License, on a durable physical + medium customarily used for software interchange, for a price no + more than your reasonable cost of physically performing this + conveying of source, or (2) access to copy the + Corresponding Source from a network server at no charge. + + c) Convey individual copies of the object code with a copy of the + written offer to provide the Corresponding Source. This + alternative is allowed only occasionally and noncommercially, and + only if you received the object code with such an offer, in accord + with subsection 6b. + + d) Convey the object code by offering access from a designated + place (gratis or for a charge), and offer equivalent access to the + Corresponding Source in the same way through the same place at no + further charge. You need not require recipients to copy the + Corresponding Source along with the object code. If the place to + copy the object code is a network server, the Corresponding Source + may be on a different server (operated by you or a third party) + that supports equivalent copying facilities, provided you maintain + clear directions next to the object code saying where to find the + Corresponding Source. Regardless of what server hosts the + Corresponding Source, you remain obligated to ensure that it is + available for as long as needed to satisfy these requirements. + + e) Convey the object code using peer-to-peer transmission, provided + you inform other peers where the object code and Corresponding + Source of the work are being offered to the general public at no + charge under subsection 6d. + + A separable portion of the object code, whose source code is excluded +from the Corresponding Source as a System Library, need not be +included in conveying the object code work. + + A "User Product" is either (1) a "consumer product", which means any +tangible personal property which is normally used for personal, family, +or household purposes, or (2) anything designed or sold for incorporation +into a dwelling. In determining whether a product is a consumer product, +doubtful cases shall be resolved in favor of coverage. For a particular +product received by a particular user, "normally used" refers to a +typical or common use of that class of product, regardless of the status +of the particular user or of the way in which the particular user +actually uses, or expects or is expected to use, the product. A product +is a consumer product regardless of whether the product has substantial +commercial, industrial or non-consumer uses, unless such uses represent +the only significant mode of use of the product. + + "Installation Information" for a User Product means any methods, +procedures, authorization keys, or other information required to install +and execute modified versions of a covered work in that User Product from +a modified version of its Corresponding Source. The information must +suffice to ensure that the continued functioning of the modified object +code is in no case prevented or interfered with solely because +modification has been made. + + If you convey an object code work under this section in, or with, or +specifically for use in, a User Product, and the conveying occurs as +part of a transaction in which the right of possession and use of the +User Product is transferred to the recipient in perpetuity or for a +fixed term (regardless of how the transaction is characterized), the +Corresponding Source conveyed under this section must be accompanied +by the Installation Information. But this requirement does not apply +if neither you nor any third party retains the ability to install +modified object code on the User Product (for example, the work has +been installed in ROM). + + The requirement to provide Installation Information does not include a +requirement to continue to provide support service, warranty, or updates +for a work that has been modified or installed by the recipient, or for +the User Product in which it has been modified or installed. Access to a +network may be denied when the modification itself materially and +adversely affects the operation of the network or violates the rules and +protocols for communication across the network. + + Corresponding Source conveyed, and Installation Information provided, +in accord with this section must be in a format that is publicly +documented (and with an implementation available to the public in +source code form), and must require no special password or key for +unpacking, reading or copying. + + 7. Additional Terms. + + "Additional permissions" are terms that supplement the terms of this +License by making exceptions from one or more of its conditions. +Additional permissions that are applicable to the entire Program shall +be treated as though they were included in this License, to the extent +that they are valid under applicable law. If additional permissions +apply only to part of the Program, that part may be used separately +under those permissions, but the entire Program remains governed by +this License without regard to the additional permissions. + + When you convey a copy of a covered work, you may at your option +remove any additional permissions from that copy, or from any part of +it. (Additional permissions may be written to require their own +removal in certain cases when you modify the work.) You may place +additional permissions on material, added by you to a covered work, +for which you have or can give appropriate copyright permission. + + Notwithstanding any other provision of this License, for material you +add to a covered work, you may (if authorized by the copyright holders of +that material) supplement the terms of this License with terms: + + a) Disclaiming warranty or limiting liability differently from the + terms of sections 15 and 16 of this License; or + + b) Requiring preservation of specified reasonable legal notices or + author attributions in that material or in the Appropriate Legal + Notices displayed by works containing it; or + + c) Prohibiting misrepresentation of the origin of that material, or + requiring that modified versions of such material be marked in + reasonable ways as different from the original version; or + + d) Limiting the use for publicity purposes of names of licensors or + authors of the material; or + + e) Declining to grant rights under trademark law for use of some + trade names, trademarks, or service marks; or + + f) Requiring indemnification of licensors and authors of that + material by anyone who conveys the material (or modified versions of + it) with contractual assumptions of liability to the recipient, for + any liability that these contractual assumptions directly impose on + those licensors and authors. + + All other non-permissive additional terms are considered "further +restrictions" within the meaning of section 10. If the Program as you +received it, or any part of it, contains a notice stating that it is +governed by this License along with a term that is a further +restriction, you may remove that term. If a license document contains +a further restriction but permits relicensing or conveying under this +License, you may add to a covered work material governed by the terms +of that license document, provided that the further restriction does +not survive such relicensing or conveying. + + If you add terms to a covered work in accord with this section, you +must place, in the relevant source files, a statement of the +additional terms that apply to those files, or a notice indicating +where to find the applicable terms. + + Additional terms, permissive or non-permissive, may be stated in the +form of a separately written license, or stated as exceptions; +the above requirements apply either way. + + 8. Termination. + + You may not propagate or modify a covered work except as expressly +provided under this License. Any attempt otherwise to propagate or +modify it is void, and will automatically terminate your rights under +this License (including any patent licenses granted under the third +paragraph of section 11). + + However, if you cease all violation of this License, then your +license from a particular copyright holder is reinstated (a) +provisionally, unless and until the copyright holder explicitly and +finally terminates your license, and (b) permanently, if the copyright +holder fails to notify you of the violation by some reasonable means +prior to 60 days after the cessation. + + Moreover, your license from a particular copyright holder is +reinstated permanently if the copyright holder notifies you of the +violation by some reasonable means, this is the first time you have +received notice of violation of this License (for any work) from that +copyright holder, and you cure the violation prior to 30 days after +your receipt of the notice. + + Termination of your rights under this section does not terminate the +licenses of parties who have received copies or rights from you under +this License. If your rights have been terminated and not permanently +reinstated, you do not qualify to receive new licenses for the same +material under section 10. + + 9. Acceptance Not Required for Having Copies. + + You are not required to accept this License in order to receive or +run a copy of the Program. Ancillary propagation of a covered work +occurring solely as a consequence of using peer-to-peer transmission +to receive a copy likewise does not require acceptance. However, +nothing other than this License grants you permission to propagate or +modify any covered work. These actions infringe copyright if you do +not accept this License. Therefore, by modifying or propagating a +covered work, you indicate your acceptance of this License to do so. + + 10. Automatic Licensing of Downstream Recipients. + + Each time you convey a covered work, the recipient automatically +receives a license from the original licensors, to run, modify and +propagate that work, subject to this License. You are not responsible +for enforcing compliance by third parties with this License. + + An "entity transaction" is a transaction transferring control of an +organization, or substantially all assets of one, or subdividing an +organization, or merging organizations. If propagation of a covered +work results from an entity transaction, each party to that +transaction who receives a copy of the work also receives whatever +licenses to the work the party's predecessor in interest had or could +give under the previous paragraph, plus a right to possession of the +Corresponding Source of the work from the predecessor in interest, if +the predecessor has it or can get it with reasonable efforts. + + You may not impose any further restrictions on the exercise of the +rights granted or affirmed under this License. For example, you may +not impose a license fee, royalty, or other charge for exercise of +rights granted under this License, and you may not initiate litigation +(including a cross-claim or counterclaim in a lawsuit) alleging that +any patent claim is infringed by making, using, selling, offering for +sale, or importing the Program or any portion of it. + + 11. Patents. + + A "contributor" is a copyright holder who authorizes use under this +License of the Program or a work on which the Program is based. The +work thus licensed is called the contributor's "contributor version". + + A contributor's "essential patent claims" are all patent claims +owned or controlled by the contributor, whether already acquired or +hereafter acquired, that would be infringed by some manner, permitted +by this License, of making, using, or selling its contributor version, +but do not include claims that would be infringed only as a +consequence of further modification of the contributor version. For +purposes of this definition, "control" includes the right to grant +patent sublicenses in a manner consistent with the requirements of +this License. + + Each contributor grants you a non-exclusive, worldwide, royalty-free +patent license under the contributor's essential patent claims, to +make, use, sell, offer for sale, import and otherwise run, modify and +propagate the contents of its contributor version. + + In the following three paragraphs, a "patent license" is any express +agreement or commitment, however denominated, not to enforce a patent +(such as an express permission to practice a patent or covenant not to +sue for patent infringement). To "grant" such a patent license to a +party means to make such an agreement or commitment not to enforce a +patent against the party. + + If you convey a covered work, knowingly relying on a patent license, +and the Corresponding Source of the work is not available for anyone +to copy, free of charge and under the terms of this License, through a +publicly available network server or other readily accessible means, +then you must either (1) cause the Corresponding Source to be so +available, or (2) arrange to deprive yourself of the benefit of the +patent license for this particular work, or (3) arrange, in a manner +consistent with the requirements of this License, to extend the patent +license to downstream recipients. "Knowingly relying" means you have +actual knowledge that, but for the patent license, your conveying the +covered work in a country, or your recipient's use of the covered work +in a country, would infringe one or more identifiable patents in that +country that you have reason to believe are valid. + + If, pursuant to or in connection with a single transaction or +arrangement, you convey, or propagate by procuring conveyance of, a +covered work, and grant a patent license to some of the parties +receiving the covered work authorizing them to use, propagate, modify +or convey a specific copy of the covered work, then the patent license +you grant is automatically extended to all recipients of the covered +work and works based on it. + + A patent license is "discriminatory" if it does not include within +the scope of its coverage, prohibits the exercise of, or is +conditioned on the non-exercise of one or more of the rights that are +specifically granted under this License. You may not convey a covered +work if you are a party to an arrangement with a third party that is +in the business of distributing software, under which you make payment +to the third party based on the extent of your activity of conveying +the work, and under which the third party grants, to any of the +parties who would receive the covered work from you, a discriminatory +patent license (a) in connection with copies of the covered work +conveyed by you (or copies made from those copies), or (b) primarily +for and in connection with specific products or compilations that +contain the covered work, unless you entered into that arrangement, +or that patent license was granted, prior to 28 March 2007. + + Nothing in this License shall be construed as excluding or limiting +any implied license or other defenses to infringement that may +otherwise be available to you under applicable patent law. + + 12. No Surrender of Others' Freedom. + + If conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot convey a +covered work so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you may +not convey it at all. For example, if you agree to terms that obligate you +to collect a royalty for further conveying from those to whom you convey +the Program, the only way you could satisfy both those terms and this +License would be to refrain entirely from conveying the Program. + + 13. Use with the GNU Affero General Public License. + + Notwithstanding any other provision of this License, you have +permission to link or combine any covered work with a work licensed +under version 3 of the GNU Affero General Public License into a single +combined work, and to convey the resulting work. The terms of this +License will continue to apply to the part which is the covered work, +but the special requirements of the GNU Affero General Public License, +section 13, concerning interaction through a network will apply to the +combination as such. + + 14. Revised Versions of this License. + + The Free Software Foundation may publish revised and/or new versions of +the GNU General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + + Each version is given a distinguishing version number. If the +Program specifies that a certain numbered version of the GNU General +Public License "or any later version" applies to it, you have the +option of following the terms and conditions either of that numbered +version or of any later version published by the Free Software +Foundation. If the Program does not specify a version number of the +GNU General Public License, you may choose any version ever published +by the Free Software Foundation. + + If the Program specifies that a proxy can decide which future +versions of the GNU General Public License can be used, that proxy's +public statement of acceptance of a version permanently authorizes you +to choose that version for the Program. + + Later license versions may give you additional or different +permissions. However, no additional obligations are imposed on any +author or copyright holder as a result of your choosing to follow a +later version. + + 15. Disclaimer of Warranty. + + THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY +APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT +HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY +OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, +THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM +IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF +ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + + 16. Limitation of Liability. + + IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS +THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY +GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE +USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF +DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD +PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), +EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF +SUCH DAMAGES. + + 17. Interpretation of Sections 15 and 16. + + If the disclaimer of warranty and limitation of liability provided +above cannot be given local legal effect according to their terms, +reviewing courts shall apply local law that most closely approximates +an absolute waiver of all civil liability in connection with the +Program, unless a warranty or assumption of liability accompanies a +copy of the Program in return for a fee. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +state the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + + Copyright (C) + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + +Also add information on how to contact you by electronic and paper mail. + + If the program does terminal interaction, make it output a short +notice like this when it starts in an interactive mode: + + Copyright (C) + This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + This is free software, and you are welcome to redistribute it + under certain conditions; type `show c' for details. + +The hypothetical commands `show w' and `show c' should show the appropriate +parts of the General Public License. Of course, your program's commands +might be different; for a GUI interface, you would use an "about box". + + You should also get your employer (if you work as a programmer) or school, +if any, to sign a "copyright disclaimer" for the program, if necessary. +For more information on this, and how to apply and follow the GNU GPL, see +. + + The GNU General Public License does not permit incorporating your program +into proprietary programs. If your program is a subroutine library, you +may consider it more useful to permit linking proprietary applications with +the library. If this is what you want to do, use the GNU Lesser General +Public License instead of this License. But first, please read +. diff --git a/info/tlmgr-intro-zh-cn/README.md b/info/tlmgr-intro-zh-cn/README.md new file mode 100644 index 0000000000..eac112d11a --- /dev/null +++ b/info/tlmgr-intro-zh-cn/README.md @@ -0,0 +1,14 @@ +# 关于 `tlmgr` 使用方法的简介 + +这个文档是对 [texdoc tlmgr](https://www.tug.org/texlive/devsrc/Master/texmf-dist/doc/latex/tlmgrbasics/tlmgr.pdf) 的翻译以及补充. 由于翻译水平与专业知识有限, 文档中有一些词汇和语句翻译的并不好, 如果您有更好的翻译或者纠正我的错误, 可以在该项目处提出 [issue](https://github.com/syvshc/tlmgr-intro-zh-cn/issues) 或者 [PR](https://github.com/syvshc/tlmgr-intro-zh-cn/pulls). + +TeX Live 使用 `tlmgr` 来管理安装方案, 集合和软件包, 如果还没有安装 TeX Live, 可以参考 [install-latex-guide-zh-cn](https://www.tug.org/texlive/devsrc/Master/texmf-dist/doc/latex/install-latex-guide-zh-cn/install-latex-guide-zh-cn.pdf) 与 [texlive-zh-cn](https://www.tug.org/texlive/doc/texlive-zh-cn/texlive-zh-cn.pdf) 进行安装. 但是 [`tlmgr` 官方文档](https://www.tug.org/texlive/doc/tlmgr.html) 过于冗长, 有很多一般用户接触不到的功能, 在这里将它简化, 拿出一些比较基础使用的命令来介绍. + +本文档推荐使用 `latexmk` 进行编译, 在命令行运行 +```bash +latexmk +``` +即可, 编译后的文档可在 [release](https://github.com/syvshc/tlmgr-intro-zh-cn/releases) 处获取. + +# 开源协议 +本文档遵循 GNU GPL 3.0 及以后的开源协议. \ No newline at end of file diff --git a/info/tlmgr-intro-zh-cn/body/actions.tex b/info/tlmgr-intro-zh-cn/body/actions.tex new file mode 100644 index 0000000000..122a67a558 --- /dev/null +++ b/info/tlmgr-intro-zh-cn/body/actions.tex @@ -0,0 +1,362 @@ +% !TeX root = ../tlmgr-intro-zh-cn.tex +\section{操作 (ACTIONS)} + +\subsection{\mdseries\ac{info}} + +\paragraph{使用方法:} + +% \begin{lstlisting} +% tlmgr info [collections|schemes|+\textit{pkgs}+] +% \end{lstlisting} + +\begin{quote} + \tlmgr{} \ac{info} \oarg{\upshape collections|schemes|\textit{pkgs}}. +\end{quote} + +如果不带参数, 将会列出所有软件包仓库中的软件包, 把哪些已经被安装的软件包加上前缀 \texttt{i}. + +如果带参数 \texttt{collections} 或 \texttt{schemes}, 将会列出全部的集合或安装方案, 而不列出软件包, 同样地, 把已经安装的集合或安装方案加上前缀 \texttt{i}. + +如果带了任意其他的参数, 将会依次列出 \marg{pkgs} 中的每一个软件包的信息: 名称 (name), 分类 (category), 简短和详细的介绍 (short and long description), 软件包大小 (size), 安装状态 (status), 以及 \tl 中的版本号. 如果这个软件包没有在本地安装, 那么 \tlmgr 将会在远端仓库去查找它. + +对于普通的软件包 (除了集合与安装方案), 软件包大小是分 4 个部分显示的 (run/src/doc/bin). 对于集合, 显示的是所有直接\textbf{从属} (dependent) 于它的软件包的大小总和, 但是不包括从属的集合. 对于安装方案, 显示的是所有直接从属于它的集合与软件包的大小总和. + +如果在本地与线上都没有完整的匹配结果, 那么 \tlmgr 将会使用 \ac{search} 操作寻找名称与它相关的软件包, 见 \nameref{subsec:search} 小节. + +\ac{info} 操作也会显示从 \TeX\,Catalogue 获取的信息: 软件包版本 (package revision), 日期 (date), 以及许可证 (license). 不过这些信息, 尤其是软件包版本, 获得的信息只能用做参考, 这是由于不同部分的更新有时间差. + +旧操作 \ac{show} 与 \ac{list} 已经被合并到了 \ac{info} 操作中, 但是为了兼容性这两个操作仍然可用. + +\paragraph{{\mdseries\ac{info}} 的特有选项:} +\begin{description} + \item \op{-list}\par + 如果 \op{-list} 与一个软件包一起指定, 那么将会同时列出这个软件包包含的文件, 包括那些特定平台上的从属包. 如果与 \texttt{collections} 或者 \texttt{schemes} 一起指定, 那么 \op{-list} 将会以一个相似的方式输出依赖关系. + \item \op{-only-installed}\par + 如果指定这个选项, 那么将不会使用安装源的信息, 只会显示本地已经安装的软件包, 集合或安装方案. + \item \op{-only-remote}\par + 只列出远端仓库中的软件包, 下面是一条测试哪些软件包在某远端仓库中可用的命令: + \begin{quote} + \tlmgr{} \op{-repo} \marg{url} \op{-only-remote} \ac{info} + \end{quote} + 注意 \op{-only-installed} 与 \op{-only-remote} 不能同时使用. +\end{description} + +\clearpage + +\subsection{\mdseries\ac{search}}\label{subsec:search} + +\paragraph{使用方法:} +\begin{quote} + \tlmgr{} \ac{search} \marg{what}. +\end{quote} + +默认状态下, \tlmgr{} 会在所有本地安装的软件包中搜索名字, 短描述与长描述中是否含有参数 \marg{what}, 其中 \marg{what} 被解释为一个 (Perl) 正则表达式. + +\paragraph{{\mdseries\ac{search}} 的特有选项:} +\begin{description} + \item \op{-file}\par + 列出含有 \marg{what} 的文件名 (含路径), 比如使用 + \begin{quote} + \tlmgr{} \ac{search} \op{-file} \texttt{amsmath} + \end{quote} + 那么包含在文件夹 \texttt{amsmath} 下的文件也会被显示, 无论它们的文件名是否含有 \texttt{amsmath}. + \item \op{-global}\par + 在安装介质 (installation medium) 的 \tl{} Database 中搜索, 而不是本地安装. + \item \op{-word}\par + 严格匹配软件包的名字与描述 (并不是文件名). 比如使用 + \begin{quote} + \tlmgr{} \ac{search} \op{-word} \texttt{table} + \end{quote} + 就不会匹配到含有 \texttt{tables} 的软件包, 除非它同时含有一个 \texttt{table}. + \item \op{-all}\par + 匹配所有的项目: 软件包名, 长短描述与文件名 (含路径). +\end{description} + +\clearpage + +\subsection{\mdseries\ac{install}} +\paragraph{使用方法:} +\begin{quote} + \tlmgr{} \ac{install} \marg{pkgs}. +\end{quote} + +安装 \marg{pkgs} 中的每一个软件包, 除非某软件包已经被安装过了. 默认状态下所有指定的的软件包的从属文件也会被同时安装. \ac{install} 操作不会更改已经安装的软件包, 如果想使用最新版本的软件包, 可以使用 \nameref{subsec:update} 小节介绍的 \ac{update} 操作. + +\paragraph{{\mdseries\ac{install}} 的特有选项:} +\begin{description} + \item \op{-dry-run}\par + 在终端显示将要执行的操作, 而不进行安装. + \item \op{-reinstall}\par + 重新安装一个软件包 (包括对集合的依赖), 即使它看起来已经安装了, 比如它已经存在于 TLPDB (\tl{} Package Database) 中. 这个选项对于恢复在层级中不小心删除的软件包很有用. + + 重新安装时,只遵循对普通包的依赖 (不遵循类别Scheme或Collection的依赖)% + \footnote{When re-installing, only dependencies on normal packages are followed (i.e., not those of category Scheme or Collection).}. + \item \op{-with-doc}, \op{-with-src}\par + \texttt{install-tl} 给了一个 ``不安装文档/源文件'' 的选项, 但是我们不推荐使用这个选项. (默认状态下会安装所有的文件). 如果用了这个选项, 那么当用户想获得软件包的文档或者源文件的时候, 可以使用这两个选项与 \op{--reinstall}, 用 \texttt{fontspec} 宏包为例: + \begin{quote} + \tlmgr{} \ac{install} \op{-reinstall} \op{-with-doc} \op{-with-src} \texttt{fontspec} + \end{quote} + \item \op{-no-depends}\par + 不安装软件包的从属. (默认状态下, 安装一个软件包会保证它包含它所有的从属. ) +\end{description} + + \textbf{注意}: \ac{install} 操作并不会自动向系统目录中添加新的\textbf{符号链接} (symlinks), 需要自行运行 + \begin{quote} + \tlmgr{} \ac{path} \key{add} + \end{quote} + 如果您想使用这个功能并且想添加新的符号链接, 可以阅读 \href{https://www.tug.org/texlive/doc/tlmgr.html#path}{path} 操作. + +\subsection{\mdseries{\ac{update}}}\label{subsec:update} + +\paragraph{使用方法:} +\begin{quote} + \tlmgr{} \ac{update} \marg{\textup{-all|}pkgs} +\end{quote} + +把参数 \marg{pkgs} 中的宏包升级到安装源中最新的可用版本, 必须指定 \marg{\textup{-all}} 或至少一个软件包. + +\paragraph{{\mdseries\ac{update}} 的特有选项:} +\begin{description} + \item \op{-all}\par + 升级全部的软件包 (除了 \tlmgr{} 本身). 如果把 \tlmgr 也列出安装范围将会报错, 除非同时指定了 \op{-force} 与 \op{-self} 选项. (见下) + + 除了对已安装的软件包进行升级之外, 对本地安装的集合的升级 (默认是) 将它与服务器上的集合进行同步, 无论是新增还是移除. + + 类似地, 如果服务器上的一个本地已经安装的集合新增了一个软件包, 那么它将会被加入本地安装, 这被称作 ``auto-install'', 同时会在使用选项 \op{-list} 的时候被显示. + + 在集合从属软件包的检查中, 如果有一些被用户强制删除 (forcibly removed), 也就是用户使用对它们使用了 \tlmgr{} \ac{remove} \op{-force} 命令 (见 \nameref{subsec:remove} 小节). 如果想重新安装任何一个被强制删除的软件包, 要使用 \hyperlink{op:-reinstall-forcibly-removed}{\op{-reinstall-forcibly-removed}} 选项. + + 重申一遍: 自动新增与移除是完全通过集合之间的比较完成的. 因此, 如果用户手动安装了一个稍后将被服务器移除的软件包, \tlmgr{} 不会注意到它, 也不会在本地移除它. (尽量不要主动进行架构重组,因为 TLPDB 不记录软件包的来源仓库\footnote{It has to be this way, without major rearchitecture work, because the tlpdb does not record the repository from which packages come from.}) + + 如果用户想在最近的更新中忽略某些软件包, 可以使用下面的 \hyperlink{op:exclude}{\op{-exclude}} 选项. + \item \op{-self}\par + 如果有更新的 \tlmgr 版本存在, 那么升级 \tlmgr{} 本身, 即 \tlmgr 的基础架构. 在 Windows 设备上这个选项也会升级 \tl 自带的 Perl 解释器. + + 如果这个选项与 \op{-all} 一起被指定, 那么 \tlmgr 将会先升级自身, 如果成功了, \tlmgr 将会自动重启并执行接下来的升级. + + 表 \ref{tab:update} 展示了 \ac{update} 中 \op{-self} 与 \op{-all} 的关系. + \begin{table} + \caption{\ac{update}的几种关系}\label{tab:update} + \begin{center} + \begin{tabularx}{35em}{>{\raggedright}p{14em}@{\texttt{\#}\ }>{\raggedright\arraybackslash\ttfamily}X}\toprule + \tlmgr{} \ac{update} \op{-self} & 仅升级 \tlmgr 本身\\ + \tlmgr{} \ac{update} \op{-self} \op{-all} & 升级 \tlmgr 本身和全部可升级软件包\\ + \tlmgr{} \ac{upadte} \op{-force} \op{-all} & 升级全部软件包但是\textbf{不}升级 \tlmgr\\ + & 最后一个有风险, 不建议使用!\\\bottomrule + \end{tabularx} + \end{center} + \end{table} + \item \op{-dry-run}\par + 在终端显示将要执行的操作, 而不进行安装. 这个选项有比 \op{-list} 更详细的显示内容. + \item \op{-list} \oarg{pkgs}\par + 简略地列出即将被更新, 新增或移除的软件包, 但不做实质的更改. 如果同时指定了 \op{-all}, 那么将列出所有可用的更新. 如果同时指定了 \op{-self} 但是不指定 \op{-all}, 那么只会列出可更新的核心软件包 (\tlmgr, \tl 的核心架构, Windows 上的 Perl 等等). + + 如果不指定 \op{-all} 或 \op{-self}, 但是给出了具体的软件包 \oarg{pkgs}, 那么将检查 \oarg{pkgs} 中的可更新软件包并列出. + + 如果不指定 \op{-all} 或 \op{-self}, 同时也没有给出 \oarg{pkg}, 那么 \tlmgr 就会假定使用了 \op{-all}, 也就是说 \tlmgr{} \ac{update} \op{-\op{list}} 与 \tlmgr{} \ac{update} \op{-list} \op{-all} 是一样的. + \item \hypertarget{op:exclude}{\op{-exclude} \marg{pkg}} \par + 在更新程序中排除软件包 \marg{pkg} 本身以及所有平台特定的软件包, 比如 + \begin{quote} + \tlmgr{} \ac{update} \op{-all} \op{-exclude} \texttt{a2ping} + \end{quote} + 将不会升级 \texttt{a2ping}, \texttt{a2ping.i386-linux}, 以及任何其它的 \texttt{a2ping.xxx} 软件包. + + 如果这个选项指定了一个宏包, 程序将会在以下情况报错并退出: \marg{pkg} 将被自动安装, \marg{pkg} 将被自动移除, 或者 \marg{pkg} 是被手动删除并需要被重新安装\footnote{reinstallation of a forcibly removed package.}的时候. \op{-exclude} 选项不支持这些情况. + \item \op{-no-dependent}\par + 如果用户升级一个软件包, 正常情况下所有依赖的软件包在必要的情况下都会被升级. 这个选项会抑致这个行为. + \item \hypertarget{op:-reinstall-forcibly-removed}{\op{-reinstall-forcibly-removed}}\par + 在通常情况下 \tlmgr 不会自动安装那些被用户强制删除的软件包, 比如被 \ac{remove} \op{-force} 删除, 在之前的升级中被选项 \op{-no-auto-install} 禁止安装, 或者在升级操作中意外终止时正在升级的软件包. + \item \op{-no-auto-remove} \oarg{pkgs}\par + 默认状态下, \tlmgr 将会尝试删除存在于集合中但是在服务器中已经被删除的软件包. 这个选项会阻止这些删除操作, 如果同时指定 \op{-all} 则范围为全部软件包, 如果指定 \oarg{pkgs}, 则范围为给定的软件包. 这可能导致 \TeX 安装的不一致, 因为软件包的作者可能重命名软件包或者改变软件包的位置, 所以这个选项不推荐使用\footnote{This can lead to an inconsistent TeX installation, since packages are not infrequently renamed or replaced by their authors. Therefore this is not recommended.}. + \item \op{-no-auto-install} \oarg{pkgs}\par + 默认状态下, \tlmgr 会自动安装服务器上的新软件包, 与指定选项 \op{-all} 的效果相同. 这个选项阻止了所有的自动安装, 如果同时指定 \op{-all} 则范围为全部软件包, 如果指定 \oarg{pkgs}, 则范围为给定的软件包. + + 此外, 在 \op{-no-auto-install} 选项下完成升级之后, 那些应该被自动安装的软件包会被认为成\textbf{被用户强制删除的}. 所以, 如果 \texttt{foobar} 是唯一一个服务器上新增的软件包, 那么 + \begin{quote} + \tlmgr{} \ac{update} \op{-all} \op{-no-auto-install} + \end{quote} + 等价于 + \begin{quote} + \tlmgr{} \ac{upadte} \op{-all}\\ + \tlmgr{} \ac{remove} \op{-force} \texttt{foobar} + \end{quote} + 同样地, 因为软件包的作者可能重命名软件包或者改变软件包的位置, 所以这个选项不推荐使用. + \item \hypertarget{op:backup}{\op{-backup}, \op{-backupdir} \marg{dir}}\par + 这两个选项会在\textbf{升级之前}创建软件包的备份, 也就是说会备份升级之前最新的软件包, 如果不指定这两个选项, 那么将不会创建备份. 如果指定了 \op{-backupdir} 同时 \marg{dir} 是一个可写且有足够空间的路径, 那么 \tlmgr 将会在这个路径下创建备份文件. 如果仅指定了 \op{-backup}, 那么备份将会被创建在 \nameref{subsec:option} 小节中设置的位置, 默认在 \tl 根目录下的 \texttt{texlive//tlpkg/backups} 中. + + \textbf{注}: \href{https://www.tug.org/texlive/doc/tlmgr.html#update-option...-pkg}{tlmgr 文档} 原文为: If neither option is given, no backup will made. 但是 \tlmgr 在 \tl{}2010 以后将自动备份关键词 \key{autobackup} 默认设置为 1, 也就是说, 即使不使用 \op{-backup} 选项, 也会自动将软件包备份在默认位置, 方便用户使用 \nameref{subsec:restore} 操作回滚. 更新日志见 \href{https://www.tug.org/texlive/doc/texlive-en/texlive-en.html#x1-780009.1.7}{texlive-en} + + \item \op{-force}\par + 强制升级所有软件包, 不包括 \tlmgr 本身, 除非同时指定了 \op{-self} 选项. 不推荐. + + 同样地, \ac{update} \op{-list} 将会无视这个选项按它本身该有的样子显示. +\end{description} + +\textbf{注意}: 如果本地安装的软件包的版本高于服务器端的时候 (比如设置的镜像站过时了), \tlmgr 会忽略这个软件包而不进行降级. + +\clearpage + +\subsection{\mdseries{\ac{restore}}}\label{subsec:restore} + +\paragraph{使用方法:} + +\begin{quote} + \ac{restore} \oarg{pkg} \oarg{revision} \\ + \ac{restore} \marg{\upshape -all} +\end{quote} + +这个操作将从之前的备份中回滚软件包版本. + +如果指定了 \marg{\upshape -all}, 那么将会从可找到的备份中回滚所有的软件包版本. + +如果不指定 \oarg{pkg} 与 \oarg{revision}, 那么将列出所有软件包的可用备份的版本. + +如果指定了 \oarg{pkg} 但是没有指定 \oarg{revision}, 那么就列出软件包 \oarg{pkg} 的所有可用的备份版本, 比如使用 \tlmgr{} \ac{restore} \texttt{fancyhdr}, 那么将会得到如下形式的输出 +\begin{verbatim} + Available backups for fancyhdr: xxxxx (yyyy-MM-dd HH:mm) +\end{verbatim} +其中 \texttt{xxxxx} 为 \texttt{fancyhdr} 可用备份的版本号. + +当且仅当同时指定 \oarg{pkg} 与一个可用的版本号 \oarg{revision} 时, \tlmgr 会从备份中将 \oarg{pkg} 回滚到版本 \oarg{revision}. + +\paragraph{\textmd{\ac{restore}}的特有选项:} +\begin{description} + \item \op{-all}\par + 尝试从从可找到的备份中回滚所有的软件包版本. 其他的非选项 (non-option) 的参数, 如 \oarg{pkg} 将不可用. + \item \op{-backupdir} \marg{dir}\par + 指定一个供 \tlmgr 获取备份的路径, 如果不使用这个选项, 那么 \tlmgr 就会使用从 TLPDB 的配置文件. + \item \op{-dry-run}\par + 在终端显示将要执行的操作, 而不进行回滚. + \item \op{-force}\par + 强制进行回滚\footnote{原文为: Don't ask questions.}. + \item \op{-json}\par + 将输出打印为 JSON 样式. +\end{description} + +\clearpage + +\subsection{\mdseries{\ac{remove}}}\label{subsec:remove} + +\paragraph{使用方法:} + +\begin{quote} + \tlmgr{} \ac{remove} \marg{pkgs} +\end{quote} + +移除 \marg{pkgs} 中给出的软件包. 如果要移除一个集合, 那么将移除这个集合下的所有软件包. 除非指定了 \op{-no-depends}, 入市不移除这个集合下的任何集合. 然而, 当移除一个软件包的时候, 它的从属永远不会被移除. + +\paragraph{\textmd{\ac{remove}}的特有选项:} +\begin{description} + \item \op{-dry-run}\par + 在终端显示将要执行的操作, 而不进行实质的删除. + \item \op{-no-depends}\par + 不移除从属软件包. + \item \op{-all}\par + 卸载整个 \tl, 会询问用户是否删除, 除非指定了 \op{-force} 选项. 该命令可以在 Linux 下正常工作. 在 Windows 下, \tlmgr{} \ac{remove} \op{-all} 会返回 + \begin{quote} + \ttfamily Please use "Add/Remove Programs" from the Control Panel to removing TeX Live! + \end{quote} + 如果在 Windows 下卸载 \tl. 可以在命令行中运行 + \begin{quote} + \texttt kpsewhich -var-value TEXMFROOT + \end{quote} + 查看 \verb|$TEXMFROOT| 的路径, 然后运行 \verb|$TEXMFROOT\tlpkg\installer\uninst.bat| 来进行卸载. + \item \op{-force}\par + 默认状态下, 移除一个软件包或者一个集合的从属集合是不允许的. 使用这个选项可以无条件地轶软件包, 要谨慎使用. + + 如果使用 \tlmgr{} \ac{remove} \op{-force} 移除了一个软件包, 那它在 \tlmgr{} \ac{update} \op{-list} 中被认为是 \texttt{forcibly removed}. +\end{description} + +\clearpage + +\subsection{\mdseries{\ac{option}}}\label{subsec:option} +\paragraph{使用方法:} + +\begin{quote} + \tlmgr{} \ac{option} \\ + \tlmgr{} \ac{option} \texttt{help} \\ + \tlmgr{} \ac{option} \marg{key} \\ + \tlmgr{} \ac{option} \marg{key} \oarg{value} +\end{quote} + +\begin{enumerate}[(1)] + \item 第一种形式列出当前的全局 \tl 设置, 带有一个简短的介绍, 每一种设置里括号中的词就是修改这个设置需要的 \key{key}, 比如要修改备份文件的路径 可以使用 \tlmgr{} \ac{option} \key{backupdir} \oarg{dir}. + \begin{quote} + \ttfamily Directory for backups (\textbf{backupdir}): tlpkg/backups + \end{quote} + \item 第二种形式与第一种很像, 它会在 \tlmgr{} \ac{option} 的基础上列出可以被设置但是当前没有值的选项, + \item 第三种形式是列出 \marg{key} 对应的值, + \item 第四种形式将 \marg{key} 的值设置为 \oarg{value} +\end{enumerate} + +表 \ref{tab:option} 中是一些可用的 \marg{key} 值. 使用 \tlmgr{} \ac{option} \key{help} 来获得更详细的列表 + +\begin{table}[!hpb] + \caption{\tlmgr{} \ac{option} 的部分可用选项}\label{tab:option} + \begin{center} + \begin{small} + \begin{tabular}{>{\ttfamily}ll} + autobackup & 升级操作是否备份,\\ + backupdir & 备份文件的位置,\\ + repository & 默认的软件包仓库,\\ + docfiles & 安装文档文件,\\ + srcfiles & 安装源文件,\\ + sys\_bin & 通过 \texttt{path} 操作链接到的可执行文件的目录\\ + sys\_man & 通过 \texttt{path} 操作链接到的手册文件的目录\\ + sys\_info& 通过 \texttt{path} 动作链接到的信息文件的目录\\ + desktop\_integration & 仅 Windows: 创建开始菜单的快捷方式\\ + fileassocs& 仅 Windows: 改变文件关联\\ + multiuser & 仅 Windows: 为所有用户安装\\ + \end{tabular} + \end{small} + \end{center} +\end{table} + + +一个常见 \ac{option} 的用法是它可以在从 DVD 安装以后, 永久地改变安装的设置来通过互联网获得更新. 比如, 用户可以使用 +\begin{quote} + \tlmgr{} \ac{option} \key{repository} \val{ctan} +\end{quote} +来从一个附近的 CTAN 镜像来获得更新. + +但是中国大陆用户可能无法获取到实际``附近''的镜像站, 很多时候需要用户手动指定大陆地区的源. 详细信息见 \nameref{app:mirror} 一节. + +\key{docfiles} 与 \key{srcfiles} 分别控制着每个软件包的文件组 (文档, 源文件)\footnote{The \texttt{\scriptsize docfiles} and \texttt{\scriptsize srcfiles} keys control the installation of their respective file groups documentation, sources; grouping is approximate) per package.} 这两个 \marg{key} 的默认值都是 \texttt{1}, 如果用户的硬盘空间不足, 或者只是想做一个最小的安装测试, 那么每一个都可以被修改成 \texttt{0}, 这样就不会再下载这些相关的文件了. + +\key{sys\_bin}, \key{sys\_man}, \key{sys\_info} 选项是在 Unix 系统上使用的, 控制着对于可执行文件, 信息文件, 手册页面链接的生成. 详细信息见 \href{https://www.tug.org/texlive/doc/tlmgr.html#path}{path} 操作 + +其余的选项控制着 Windows 安装的表现. +\begin{itemize} + \item 如果设置了 \key{desktop\_integration}, 那么一些软件包将会把文件安装在开始菜单的 \tlmgr{} \ac{gui} 中, 比如文档等等. + \item 如果设置了 \key{fileassocs}, 将会建立 Windows 下的文件关联. 见 \href{https://www.tug.org/texlive/doc/tlmgr.html#postaction}{\ac{postaction}} 操作. + \item 如果设置了 \key{multiuser}, 那么对注册表和菜单的调整将针对系统上的所有用户, 而不仅仅是当前用户. +\end{itemize} +这三个选项默认都是开启的. + +\clearpage + +\subsection{\mdseries{\ac{backup}}}\label{subsec:backup} +\paragraph{使用方法:} + +\begin{quote} + \tlmgr{} \ac{backup} \marg{pkgs\textup{|-all}} +\end{quote} + +如果没有指定 \op{-clean} 选项, 那么这个操作会在默认位置, 为 \marg{pkgs} 中的每一个软件包创建一个备份文件, 如果使用了 \texttt{-all} 选项, 那么将创建全部软件包的备份. + +备份文件的位置由 \op{-backupdir} \marg{dir} 指定, 前提是 \marg{dir} 存在且可写. 如果没有指定 \op{-backupdir}, 那么就会使用 TLPDB 设置中的 \key{backupdir} 路径. 如果二者皆空, 那么就不会创建备份. 关于 \op{backupdir} 的信息可以参考 \ac{update} 操作的 \hyperlink{op:backup}{\op{-backupdir}} 选项. + +如果指定了 \op{-clean} 选项, 那么将会删除备份文件, 而不是创建备份. 这个选项有一个可选的整数值 \texttt{N} 来指定清理时保留的备份数量. 如果没有指定 \texttt{N}, 那么将会使用 \key{autobackup} 的值, 它在 TLPDB 中的默认值为 \texttt{1}, 如果二者皆空, 那么将会报错. + +\paragraph{\textmd{\ac{backup}}的特有选项:} +\begin{description} + \item \op{-backupdir} \marg{dir}\par + 临时盖 TLPDB 中 \key{backupdir} 的值, 参数 \marg{dir} 必须指定, 这是备份文件存放的路径, 它必须要存在且可写. + \item \op{-all}\par + 如果没有指定 \op{-clean} 选项, 那么创建一个 \tl 安装过的所有软件包的备份, 这会消耗大量的存储空间与时间, 如果指定了 \op{-clean} 选项, 所有的备份将被删除. + \item \op{-clean[=N]}\par + 删除备份目录 \key{backupdir} 中的旧备份, 而不创建备份. 可选整数参数 \texttt{N} 会临时覆盖 TLPDB 中的 \key{autobackup} 的值, 如果使用这个选项, 那么必须要指定 \op{-all} 或者一列软件包. + \item \op{-dry-run}\par + 在终端显示将要执行的操作, 而不进行备份. +\end{description} + diff --git a/info/tlmgr-intro-zh-cn/body/examples.tex b/info/tlmgr-intro-zh-cn/body/examples.tex new file mode 100644 index 0000000000..7df3973e91 --- /dev/null +++ b/info/tlmgr-intro-zh-cn/body/examples.tex @@ -0,0 +1,22 @@ +% !TeX root = ../tlmgr-intro-zh-cn.tex + +\section{例子}\label{sec:examples} + +在成功安装 \tl 后, 可以使用一些 \tlmgr 上的常用配置. + +\begin{description} + \item \tlmgr{} \ac{option} \key{repository} \val{ctan}\par + 告诉 \tlmgr 它可以从一个附近的 CTAN 镜像去获取最近的更新. + \item \tlmgr{} \ac{update} \op{-list}\par + 列出所有可以被更新的内容. + \item \tlmgr{} \ac{update} \op{-all}\par + 更新全部的安装包. + \item \tlmgr{} \ac{update} \op{-self}\par + 升级 \tlmgr 本身. + \item \tlmgr{} \ac{info} \marg{pkgs}\par + 列出 \marg{pkgs} 的详细信息, 比如它们的安装状态, 版本号, 介绍等等. + \item \tlmgr{} \ac{update} \op{--reinstall-forcibly-removed} \op{--all}\par + 当使用 \tlmgr{} 升级宏包到一半时因为意外终止, 运行该命令来继续没有完成的升级, 详见 \nameref{subsec:update} 的 \hyperlink{op:-reinstall-forcibly-removed}{\op{-reinstall-forcibly-removed}} 选项. +\end{description} + + diff --git a/info/tlmgr-intro-zh-cn/body/mirrors.tex b/info/tlmgr-intro-zh-cn/body/mirrors.tex new file mode 100644 index 0000000000..e82ec8bc2b --- /dev/null +++ b/info/tlmgr-intro-zh-cn/body/mirrors.tex @@ -0,0 +1,53 @@ +% !TeX root = ../tlmgr-intro-zh-cn.tex +\section{中国大陆地区的源}\label{app:mirror} + +如果要更换大陆地区的源, 需要使用\footnote{这一节的内容来自 \href{https://www.tug.org/texlive/doc/texlive-zh-cn/texlive-zh-cn.pdf}{install-latex-guide-zh-cn}} +\begin{quote} + \tlmgr{} \ac{option} \key{repository} \marg{url}\texttt{/tlnet} +\end{quote} +需要将 \marg{url} 更换为表 \ref{tab:appendix:mirror} 中的 \tl 源地址. +\begin{table}[!hb] + \centering + \caption{大陆地区目前可用的源 (名称按拼音排序)}\label{tab:appendix:mirror} + \begin{tabular}{*{2}{l}} + \toprule + 镜像站名称 & \tl 源地址\\\midrule + \href{https://developer.aliyun.com/mirror/}{阿里云} + & \url{https://mirrors.aliyun.com/CTAN/systems/texlive/}\\ + \href{https://mirror.bjtu.edu.cn/}{北京交通大学} + & \url{https://mirror.bjtu.edu.cn/ctan/systems/texlive/}\\ + \href{https://mirrors.bit.edu.cn/web/}{北京理工大学} + & \url{https://mirrors.bit.edu.cn/CTAN/systems/texlive/}\\ + \href{https://mirrors.bfsu.edu.cn/}{北京外国语大学} + & \url{https://mirrors.bfsu.edu.cn/CTAN/systems/texlive/}\\ + \href{https://mirrors.cqu.edu.cn/}{重庆大学} + & \url{https://mirrors.cqu.edu.cn/CTAN/systems/texlive/}\\ + \href{https://mirrors.dgut.edu.cn/}{东莞理工学院} + & \url{https://mirrors.dgut.edu.cn/CTAN/systems/texlive/}\\ + \href{https://mirrors.hit.edu.cn/}{哈尔滨工业大学} + & \url{https://mirrors.hit.edu.cn/CTAN/systems/texlive/}\\ + \href{https://mirrors.huaweicloud.com/}{华为云} + & \url{https://mirrors.huaweicloud.com/CTAN/systems/texlive/}\\ + \href{http://mirrors.hust.edu.cn/}{华中科技大学} + & \url{http://mirrors.hust.edu.cn/CTAN/systems/texlive/}\\ + \href{https://mirror.lzu.edu.cn/}{兰州大学} + & \url{https://mirror.lzu.edu.cn/CTAN/systems/texlive/}\\ + \href{https://mirrors.nju.edu.cn/}{南京大学} + & \url{https://mirrors.nju.edu.cn/CTAN/systems/texlive/}\\ + \href{https://mirrors.tuna.tsinghua.edu.cn/}{清华大学} + & \url{https://mirrors.tuna.tsinghua.edu.cn/CTAN/systems/texlive/}\\ + \href{https://mirrors.sjtug.sjtu.edu.cn/}{上海交通大学} + & \url{https://mirrors.sjtug.sjtu.edu.cn/ctan/systems/texlive/}\\ + \href{https://mirrors.geekpie.club/}{上海科技大学} + & \url{https://mirrors.geekpie.club/CTAN/systems/texlive/}\\ + \href{https://mirrors.cloud.tencent.com/}{腾讯云} + & \url{https://mirrors.cloud.tencent.com/CTAN/systems/texlive/}\\ + \href{https://mirrors.ustc.edu.cn/}{中国科学技术大学} + & \url{https://mirrors.ustc.edu.cn/CTAN/systems/texlive/}\\ + % \href{https://mirrors.zju.edu.cn/}{浙江大学} + % & \url{https://mirrors.zju.edu.cn/CTAN/systems/texlive/}\\ + % \href{http://mirror.neu.edu.cn/}{东北大学} + % & \url{http://mirror.neu.edu.cn/CTAN/systems/texlive/}\\ + \bottomrule + \end{tabular} +\end{table} \ No newline at end of file diff --git a/info/tlmgr-intro-zh-cn/body/options.tex b/info/tlmgr-intro-zh-cn/body/options.tex new file mode 100644 index 0000000000..68f73d6785 --- /dev/null +++ b/info/tlmgr-intro-zh-cn/body/options.tex @@ -0,0 +1,20 @@ +% !TeX root = ../tlmgr-intro-zh-cn.tex +\section{全局选项 (GLOBAL OPTIONS)} +\begin{description} + \item \op{-help}, \op{-h}, \op{-?}\par + 这些选项可以显示任何一个操作的参考文档. + \item \op{-version}\par + 显示 \tl 发行版以及 \tlmgr 本身的版本信息, 如果同时指定了 \op{-v} 选项, \tl{} Perl 模块的版本号也会被显示. + \item \op{-q}\par + 抑致输出信息的生成. + \item \op{-v}\par + 显示调试信息, 重复使用 \op{-v} 来显示更多的调试信息. + \item \op{-command-logfile} \marg{file}\par + \tlmgr 把所有程序 (\texttt{mktexlr}, \texttt{mtxrun}, \texttt{fmtutil}, \texttt{updmap}) 的输出都记录在了一个 log 文件中, 这个文件默认在 \texttt{TEXMFSYSVAR/web2c/tlmgr-commands.log}. 这个选项允许用户把日志存放在 \marg{file} 中. + \item \op{-package-logfile} \marg{file}\par + \tlmgr 把所有对软件包的操作 (\ac{install}, \ac{remove}, \ac{update}, failed updates, failed restores) 记录在一个 log 文件中, 这个文件默认在 \texttt{TEXMFSYSVAR/web2c/tlmgr.log}. 这个选项允许用户把日志存放在 \marg{file} 中. + \item \op{-pause}\par + 这个选项让 \tlmgr 在退出之前等待用户输入. 可以有效地防止 Windows 10 中命令行窗口在运行后直接消失. + \item \op{-repository} \marg{url\textup{|}path}\par + 用来临时修改当前命令的仓库位置, 可以选择远端位置 \marg{url} 或者本地位置 \marg{path}, 如果想更改默认仓库位置, 可以使用 \tlmgr{} \ac{option} \key{repository}, 见 \nameref{subsec:option}. +\end{description} \ No newline at end of file diff --git a/info/tlmgr-intro-zh-cn/body/preface.tex b/info/tlmgr-intro-zh-cn/body/preface.tex new file mode 100644 index 0000000000..96c2bdd0cf --- /dev/null +++ b/info/tlmgr-intro-zh-cn/body/preface.tex @@ -0,0 +1,22 @@ +% !TeX root = ../tlmgr-intro-zh-cn.tex +\section*{前\quad 言} +\addcontentsline{toc}{section}{前言} + +这个文档是对 \href{https://www.tug.org/texlive/devsrc/Master/texmf-dist/doc/latex/tlmgrbasics/tlmgr.pdf}{\texttt{texdoc tlmgr}} 的翻译以及补充. 由于翻译水平与专业知识有限, 文档中有一些词汇和语句翻译的并不好, 如果您有更好的翻译或者纠正我的错误, 可以在该项目处提出 \href{https://github.com/syvshc/tlmgr-intro-zh-cn/issues}{issue} 或者 \href{https://github.com/syvshc/tlmgr-intro-zh-cn/pulls}{PR}. + +\tlmgr 管理着 \tl 的安装, 包括软件包以及配置选项. 如果还没有安装 \tl, 可以参考 \href{https://www.tug.org/texlive/devsrc/Master/texmf-dist/doc/latex/install-latex-guide-zh-cn/install-latex-guide-zh-cn.pdf}{install-latex-guide-zh-cn} 与 \href{https://www.tug.org/texlive/doc/texlive-zh-cn/texlive-zh-cn.pdf}{texlive-zh-cn} 进行安装. + +\tl 是由一些最高级别的\textbf{安装方案} (schemes) 构成的, 每一种方案中包含一些\textbf{集合} (collections) 和\textbf{软件包} (packages), 而每一个集合中也包含了一些软件包, 软件包中包含了一些可以看到的文件. 在安装 \tl 的时候, 我们可以选择在不同的级别来进行安装和管理. 比如在安装的时候可以只选则安装最小的安装方案 \texttt{minimal scheme (plain only)}, 以及一部分语言和功能的集合, 比如 \texttt{Chinese} 与 \texttt{LaTeX additional packages} + +\begin{center} + \includegraphics[height=4cm]{scheme.png} \quad + \includegraphics[height=4cm]{collection.png} + \captionof{figure}{Schemes 与 collections} +\end{center} + +使用 \tlmgr 管理这些安装方案, 集合和软件包是很有必要的, 但是 \href{https://www.tug.org/texlive/doc/tlmgr.html}{\tlmgr 官方文档} 过于冗长, 有很多一般用户接触不到的功能, 在这里将它简化, 拿出一些比较基础使用的命令来介绍. + +\tlmgr 也提供了图形界面: \texttt{tlshell}, \texttt{tlcockpit}, 在 Mac 上, 有 \tl{} Utility, 这些都需要启动另外的程序, 这篇简介只介绍命令行下的使用, 关于图形界面的使用可以看 +\begin{center} + \url{https://tug.org/texlive/doc/tlmgr.html#GUI-FOR-TLMGR}. +\end{center} \ No newline at end of file diff --git a/info/tlmgr-intro-zh-cn/body/syntex.tex b/info/tlmgr-intro-zh-cn/body/syntex.tex new file mode 100644 index 0000000000..cf5592d1aa --- /dev/null +++ b/info/tlmgr-intro-zh-cn/body/syntex.tex @@ -0,0 +1,25 @@ +% !TeX root = ../tlmgr-intro-zh-cn.tex + +\section{基本格式与说明} + +\subsection{{\mdseries\tlmgr} 命令的基本格式:} + + +% \begin{lstlisting} +% +\tlmgr+ [+\textit{global option}+] <+\textit{action}+> [+\textit{action-specific option}+] [+\textit{operand}+] +% \end{lstlisting} + +\begin{quote} + \tlmgr{} \texttt{[}\op{\textit{global options}}\texttt{]} \texttt{<}\ac{\textit{action}}\texttt{>} \texttt{[}\op{\textit{action-specific options}}\texttt{]} \oarg{operand} +\end{quote} + +\subsection{文档记号说明} + +\begin{enumerate}[(1)] + \item \tlmgr 的\textbf{选项} (option) 分为全局选项与特定命令的选项, 它们一般以 \texttt{-} 或 \texttt{-{}-} 开头. 但是所有的选项可以在一条命令的任意位置, 按任意顺序调用. 一条命令中第一个不是选项的参数会称为这条命令的主要\textbf{操作} (action). + \item 在所有的情况中, \texttt{-option} 与 \texttt{-{}-option} 等价. + \item 文档中被中括号 \texttt{[arg]} 框起来的为可选参数, 如 \texttt{install [\textit{option}]}, + \item 文档中被尖括号 \texttt{} 框起来的为必选参数, 如 \texttt{info <\textit{pkg}>}, + \item 文档中被竖线 \texttt{|} 分隔的参数为 $ n $ 选 $ 1 $, 如 \op{-repository} \marg{url\textup{|}path} 表示选项 \op{-repository} 后面可以选择远端地址 \texttt{\textit{url}} 或本地位置 \texttt{\textit{path}}, + \item 文档中用斜体标出的参数 \texttt{\textit{arg}} 表示参数的类型, 用直立体标出的参数 \texttt{arg} 表示参数需要直接填 \texttt{arg}, 比如 \ac{backup} \marg{pkgs\textup{|-all}} 表示 \ac{backup} 操作后可以跟参数 \texttt{-all} 或软件包类型的参数. +\end{enumerate} diff --git a/info/tlmgr-intro-zh-cn/fig/collection.png b/info/tlmgr-intro-zh-cn/fig/collection.png new file mode 100644 index 0000000000..3a926bd590 Binary files /dev/null and b/info/tlmgr-intro-zh-cn/fig/collection.png differ diff --git a/info/tlmgr-intro-zh-cn/fig/scheme.png b/info/tlmgr-intro-zh-cn/fig/scheme.png new file mode 100644 index 0000000000..a6b8c2c0f8 Binary files /dev/null and b/info/tlmgr-intro-zh-cn/fig/scheme.png differ diff --git a/info/tlmgr-intro-zh-cn/latexmkrc b/info/tlmgr-intro-zh-cn/latexmkrc new file mode 100644 index 0000000000..da26b8509c --- /dev/null +++ b/info/tlmgr-intro-zh-cn/latexmkrc @@ -0,0 +1,33 @@ + +@default_files = ('tlmgr-intro-zh-cn.tex'); + +# Cleanup mode +# [2 is for doing aux files cleanup before building, ex] +# [1 is for doing ALL output files cleanup] +# [0 is for not doing cleanup] +$cleanup_mode = 0; + +# Use XeLaTeX to compile. +# [5 is XeLaTeX] +$pdf_mode = 1; + +$clean_ext = "synctex.gz acn acr alg aux bbl bcf blg brf fdb_latexmk glg glo gls idx ilg ind lof log lot out run.xml toc pdf thm toe ist idx"; + +# Preview mode & Auto complie after save. +$preview_continuous_mode = 0; + +# Set XeLaTeX option. +$pdflatex = "xelatex -halt-on-error -interaction=nonstopmode -synctex=1 %O %S"; + +# Process index. [Use Chinese index program] +# $makeindex = 'zhmakeindex %O -o %D %S'; + +# Preview mode +# [1 is for running a previewer after building] +# [0 is for not running it] +# $preview_mode = 1; + + +$show_time=1; + +$sleep_time=1; \ No newline at end of file diff --git a/info/tlmgr-intro-zh-cn/tlmgr-intro-zh-cn.pdf b/info/tlmgr-intro-zh-cn/tlmgr-intro-zh-cn.pdf new file mode 100644 index 0000000000..7b5dbfa347 Binary files /dev/null and b/info/tlmgr-intro-zh-cn/tlmgr-intro-zh-cn.pdf differ diff --git a/info/tlmgr-intro-zh-cn/tlmgr-intro-zh-cn.sty b/info/tlmgr-intro-zh-cn/tlmgr-intro-zh-cn.sty new file mode 100644 index 0000000000..c3dffa45dd --- /dev/null +++ b/info/tlmgr-intro-zh-cn/tlmgr-intro-zh-cn.sty @@ -0,0 +1,67 @@ +\NeedsTeXFormat{LaTeX2e} +\ProvidesPackage{tlmgr-intro-zh-cn}[2021/04/20 Package for tlmgr-intro-zh-cn] + +% 版式设计 +\RequirePackage[margin=2.4cm]{geometry} +\RequirePackage{fancyhdr} +\pagestyle{fancy} +\RequirePackage{tocloft} +\renewcommand{\cftsecleader}{\bfseries\cftdotfill{\cftdotsep}} +\RequirePackage{FiraMono} + +% 超链接与颜色 +\RequirePackage[colorlinks]{hyperref} +\RequirePackage[dvipsnames]{xcolor} +\hypersetup{linkcolor = Purple} + +\RequirePackage{listings} +\RequirePackage[shortlabels]{enumitem} + +% 浮动体 +\RequirePackage{tabularx} +\RequirePackage{booktabs} +\RequirePackage{graphicx} +\RequirePackage{caption} +\graphicspath{{./fig/}} + +\lstset{ + basicstyle = {\ttfamily}, + keywordstyle = \color{blue}\bfseries, + commentstyle = \color{gray}, + stringstyle = \color{brown}, + breaklines = true, + gobble = 2, + escapechar = +, +} + +\ctexset{ + section = { + % afterskip = {}, + format = \Large\bfseries\raggedright, + number = \arabic{section}, + name = {}, + }, + subsection = { + afterskip = {1.5ex plus .2ex}, + format = \large\bfseries\raggedright, + } +} + +\newcommand{\tlmgr}{\texttt{tlmgr}} +\newcommand{\tl}{\TeX\,Live} + +\newcommand{\marg}[2][\textit]{\texttt{<#1{#2}>}} +\newcommand{\oarg}[2][\textit]{\texttt{[#1{#2}]}} +\newcommand{\op}[1]{\texttt{#1}} +\newcommand{\ac}[1]{\texttt{#1}} +\newcommand{\key}[1]{\texttt{#1}} +\newcommand{\val}[1]{\texttt{#1}} + +% textlabel from https://tex.stackexchange.com/questions/54854/reference-plain-text +% \makeatletter +% \newcommand*{\textlabel}[2]{% +% \edef\@currentlabel{#1}% Set target label +% \phantomsection% Correct hyper reference link +% #1\label{#2}% Print and store label +% } +% \makeatother \ No newline at end of file diff --git a/info/tlmgr-intro-zh-cn/tlmgr-intro-zh-cn.tex b/info/tlmgr-intro-zh-cn/tlmgr-intro-zh-cn.tex new file mode 100644 index 0000000000..00068522b5 --- /dev/null +++ b/info/tlmgr-intro-zh-cn/tlmgr-intro-zh-cn.tex @@ -0,0 +1,22 @@ +\documentclass[fontset=fandol, 9pt]{ctexart} +\usepackage{tlmgr-intro-zh-cn} +\title{\bfseries 关于 {\mdseries\texttt{tlmgr}} 使用方法的简介% +\thanks{\url{https://www.github.com/syvshc/tlmgr-intro-zh-cn}}% +} +\author{Zhonghao Sun\thanks{\href{mailto:syvshc@foxmail.com}% +{\ttfamily syvshc@foxmail.com}}% +} +\date{2020.4.20} +\begin{document} + \maketitle + + \include{./body/preface} + \tableofcontents + \clearpage + \include{./body/syntex.tex} + \include{./body/examples} + \include{./body/options} + \include{./body/actions} + \appendix + \include{./body/mirrors} +\end{document} -- cgit v1.2.3