diff options
author | Karl Berry <karl@freefriends.org> | 2019-07-30 21:15:18 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2019-07-30 21:15:18 +0000 |
commit | e218d5026eb23c6fc1d9d81852c31de2f771bee1 (patch) | |
tree | 32077dfd4f9b025a9e101be5ca3bb0c820e79f30 | |
parent | 161fbf358154d8331102533f2502b0142508311c (diff) |
ragged2e (30jul19)
git-svn-id: svn://tug.org/texlive/trunk@51780 c570f23f-e606-0410-a88d-b1316a301751
-rw-r--r-- | Master/texmf-dist/doc/latex/ragged2e/LICENSE | 416 | ||||
-rw-r--r-- | Master/texmf-dist/doc/latex/ragged2e/README | 28 | ||||
-rw-r--r-- | Master/texmf-dist/doc/latex/ragged2e/ragged2e.pdf | bin | 0 -> 636665 bytes | |||
-rw-r--r-- | Master/texmf-dist/doc/latex/ragged2e/raggtest.tex | 75 | ||||
-rw-r--r-- | Master/texmf-dist/doc/latex/ragged2e/test-koma.tex | 37 | ||||
-rw-r--r-- | Master/texmf-dist/doc/latex/ragged2e/test1.tex | 61 | ||||
-rw-r--r-- | Master/texmf-dist/doc/latex/ragged2e/test2.tex | 61 | ||||
-rw-r--r-- | Master/texmf-dist/source/latex/ragged2e/Makefile | 31 | ||||
-rw-r--r-- | Master/texmf-dist/source/latex/ragged2e/ragged2e.drv | 117 | ||||
-rw-r--r-- | Master/texmf-dist/source/latex/ragged2e/ragged2e.dtx | 1397 | ||||
-rw-r--r-- | Master/texmf-dist/source/latex/ragged2e/ragged2e.ins | 107 | ||||
-rw-r--r-- | Master/texmf-dist/tex/latex/ragged2e/ragged2e.sty | 316 | ||||
-rwxr-xr-x | Master/tlpkg/bin/tlpkg-ctan-check | 2 | ||||
-rwxr-xr-x | Master/tlpkg/libexec/ctan2tds | 1 | ||||
-rw-r--r-- | Master/tlpkg/tlpsrc/collection-latexrecommended.tlpsrc | 1 | ||||
-rw-r--r-- | Master/tlpkg/tlpsrc/ragged2e.tlpsrc | 0 |
16 files changed, 2648 insertions, 2 deletions
diff --git a/Master/texmf-dist/doc/latex/ragged2e/LICENSE b/Master/texmf-dist/doc/latex/ragged2e/LICENSE new file mode 100644 index 00000000000..22443139013 --- /dev/null +++ b/Master/texmf-dist/doc/latex/ragged2e/LICENSE @@ -0,0 +1,416 @@ +The LaTeX Project Public License +=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- + +LPPL Version 1.3c 2008-05-04 + +Copyright 1999 2002-2008 LaTeX3 Project + Everyone is allowed to distribute verbatim copies of this + license document, but modification of it is not allowed. + + +PREAMBLE +======== + +The LaTeX Project Public License (LPPL) is the primary license under +which the LaTeX kernel and the base LaTeX packages are distributed. + +You may use this license for any work of which you hold the copyright +and which you wish to distribute. This license may be particularly +suitable if your work is TeX-related (such as a LaTeX package), but +it is written in such a way that you can use it even if your work is +unrelated to TeX. + +The section `WHETHER AND HOW TO DISTRIBUTE WORKS UNDER THIS LICENSE', +below, gives instructions, examples, and recommendations for authors +who are considering distributing their works under this license. + +This license gives conditions under which a work may be distributed +and modified, as well as conditions under which modified versions of +that work may be distributed. + +We, the LaTeX3 Project, believe that the conditions below give you +the freedom to make and distribute modified versions of your work +that conform with whatever technical specifications you wish while +maintaining the availability, integrity, and reliability of +that work. If you do not see how to achieve your goal while +meeting these conditions, then read the document `cfgguide.tex' +and `modguide.tex' in the base LaTeX distribution for suggestions. + + +DEFINITIONS +=========== + +In this license document the following terms are used: + + `Work' + Any work being distributed under this License. + + `Derived Work' + Any work that under any applicable law is derived from the Work. + + `Modification' + Any procedure that produces a Derived Work under any applicable + law -- for example, the production of a file containing an + original file associated with the Work or a significant portion of + such a file, either verbatim or with modifications and/or + translated into another language. + + `Modify' + To apply any procedure that produces a Derived Work under any + applicable law. + + `Distribution' + Making copies of the Work available from one person to another, in + whole or in part. Distribution includes (but is not limited to) + making any electronic components of the Work accessible by + file transfer protocols such as FTP or HTTP or by shared file + systems such as Sun's Network File System (NFS). + + `Compiled Work' + A version of the Work that has been processed into a form where it + is directly usable on a computer system. This processing may + include using installation facilities provided by the Work, + transformations of the Work, copying of components of the Work, or + other activities. Note that modification of any installation + facilities provided by the Work constitutes modification of the Work. + + `Current Maintainer' + A person or persons nominated as such within the Work. If there is + no such explicit nomination then it is the `Copyright Holder' under + any applicable law. + + `Base Interpreter' + A program or process that is normally needed for running or + interpreting a part or the whole of the Work. + + A Base Interpreter may depend on external components but these + are not considered part of the Base Interpreter provided that each + external component clearly identifies itself whenever it is used + interactively. Unless explicitly specified when applying the + license to the Work, the only applicable Base Interpreter is a + `LaTeX-Format' or in the case of files belonging to the + `LaTeX-format' a program implementing the `TeX language'. + + + +CONDITIONS ON DISTRIBUTION AND MODIFICATION +=========================================== + +1. Activities other than distribution and/or modification of the Work +are not covered by this license; they are outside its scope. In +particular, the act of running the Work is not restricted and no +requirements are made concerning any offers of support for the Work. + +2. You may distribute a complete, unmodified copy of the Work as you +received it. Distribution of only part of the Work is considered +modification of the Work, and no right to distribute such a Derived +Work may be assumed under the terms of this clause. + +3. You may distribute a Compiled Work that has been generated from a +complete, unmodified copy of the Work as distributed under Clause 2 +above, as long as that Compiled Work is distributed in such a way that +the recipients may install the Compiled Work on their system exactly +as it would have been installed if they generated a Compiled Work +directly from the Work. + +4. If you are the Current Maintainer of the Work, you may, without +restriction, modify the Work, thus creating a Derived Work. You may +also distribute the Derived Work without restriction, including +Compiled Works generated from the Derived Work. Derived Works +distributed in this manner by the Current Maintainer are considered to +be updated versions of the Work. + +5. If you are not the Current Maintainer of the Work, you may modify +your copy of the Work, thus creating a Derived Work based on the Work, +and compile this Derived Work, thus creating a Compiled Work based on +the Derived Work. + +6. If you are not the Current Maintainer of the Work, you may +distribute a Derived Work provided the following conditions are met +for every component of the Work unless that component clearly states +in the copyright notice that it is exempt from that condition. Only +the Current Maintainer is allowed to add such statements of exemption +to a component of the Work. + + a. If a component of this Derived Work can be a direct replacement + for a component of the Work when that component is used with the + Base Interpreter, then, wherever this component of the Work + identifies itself to the user when used interactively with that + Base Interpreter, the replacement component of this Derived Work + clearly and unambiguously identifies itself as a modified version + of this component to the user when used interactively with that + Base Interpreter. + + b. Every component of the Derived Work contains prominent notices + detailing the nature of the changes to that component, or a + prominent reference to another file that is distributed as part + of the Derived Work and that contains a complete and accurate log + of the changes. + + c. No information in the Derived Work implies that any persons, + including (but not limited to) the authors of the original version + of the Work, provide any support, including (but not limited to) + the reporting and handling of errors, to recipients of the + Derived Work unless those persons have stated explicitly that + they do provide such support for the Derived Work. + + d. You distribute at least one of the following with the Derived Work: + + 1. A complete, unmodified copy of the Work; + if your distribution of a modified component is made by + offering access to copy the modified component from a + designated place, then offering equivalent access to copy + the Work from the same or some similar place meets this + condition, even though third parties are not compelled to + copy the Work along with the modified component; + + 2. Information that is sufficient to obtain a complete, + unmodified copy of the Work. + +7. If you are not the Current Maintainer of the Work, you may +distribute a Compiled Work generated from a Derived Work, as long as +the Derived Work is distributed to all recipients of the Compiled +Work, and as long as the conditions of Clause 6, above, are met with +regard to the Derived Work. + +8. The conditions above are not intended to prohibit, and hence do not +apply to, the modification, by any method, of any component so that it +becomes identical to an updated version of that component of the Work as +it is distributed by the Current Maintainer under Clause 4, above. + +9. Distribution of the Work or any Derived Work in an alternative +format, where the Work or that Derived Work (in whole or in part) is +then produced by applying some process to that format, does not relax or +nullify any sections of this license as they pertain to the results of +applying that process. + +10. a. A Derived Work may be distributed under a different license + provided that license itself honors the conditions listed in + Clause 6 above, in regard to the Work, though it does not have + to honor the rest of the conditions in this license. + + b. If a Derived Work is distributed under a different license, that + Derived Work must provide sufficient documentation as part of + itself to allow each recipient of that Derived Work to honor the + restrictions in Clause 6 above, concerning changes from the Work. + +11. This license places no restrictions on works that are unrelated to +the Work, nor does this license place any restrictions on aggregating +such works with the Work by any means. + +12. Nothing in this license is intended to, or may be used to, prevent +complete compliance by all parties with all applicable laws. + + +NO WARRANTY +=========== + +There is no warranty for the Work. Except when otherwise stated in +writing, the Copyright Holder provides the Work `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 Work is with you. Should the Work prove defective, you assume +the cost of all necessary servicing, repair, or correction. + +In no event unless required by applicable law or agreed to in writing +will The Copyright Holder, or any author named in the components of the +Work, or any other party who may distribute and/or modify the Work as +permitted above, be liable to you for damages, including any general, +special, incidental or consequential damages arising out of any use of +the Work or out of inability to use the Work (including, but not limited +to, loss of data, data being rendered inaccurate, or losses sustained by +anyone as a result of any failure of the Work to operate with any other +programs), even if the Copyright Holder or said author or said other +party has been advised of the possibility of such damages. + + +MAINTENANCE OF THE WORK +======================= + +The Work has the status `author-maintained' if the Copyright Holder +explicitly and prominently states near the primary copyright notice in +the Work that the Work can only be maintained by the Copyright Holder +or simply that it is `author-maintained'. + +The Work has the status `maintained' if there is a Current Maintainer +who has indicated in the Work that they are willing to receive error +reports for the Work (for example, by supplying a valid e-mail +address). It is not required for the Current Maintainer to acknowledge +or act upon these error reports. + +The Work changes from status `maintained' to `unmaintained' if there +is no Current Maintainer, or the person stated to be Current +Maintainer of the work cannot be reached through the indicated means +of communication for a period of six months, and there are no other +significant signs of active maintenance. + +You can become the Current Maintainer of the Work by agreement with +any existing Current Maintainer to take over this role. + +If the Work is unmaintained, you can become the Current Maintainer of +the Work through the following steps: + + 1. Make a reasonable attempt to trace the Current Maintainer (and + the Copyright Holder, if the two differ) through the means of + an Internet or similar search. + + 2. If this search is successful, then enquire whether the Work + is still maintained. + + a. If it is being maintained, then ask the Current Maintainer + to update their communication data within one month. + + b. If the search is unsuccessful or no action to resume active + maintenance is taken by the Current Maintainer, then announce + within the pertinent community your intention to take over + maintenance. (If the Work is a LaTeX work, this could be + done, for example, by posting to comp.text.tex.) + + 3a. If the Current Maintainer is reachable and agrees to pass + maintenance of the Work to you, then this takes effect + immediately upon announcement. + + b. If the Current Maintainer is not reachable and the Copyright + Holder agrees that maintenance of the Work be passed to you, + then this takes effect immediately upon announcement. + + 4. If you make an `intention announcement' as described in 2b. above + and after three months your intention is challenged neither by + the Current Maintainer nor by the Copyright Holder nor by other + people, then you may arrange for the Work to be changed so as + to name you as the (new) Current Maintainer. + + 5. If the previously unreachable Current Maintainer becomes + reachable once more within three months of a change completed + under the terms of 3b) or 4), then that Current Maintainer must + become or remain the Current Maintainer upon request provided + they then update their communication data within one month. + +A change in the Current Maintainer does not, of itself, alter the fact +that the Work is distributed under the LPPL license. + +If you become the Current Maintainer of the Work, you should +immediately provide, within the Work, a prominent and unambiguous +statement of your status as Current Maintainer. You should also +announce your new status to the same pertinent community as +in 2b) above. + + +WHETHER AND HOW TO DISTRIBUTE WORKS UNDER THIS LICENSE +====================================================== + +This section contains important instructions, examples, and +recommendations for authors who are considering distributing their +works under this license. These authors are addressed as `you' in +this section. + +Choosing This License or Another License +---------------------------------------- + +If for any part of your work you want or need to use *distribution* +conditions that differ significantly from those in this license, then +do not refer to this license anywhere in your work but, instead, +distribute your work under a different license. You may use the text +of this license as a model for your own license, but your license +should not refer to the LPPL or otherwise give the impression that +your work is distributed under the LPPL. + +The document `modguide.tex' in the base LaTeX distribution explains +the motivation behind the conditions of this license. It explains, +for example, why distributing LaTeX under the GNU General Public +License (GPL) was considered inappropriate. Even if your work is +unrelated to LaTeX, the discussion in `modguide.tex' may still be +relevant, and authors intending to distribute their works under any +license are encouraged to read it. + +A Recommendation on Modification Without Distribution +----------------------------------------------------- + +It is wise never to modify a component of the Work, even for your own +personal use, without also meeting the above conditions for +distributing the modified component. While you might intend that such +modifications will never be distributed, often this will happen by +accident -- you may forget that you have modified that component; or +it may not occur to you when allowing others to access the modified +version that you are thus distributing it and violating the conditions +of this license in ways that could have legal implications and, worse, +cause problems for the community. It is therefore usually in your +best interest to keep your copy of the Work identical with the public +one. Many works provide ways to control the behavior of that work +without altering any of its licensed components. + +How to Use This License +----------------------- + +To use this license, place in each of the components of your work both +an explicit copyright notice including your name and the year the work +was authored and/or last substantially modified. Include also a +statement that the distribution and/or modification of that +component is constrained by the conditions in this license. + +Here is an example of such a notice and statement: + + %% pig.dtx + %% Copyright 2005 M. Y. Name + % + % This work may be distributed and/or modified under the + % conditions of the LaTeX Project Public License, either version 1.3 + % of this license or (at your option) any later version. + % The latest version of this license is in + % http://www.latex-project.org/lppl.txt + % and version 1.3 or later is part of all distributions of LaTeX + % version 2005/12/01 or later. + % + % This work has the LPPL maintenance status `maintained'. + % + % The Current Maintainer of this work is M. Y. Name. + % + % This work consists of the files pig.dtx and pig.ins + % and the derived file pig.sty. + +Given such a notice and statement in a file, the conditions +given in this license document would apply, with the `Work' referring +to the three files `pig.dtx', `pig.ins', and `pig.sty' (the last being +generated from `pig.dtx' using `pig.ins'), the `Base Interpreter' +referring to any `LaTeX-Format', and both `Copyright Holder' and +`Current Maintainer' referring to the person `M. Y. Name'. + +If you do not want the Maintenance section of LPPL to apply to your +Work, change `maintained' above into `author-maintained'. +However, we recommend that you use `maintained', as the Maintenance +section was added in order to ensure that your Work remains useful to +the community even when you can no longer maintain and support it +yourself. + +Derived Works That Are Not Replacements +--------------------------------------- + +Several clauses of the LPPL specify means to provide reliability and +stability for the user community. They therefore concern themselves +with the case that a Derived Work is intended to be used as a +(compatible or incompatible) replacement of the original Work. If +this is not the case (e.g., if a few lines of code are reused for a +completely different task), then clauses 6b and 6d shall not apply. + + +Important Recommendations +------------------------- + + Defining What Constitutes the Work + + The LPPL requires that distributions of the Work contain all the + files of the Work. It is therefore important that you provide a + way for the licensee to determine which files constitute the Work. + This could, for example, be achieved by explicitly listing all the + files of the Work near the copyright notice of each file or by + using a line such as: + + % This work consists of all files listed in manifest.txt. + + in that place. In the absence of an unequivocal list it might be + impossible for the licensee to determine what is considered by you + to comprise the Work and, in such a case, the licensee would be + entitled to make reasonable conjectures as to which files comprise + the Work. + diff --git a/Master/texmf-dist/doc/latex/ragged2e/README b/Master/texmf-dist/doc/latex/ragged2e/README new file mode 100644 index 00000000000..7458a57d739 --- /dev/null +++ b/Master/texmf-dist/doc/latex/ragged2e/README @@ -0,0 +1,28 @@ +========================================================================== + +The `ragged2e' package +Release 2019-07-28 +Copyright (C) 1996-2019 Martin Schröder (martin@oneiros.de) + +License: LPPL = LaTeX Project Public Licence +Maintenance Status: unmaintained + +Home page: + https://gitlab.com/hagenbuch/ragged2e + +If you need help for installation please visit: + https://texfaq.org/FAQ-inst-miktexstar + https://texfaq.org/FAQ-installthings + https://texfaq.org/FAQ-privinst + +If you need help using these packages please visit: + https://latex.org/forum/ + https://tex.stackexchange.com/ + https://golatex.de/ (German) + https://texwelt.de/ (German) + +If you think you may have found a bug in these packages, +or want to report a suggestion for improvement, please visit + https://gitlab.com/hagenbuch/ragged2e/issues + +Note that this package is *unmaintained*. diff --git a/Master/texmf-dist/doc/latex/ragged2e/ragged2e.pdf b/Master/texmf-dist/doc/latex/ragged2e/ragged2e.pdf Binary files differnew file mode 100644 index 00000000000..607a7c9ba3a --- /dev/null +++ b/Master/texmf-dist/doc/latex/ragged2e/ragged2e.pdf diff --git a/Master/texmf-dist/doc/latex/ragged2e/raggtest.tex b/Master/texmf-dist/doc/latex/ragged2e/raggtest.tex new file mode 100644 index 00000000000..5b10e30afe8 --- /dev/null +++ b/Master/texmf-dist/doc/latex/ragged2e/raggtest.tex @@ -0,0 +1,75 @@ +\documentclass{article} +\usepackage{ragged2e} +\usepackage{multicol} + +\pagestyle{empty} + +\newcommand{\Test}{% + ``The purpose of this pronunciation exercise is to remind you that + \TeX{} is primarily concerned with high-quality technical + manuscripts: Its emphasis is on art and technology, as in the + underlying Greek word. + If you merely want to produce a passably good document --- + something acceptable and bascially readable but not really + beautiful --- a simpler system will usually suffice. + With \TeX{} the goal is to produce the {\sl finest\/} quality: + this requires more attention to detail, but you will not find it + much harder to go the extra distance, and you'll be able to take + special pride in the finished product.'' +} + +\setlength{\parindent}{0pt} + +\newcommand{\bs}{{\tt\symbol{'134}}} + +\begin{document} +\begin{multicols}{3} + +\fussy + +\RaggedRight + +{\verb|\raggedright|\\ +\raggedright\Test\\[3ex]} + +{{\tt\bs{}RaggedRightRight\-skip} = {\tt 0pt plus 1em}\\ +\setlength{\RaggedRightRightskip}{0pt plus 1em} +\RaggedRight\Test\par\vspace{3ex}} + +{{\tt\bs{}RaggedRightRight\-skip} = {\tt 0pt plus 2em} +\begin{FlushLeft}\Test\end{FlushLeft}} + +{{\tt\bs{}RaggedRightRight\-skip} = {\tt 0pt plus 3em}\\ +\setlength{\RaggedRightRightskip}{0pt plus 3em} +\RaggedRight\Test\par\vspace{3ex}} + +{{\tt\bs{}RaggedRightRight\-skip} = {\tt 0pt plus 4em} +\setlength{\RaggedRightRightskip}{0pt plus 4em} +\begin{FlushLeft}\Test\end{FlushLeft}} + +{{\tt\bs{}RaggedRightRight\-skip} = {\tt 0pt plus 5em}\\ +\setlength{\RaggedRightRightskip}{0pt plus 5em} +\RaggedRight\Test\par\vspace{3ex}} + +{{\tt\bs{}RaggedRightRight\-skip} = {\tt 0pt plus 6em} +\setlength{\RaggedRightRightskip}{0pt plus 6em} +\begin{FlushLeft}\Test\end{FlushLeft}} + +{{\tt\bs{}RaggedRightRight\-skip} = {\tt 0pt plus 7em}\\ +\setlength{\RaggedRightRightskip}{0pt plus 7em} +\RaggedRight\Test\par\vspace{3ex}} + +{% + \setlength{\parfillskip}{0pt} + \setlength{\RaggedRightRightskip}{0pt} + \setlength{\RaggedRightLeftskip}{0pt plus 2em} + \RaggedRight + {% + {\tt\bs{}RaggedRightRight\-skip} = {\tt 0pt}, + {\tt\bs{}Rag\-ged\-Right\-Left\-skip} = {\tt 0pt plus 2em}, + {\tt\bs{}par\-fill\-skip} = {\tt 0pt}\par} + \Test\par} + +\end{multicols} + +\end{document} diff --git a/Master/texmf-dist/doc/latex/ragged2e/test-koma.tex b/Master/texmf-dist/doc/latex/ragged2e/test-koma.tex new file mode 100644 index 00000000000..35dfe75b898 --- /dev/null +++ b/Master/texmf-dist/doc/latex/ragged2e/test-koma.tex @@ -0,0 +1,37 @@ +\nofiles +\documentclass[a5paper]{scrartcl} +\usepackage[document,newcommands]{ragged2e} +\usepackage[T1]{fontenc} +\usepackage{lmodern} +\usepackage{microtype} +\usepackage{geometry} + +\newcommand*{\Test}{% + \rmfamily + ``The purpose of this pronunciation exercise is to remind you that + \TeX{} is primarily concerned with high-quality technical + manuscripts: Its emphasis is on art and technology, as in the + underlying Greek word. + If you merely want to produce a passably good document --- + something acceptable and bascially readable but not really + beautiful --- a simpler system will usually suffice. + With \TeX{} the goal is to produce the \textsl{finest} quality: + this requires more attention to detail, but you will not find it + much harder to go the extra distance, and you'll be able to take + special pride in the finished product.''\par + \ttfamily + ``The purpose of this pronunciation exercise is to remind you that + \TeX{} is primarily concerned with high-quality technical + manuscripts: Its emphasis is on art and technology, as in the + underlying Greek word. + If you merely want to produce a passably good document --- + something acceptable and bascially readable but not really + beautiful --- a simpler system will usually suffice. + With \TeX{} the goal is to produce the \textsl{finest} quality: + this requires more attention to detail, but you will not find it + much harder to go the extra distance, and you'll be able to take + special pride in the finished product.''} + +\begin{document} +\Test\footnote{\Test} +\end{document} diff --git a/Master/texmf-dist/doc/latex/ragged2e/test1.tex b/Master/texmf-dist/doc/latex/ragged2e/test1.tex new file mode 100644 index 00000000000..924044522c7 --- /dev/null +++ b/Master/texmf-dist/doc/latex/ragged2e/test1.tex @@ -0,0 +1,61 @@ +\nofiles +\documentclass{article} + +\newcommand*{\Test}[1]{% + #1\\ + \rmfamily + ``The purpose of this pronunciation exercise is to remind you that + \TeX{} is primarily concerned with high-quality technical + manuscripts: Its emphasis is on art and technology, as in the + underlying Greek word. + If you merely want to produce a passably good document --- + something acceptable and bascially readable but not really + beautiful --- a simpler system will usually suffice. + With \TeX{} the goal is to produce the \textsl{finest} quality: + this requires more attention to detail, but you will not find it + much harder to go the extra distance, and you'll be able to take + special pride in the finished product.''\par + \ttfamily + ``The purpose of this pronunciation exercise is to remind you that + \TeX{} is primarily concerned with high-quality technical + manuscripts: Its emphasis is on art and technology, as in the + underlying Greek word. + If you merely want to produce a passably good document --- + something acceptable and bascially readable but not really + beautiful --- a simpler system will usually suffice. + With \TeX{} the goal is to produce the \textsl{finest} quality: + this requires more attention to detail, but you will not find it + much harder to go the extra distance, and you'll be able to take + special pride in the finished product.''\par + \medskip + } +\usepackage{multicol} +\setcounter{collectmore}{2} +\setcounter{columnbadness}{5000} + +\pagestyle{empty} + +\usepackage{ragged2e} + +\begin{document} +\begin{multicols}{3} +\fussy +{\centering\Test{centering}} +{\Centering\Test{Centering}} +\newpage +{\raggedleft\Test{raggedleft}} +{\RaggedLeft\Test{RaggedLeft}} +\newpage +{\raggedright\Test{raggedright}} +{\RaggedRight\Test{RaggedRight}} +\newpage +\begin{center}\Test{center}\end{center} +\begin{Center}\Test{Center}\end{Center} +\newpage +\begin{flushleft}\Test{flushleft}\end{flushleft} +\begin{FlushLeft}\Test{FlushLeft}\end{FlushLeft} +\newpage +\begin{flushright}\Test{flushright}\end{flushright} +\begin{FlushRight}\Test{Flushright}\end{FlushRight} +\end{multicols} +\end{document} diff --git a/Master/texmf-dist/doc/latex/ragged2e/test2.tex b/Master/texmf-dist/doc/latex/ragged2e/test2.tex new file mode 100644 index 00000000000..82c6c6590c6 --- /dev/null +++ b/Master/texmf-dist/doc/latex/ragged2e/test2.tex @@ -0,0 +1,61 @@ +\nofiles +\documentclass{article} + +\newcommand*{\Test}[1]{% + #1\\ + \rmfamily + ``The purpose of this pronunciation exercise is to remind you that + \TeX{} is primarily concerned with high-quality technical + manuscripts: Its emphasis is on art and technology, as in the + underlying Greek word. + If you merely want to produce a passably good document --- + something acceptable and bascially readable but not really + beautiful --- a simpler system will usually suffice. + With \TeX{} the goal is to produce the \textsl{finest} quality: + this requires more attention to detail, but you will not find it + much harder to go the extra distance, and you'll be able to take + special pride in the finished product.''\par + \ttfamily + ``The purpose of this pronunciation exercise is to remind you that + \TeX{} is primarily concerned with high-quality technical + manuscripts: Its emphasis is on art and technology, as in the + underlying Greek word. + If you merely want to produce a passably good document --- + something acceptable and bascially readable but not really + beautiful --- a simpler system will usually suffice. + With \TeX{} the goal is to produce the \textsl{finest} quality: + this requires more attention to detail, but you will not find it + much harder to go the extra distance, and you'll be able to take + special pride in the finished product.''\par + \medskip + } +\usepackage{multicol} +\setcounter{collectmore}{2} +\setcounter{columnbadness}{5000} + +\pagestyle{empty} + +\usepackage[OriginalParameters]{ragged2e} + +\begin{document} +\begin{multicols}{3} +\fussy +{\centering\Test{centering}} +{\Centering\Test{Centering}} +\newpage +{\raggedleft\Test{raggedleft}} +{\RaggedLeft\Test{RaggedLeft}} +\newpage +{\raggedright\Test{raggedright}} +{\RaggedRight\Test{RaggedRight}} +\newpage +\begin{center}\Test{center}\end{center} +\begin{Center}\Test{Center}\end{Center} +\newpage +\begin{flushleft}\Test{flushleft}\end{flushleft} +\begin{FlushLeft}\Test{FlushLeft}\end{FlushLeft} +\newpage +\begin{flushright}\Test{flushright}\end{flushright} +\begin{FlushRight}\Test{Flushright}\end{FlushRight} +\end{multicols} +\end{document} diff --git a/Master/texmf-dist/source/latex/ragged2e/Makefile b/Master/texmf-dist/source/latex/ragged2e/Makefile new file mode 100644 index 00000000000..fe07f4f1f67 --- /dev/null +++ b/Master/texmf-dist/source/latex/ragged2e/Makefile @@ -0,0 +1,31 @@ +doc: ragged2e.pdf ragged2e.dvi +ragged2e.dvi: ragged2e.pdf + latex ragged2e.drv + +ragged2e.pdf: ragged2e.dtx ragged2e.drv ragged2e.sty + pdflatex -draftmode ragged2e.drv + pdflatex -draftmode ragged2e.drv + makeindex -s gind.ist -t ragged2e.ind.ilg ragged2e ragged2e.idx + makeindex -s gglo.ist -t ragged2e.gls.ilg -o ragged2e.gls ragged2e ragged2e.glo + pdflatex ragged2e.drv + +ragged2e.drv ragged2e.sty: ragged2e.dtx ragged2e.ins + latex ragged2e.ins + +ragged2e.zip: ragged2e.dtx ragged2e.pdf ragged2e.ins + $(eval RELEASEDIR := $(shell mktemp -d)) + @cp -a ragged2e.dtx ragged2e.pdf ragged2e.ins $(RELEASEDIR) + @cp .git/gitHeadInfo.gin $(RELEASEDIR)/gitHeadLocal.gin + @sed -i 's/usepackage{gitinfo2}/usepackage[release]{gitinfo2}/g' $(RELEASEDIR)/ragged2e.dtx + @zip --junk-paths ragged2e.zip $(RELEASEDIR)/ragged2e.dtx $(RELEASEDIR)/ragged2e.pdf $(RELEASEDIR)/ragged2e.ins $(RELEASEDIR)/gitHeadLocal.gin + @rm -rf $(RELEASEDIR) + +.PHONY: clean clobber + +clean: + rm -f *.aux *.toc *.glo *.gls *.hd *.idx *.ilg *.ind *.log + +clobber: clean + rm -f *.dvi *.pdf *.sty *.drv *.zip + +# vim:noexpandtab diff --git a/Master/texmf-dist/source/latex/ragged2e/ragged2e.drv b/Master/texmf-dist/source/latex/ragged2e/ragged2e.drv new file mode 100644 index 00000000000..e877d11cb61 --- /dev/null +++ b/Master/texmf-dist/source/latex/ragged2e/ragged2e.drv @@ -0,0 +1,117 @@ +%% +%% This is file `ragged2e.drv', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% ragged2e.dtx (with options: `driver') +%% +%% Copyright 1996..2019 Martin Schroeder. +%% +%% This file is part of the Ragged2e package +%% ----------------------------------------- +%% +%% To produce the documentation in the way you like you are allowed +%% to change this driver file. +%% +\NeedsTeXFormat{LaTeX2e}[2017/03/29] +\ProvidesFile{ragged2e.drv} + [2019/03/26 v1.09 Driver for ragged2e Package (MS)] +\documentclass[a4paper]{ltxdoc} +\usepackage[T1]{fontenc} +\usepackage{lmodern} +\usepackage{microtype} +\usepackage{url} % in latex/contrib/other/misc +\usepackage{array} +\usepackage{tabularx} +\usepackage{gitinfo2} +\usepackage{hypdoc} +\usepackage{geometry} +\IfFileExists{booktabs.sty}{% + \usepackage{booktabs}% + }{% + \PackageWarning{ragged2e}% + {booktabs.sty is missing.\MessageBreak + I'm emulating the needed commands, but you should\MessageBreak + install it for better results}% + \let\toprule\hline + \let\midrule\hline + \let\bottomrule\hline + } +\IfFileExists{footmisc.sty}{% + \usepackage[document]{ragged2e}[2003/01/26] + }{% + \PackageWarning{ragged2e}% + {footmisc.sty is missing.\MessageBreak + You should install it for better results}% + \usepackage[raggedrightboxes]{ragged2e}[2003/01/26] + } +\setlength{\RaggedRightRightskip}{0pt plus 4em}% +\GetFileInfo{ragged2e.sty} +\EnableCrossrefs +\RecordChanges % Gather update information +%%\DisableCrossrefs% Say \DisableCrossrefs if index is ready +\CodelineIndex % Index code by line number +%%\OldMakeIndex % use if your MakeIndex is pre-v2.9 +\setcounter{IndexColumns}{2} +\makeatletter + \renewenvironment{theglossary}{% + \glossary@prologue + \setlength\emergencystretch{5em} + \GlossaryParms \let\item\@idxitem \ignorespaces}{} + \makeatother +\setlength{\IndexMin}{40ex} +\setlength{\columnseprule}{.4pt} +\addtolength{\oddsidemargin}{3cm} +\addtolength{\textwidth}{-3cm} +\begin{document} + \DocInput{ragged2e.dtx} + \PrintIndex\PrintChanges + % Make sure that the index is not printed twice + % (ltxdoc.cfg might have a second \PrintIndex command) + \let\PrintChanges\relax + \let\PrintIndex\relax +\end{document} +%% Copyright 1996..2019 by Martin Schr\"oder. +%% \CharacterTable +%% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z +%% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z +%% Digits \0\1\2\3\4\5\6\7\8\9 +%% Exclamation \! Double quote \" Hash (number) \# +%% Dollar \$ Percent \% Ampersand \& +%% Acute accent \' Left paren \( Right paren \) +%% Asterisk \* Plus \+ Comma \, +%% Minus \- Point \. Solidus \/ +%% Colon \: Semicolon \; Less than \< +%% Equals \= Greater than \> Question mark \? +%% Commercial at \@ Left bracket \[ Backslash \\ +%% Right bracket \] Circumflex \^ Underscore \_ +%% Grave accent \` Left brace \{ Vertical bar \| +%% Right brace \} Tilde \~} +%% +%% \iffalse meta-comment +%% =================================================================== +%% @LaTeX-style-file{ +%% author = {Martin Schr\"oder}, +%% version = "2.2", +%% date = "26 Mar 2019", +%% filename = "ragged2e.sty", +%% address = {Martin Schr\"oder +%% Unterstra\"se 31 +%% 47051 Duisburg +%% Germany} +%% email = "martin@oneiros.de", +%% docstring = "LaTeX package which defines new commands +%% \Centering, \RaggedLeft, \RaggedRight and +%% \justifying and new environments Center, +%% FlushLeft, FlushRight and justify, which +%% set ragged text and are easily configurable +%% to allow hyphenation. +%% Uses the everysel package. +%% " +%% } +%% =================================================================== +%% \fi +\endinput +%% +%% End of file `ragged2e.drv'. diff --git a/Master/texmf-dist/source/latex/ragged2e/ragged2e.dtx b/Master/texmf-dist/source/latex/ragged2e/ragged2e.dtx new file mode 100644 index 00000000000..dd30514ccbc --- /dev/null +++ b/Master/texmf-dist/source/latex/ragged2e/ragged2e.dtx @@ -0,0 +1,1397 @@ +% \iffalse +\NeedsTeXFormat{LaTeX2e}[2017/03/29] +%<package>\ProvidesPackage{ragged2e} +%<package> [2019/07/28 v2.2 ragged2e Package (MS)] +% +%<*driver> +\ProvidesFile{ragged2e.drv} + [2019/03/26 v1.09 Driver for ragged2e Package (MS)] +\documentclass[a4paper]{ltxdoc} +\usepackage[T1]{fontenc} +\usepackage{lmodern} +\usepackage{microtype} +\usepackage{url} % in latex/contrib/other/misc +\usepackage{array} +\usepackage{tabularx} +\usepackage{gitinfo2} +\usepackage{hypdoc} +\usepackage{geometry} +% booktabs.sty is in latex/contrib/supported/booktab +\IfFileExists{booktabs.sty}{% + \usepackage{booktabs}% + }{% + \PackageWarning{ragged2e}% + {booktabs.sty is missing.\MessageBreak + I'm emulating the needed commands, but you should\MessageBreak + install it for better results}% + \let\toprule\hline + \let\midrule\hline + \let\bottomrule\hline + } +\IfFileExists{footmisc.sty}{% + \usepackage[document]{ragged2e}[2003/01/26] + }{% + \PackageWarning{ragged2e}% + {footmisc.sty is missing.\MessageBreak + You should install it for better results}% + \usepackage[raggedrightboxes]{ragged2e}[2003/01/26] + } +\setlength{\RaggedRightRightskip}{0pt plus 4em}% +\GetFileInfo{ragged2e.sty} +\EnableCrossrefs +\RecordChanges % Gather update information +%%\DisableCrossrefs% Say \DisableCrossrefs if index is ready +\CodelineIndex % Index code by line number +%\OnlyDescription % comment out for implementation details +%%\OldMakeIndex % use if your MakeIndex is pre-v2.9 +\setcounter{IndexColumns}{2} +% onecolumn glossary +\makeatletter + \renewenvironment{theglossary}{% + \glossary@prologue + \setlength\emergencystretch{5em} + \GlossaryParms \let\item\@idxitem \ignorespaces}{} + \makeatother +\setlength{\IndexMin}{40ex} +\setlength{\columnseprule}{.4pt} +\addtolength{\oddsidemargin}{3cm} +\addtolength{\textwidth}{-3cm} +\begin{document} + \DocInput{ragged2e.dtx} + \PrintIndex\PrintChanges + % Make sure that the index is not printed twice + % (ltxdoc.cfg might have a second \PrintIndex command) + \let\PrintChanges\relax + \let\PrintIndex\relax +\end{document} +%</driver> +% +%% Copyright 1996..2019 by Martin Schr\"oder. +% +% This work may be distributed and/or modified under the +% conditions of the LaTeX Project Public License, either version 1.3 +% of this license or (at your option) any later version. +% The latest version of this license is in +% http://www.latex-project.org/lppl.txt +% and version 1.3 or later is part of all distributions of LaTeX +% version 2005/12/01 or later. +% +% This work has the LPPL maintenance status `unmaintained'. +% +% This work consists of the files ragged2e.dtx and ragged2e.ins +% and the derived file ragged2e.sty. +% +% \fi +% +% \CheckSum{478} +% +%% \CharacterTable +%% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z +%% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z +%% Digits \0\1\2\3\4\5\6\7\8\9 +%% Exclamation \! Double quote \" Hash (number) \# +%% Dollar \$ Percent \% Ampersand \& +%% Acute accent \' Left paren \( Right paren \) +%% Asterisk \* Plus \+ Comma \, +%% Minus \- Point \. Solidus \/ +%% Colon \: Semicolon \; Less than \< +%% Equals \= Greater than \> Question mark \? +%% Commercial at \@ Left bracket \[ Backslash \\ +%% Right bracket \] Circumflex \^ Underscore \_ +%% Grave accent \` Left brace \{ Vertical bar \| +%% Right brace \} Tilde \~} +%% +%% \iffalse meta-comment +%% =================================================================== +%% @LaTeX-style-file{ +%% author = {Martin Schr\"oder}, +%% version = "2.2", +%% date = "26 Mar 2019", +%% filename = "ragged2e.sty", +%% address = {Martin Schr\"oder +%% Unterstra\"se 31 +%% 47051 Duisburg +%% Germany} +%% email = "martin@oneiros.de", +% codetable = "ISO/ASCII", +% keywords = "raggedright", +% dependences = "everysel", +% supported = "yes", +%% docstring = "LaTeX package which defines new commands +%% \Centering, \RaggedLeft, \RaggedRight and +%% \justifying and new environments Center, +%% FlushLeft, FlushRight and justify, which +%% set ragged text and are easily configurable +%% to allow hyphenation. +%% Uses the everysel package. +%% " +%% } +%% =================================================================== +%% \fi +% +% \pagestyle{headings} +% +% \newcommand*{\file}[1] {\texttt{#1}} +% \newcommand{\plain} {\texttt{plain}} +% \newcommand{\bs} {\texttt{\symbol{'134}}} +% \newcommand*{\env}[1] {\textsf{#1}} +% \newcommand*{\option}[1] {\textsf{#1}} +% \newcommand*{\package}[1] {\textsf{#1}} +% \newcommand*{\NEWfeature}[1]{% +% \hskip 1sp \marginpar{\small\sffamily\raggedright +% New feature\\#1}} +% \newcommand*{\NEWdescription}[1]{% +% \hskip 1sp \marginpar{\small\sffamily\raggedright +% New description\\#1}} +% +% \changes{v1.00}{1996/05/30}{New from \package{raggedright} V 1.21} +% \changes{v1.01}{1998/08/09}{Documentation improved} +% \changes{v1.02}{1999/06/08}{Moved to LPPL} +% \changes{v2.00}{2003/01/04}{Incorporated \package{raggedr}} +% \changes{v2.2}{2019/03/26}{Require a new version of \LaTeX (2017/03/29)} +% +% \hyphenation{flush-left rag-ged rag-ged-right} +% +% \newenvironment{Quote}{^^A +% \begin{quote}^^A +% \small^^A +% \fussy^^A +% }{^^A +% \end{quote}^^A +% } +% +% \renewcommand{\thefootnote}{\ensuremath{\fnsymbol{footnote}}} +% +% ^^A ----------------------------- +% +% \changes{v2.2}{2019/03/26}{Move to git/gitlab, use \package{svninfo2}} +% +% \title{\unskip +% The \textsf{ragged2e}-package^^A +% \thanks{^^A +% The version number of this file is \fileversion, +% revision~\#\gitAbbrevHash, last revised \protect\gitAuthorIsoDate.}^^A +% } +% \author{Martin Schr\"oder\\[0.5ex] +% \normalsize Unterstra\ss{}e 31\\ +% \normalsize 47051 Duisburg\\ +% \normalsize Germany\\ +% \normalsize \texttt{martin@oneiros.de}\\ +% \normalsize \url{https://gitlab.com/hagenbuch/ragged2e}} +% \date{\filedate} +% \maketitle +% +% ^^A ----------------------------- +% +% \begin{abstract} +% This package provides new commands and environments for setting +% ragged text which are easy to configure to allow hyphenation. +% An earlier attempt to do this was the style +% \package{raggedright}\,\cite{raggedri} by the same author. +% \end{abstract} +% +% +% ^^A ----------------------------- +% +% \tableofcontents +% +% ^^A ----------------------------- +% +% \begin{multicols}{2} +% \fussy +% +% \setlength{\parskip}{^^A +% .3\baselineskip plus.05\baselineskip minus.05\baselineskip} +% +% \section{Status of this package} +% \changes{v2.2}{2019/07/28}{Change maintenance status of package} +% ^^A +% This package is \emph{unmaintained}. +% +% I will not actively work on this package anymore. I \emph{may} +% merge merge requests to the repository on Gitlab +% (\url{https://gitlab.com/hagenbuch/ragged2e}). If you want to +% become the maintainer of this package, contact me and I may hand +% over the repository to you. Or fork the package on Gitlab. +% +% I will \emph{not} upload new versions to CTAN. +% +% \section{The problem} +% ^^A +% \LaTeX{} has three commands (\cs{centering}, \cs{raggedleft}, and +% \cs{raggedright}) and three environments (\env{center}, +% \env{flushleft}, and \env{flushright}) to typeset ragged text. +% The environments are based upon the commands (\env{center} uses +% \cs{centering}, \env{flushleft} \cs{raggedright}, and +% \env{flushright} \cs{raggedleft}). +% +% These commands have, however, one serious flaw: they render +% hyphenation almost impossible, and thus the text looks \emph{too} +% ragged, as the following example shows: +% \setcounter{unbalance}{2} +% \begin{multicols}{2} +% \small\fussy +% \raggedright +% \cs{raggedright}:\\ +% ``The \LaTeX{} document preparation system is a special version +% of Donald Knuth's \TeX{} program. +% \TeX{} is a sophisticated program designed to produce +% high-quality typesetting, especially for mathematical text.'' +% \cite[p\@. xiii]{lamport86} +% +% \newpage +% \RaggedRight +% \cs{RaggedRight}:\\ +% ``The \LaTeX{} document preparation system is a special version +% of Donald Knuth's \TeX{} program. +% \TeX{} is a sophisticated program designed to produce +% high-quality typesetting, especially for mathematical text.'' +% \cite[p\@. xiii]{lamport86} +% \end{multicols} +% +% \setcounter{unbalance}{0} +% +% ^^A ----------------------------- +% +% \section{Old ``solutions''} +% +% ^^A ----------------------------- +% +% \subsection{\LaTeX} +% ^^A +% \LaTeX{} defines e.\,g.\ \cs{raggedright} as follows: +% \begin{macrocode} +%<*latex> +\def\raggedright{% + \let\\=\@centercr + \@rightskip\@flushglue + \rightskip\@rightskip + \leftskip\z@ + \parindent\z@} +% \end{macrocode} +% Initially, \cs{@flushglue} is defined as +% \begin{macrocode} +\@flushglue = 0pt plus 1fil +%</latex> +% \end{macrocode} +% +% Thus the \cs{rightskip} is set to |0pt plus 1fil|. +% Knuth, however warns \cite[p\@. 101]{KnuthTeXa}: +% \begin{Quote} +% ``For example, a person can set \cs{rightskip=0pt plus 1fil}, +% and every line will be filled with space to the right. +% But this isn't a particularly good way to make ragged-right +% margins, because the infinte stretchability will assign zero +% badness to lines that are very short. +% To do a decent job of ragged-right setting, the trick is to set +% \cs{rightskip} so that it will stretch enough to make line breaks +% possible, yet not too much, because short lines should be +% considered bad. +% Furthermore the spaces between words should be fixed so that +% they do not stretch or shrink.'' +% \end{Quote} +% +% ^^A ----------------------------- +% +% \subsection{\plain{}} +% ^^A +% \plain{} \TeX{} defines an special version of +% \cs{raggedright}, which operates the way Knuth describes it; +% but which can not be used whith \LaTeX, because \LaTeX{} redefines +% \cs{raggedright}. +% \begin{macrocode} +%<*plain> +\def\raggedright{% + \rightskip\z@ plus2em + \spaceskip.3333em + \xspaceskip.5em\relax} +% \end{macrocode} +% +% \plain{} provides also a version of \cs{raggedright} for typewriter +% fonts +% \begin{macrocode} +\def\ttraggedright{% + \tt + \rightskip\z@ plus2em\relax} +%</plain> +% \end{macrocode} +% +% \end{multicols} +% \setlength{\parskip}{^^A +% .3\baselineskip plus.05\baselineskip minus.05\baselineskip} +% +% ^^A ----------------------------- +% +% \section{Our solution} +% +% Since the \plain{} solution can not be used with \LaTeX, we have to +% redefine it and make it possible to configure it for personal +% preferences. +% +% ^^A ----------------------------- +% +% \subsection{The macros} +% ^^A +% \DescribeMacro{\Centering} +% \DescribeMacro{\RaggedLeft} +% \DescribeMacro{\RaggedRight} +% \cs{Centering}, \cs{RaggedLeft}, and \cs{RaggedRight} can be used in +% the same way as \cs{centering}, \cs{raggedleft}, and +% \cs{raggedright}: +% Just type the command, and after that the whole text will be set +% centered, ragged-left or ragged-right. +% +% For example, we switched on \cs{RaggedRight} on the top of this +% text, and consequently this text was set +% ragged-right.\footnote{^^A +% For this documentation we also set \cs{RaggedRightRightskip} +% higher than usual (|0pt plus 4em| instead of |0pt plus 2em|) +% because of all the long command names which make linebreaking +% difficult.} +% +% \DescribeMacro{\justifying} +% \NEWfeature{2003/01/04}% +% \cs{justifying} switches back to justified text after ragged text +% has been switched on. +% \changes{v2.00}{2003/01/04}{New command \cs{justifying}} +% +% The new commands \cs{Centering}, \cs{RaggedLeft}, and +% \cs{RaggedRight} are fully compatible with their counterparts in +% \LaTeX, but implement the \plain{} solution and can be easily +% configured using the following parameters: +% +% ^^A ----------------------------- +% +% \subsection{The parameters} +% ^^A +% \changes{v2.00}{2003/01/25}{Removed \cs{RaggedSpaceskip} and +% \cs{RaggedXSpaceskip}}% +% \begin{tabularx}{\linewidth}{lX}\toprule +% Command & Uses\tabularnewline \midrule +% \cs{Centering} & \cs{CenteringLeftskip}, +% \cs{CenteringRightskip}, +% \cs{CenteringParfillskip}, +% \cs{CenteringParindent} +% \tabularnewline +% \cs{RaggedLeft} & \cs{RaggedLeftLeftskip}, +% \cs{RaggedLeftRightskip}, +% \cs{RaggedLeftParfillskip}, +% \cs{RaggedLeftParindent} +% \tabularnewline +% \cs{RaggedRight} & \cs{RaggedRightLeftskip}, +% \cs{RaggedRightRightskip}, +% \cs{RaggedRightParfillskip}, +% \cs{RaggedRightParindent} +% \tabularnewline +% \cs{justifying} & \cs{JustifyingParfillskip}, +% \cs{JustifyingParindent} +% \tabularnewline +% \bottomrule +% \end{tabularx} +% +% All Parameters can be set with \cs{setlength}, e.\,g.\ +% \begin{Quote} +% |\setlength{\RaggedRightRightskip}{0pt plus 1em}| +% \end{Quote} +% sets \cs{RaggedRightRightskip} to |0pt plus 1em|. +% +% \DescribeMacro{\CenteringLeftskip} +% \DescribeMacro{\RaggedLeftLeftskip} +% \DescribeMacro{\RaggedRightLeftskip} +% These are the \cs{leftskip}s inserted by \cs{Centering}, +% \cs{RaggedLeft}, and \cs{RaggedRight}. +% \begin{Quote} +% \setlength{\tabcolsep}{.25em} +% \begin{tabularx}{\linewidth}{lX} +% ``\cs{leftskip} & (glue at left of justified lines)'' +% \cite[p.~274]{KnuthTeXa} +% \end{tabularx} +% \end{Quote} +% \cs{leftskip} must be set to a finite value, to make hyphenation +% possible. +% Setting it to infinite values like |0pt plus 1fil| makes +% hyphenation almost impossible. +% +% \DescribeMacro{\CenteringRightskip} +% \DescribeMacro{\RaggedLeftRightskip} +% \DescribeMacro{\RaggedRightRightskip} +% These are the \cs{rightskip}s inserted by \cs{Centering}, +% \cs{RaggedLeft}, and \cs{RaggedRight}. +% \begin{Quote} +% \setlength{\tabcolsep}{.25em} +% \begin{tabularx}{\linewidth}{lX} +% ``\cs{rightskip} & (glue at right of justified lines)'' +% \cite[p.~274]{KnuthTeXa} +% \end{tabularx} +% \end{Quote} +% \cs{rightskip} must be set to a finite value, to make hyphenation +% possible. +% Setting it to infinite values like |0pt plus 1fil| makes +% hyphenation almost impossible. +% +% \DescribeMacro{\CenteringParfillskip} +% \DescribeMacro{\RaggedLeftParfillskip} +% \DescribeMacro{\RaggedRightParfillskip} +% \DescribeMacro{\JustifyingParfillskip} +% These are the \cs{parfillskip}s inserted by \cs{Centering}, +% \cs{RaggedLeft}, \cs{RaggedRight}, and \cs{justifying}. +% \begin{Quote} +% \setlength{\tabcolsep}{.25em} +% \begin{tabularx}{\linewidth}{lX} +% ``\cs{parfillskip} & (additional \cs{rightskip} at end of paragraphs)'' +% \cite[p.~274]{KnuthTeXa} +% \end{tabularx} +% \end{Quote} +% The normal setting for \cs{parfillskip} is |0pt plus 1fil|; the +% parameters are provided for testing combinations of +% \cs{}\{|left|$\mid$|right|\}|skip| and \cs{parfillskip}. +% +% \DescribeMacro{\CenteringParindent} +% \DescribeMacro{\RaggedLeftParindent} +% \DescribeMacro{\RaggedRightParindent} +% \DescribeMacro{\JustifyingParindent} +% These are the \cs{parindent}s used by \cs{Centering}, +% \cs{RaggedLeft}, \cs{RaggedRight}, and \cs{justifying}. +% \begin{Quote} +% \setlength{\tabcolsep}{.25em} +% \begin{tabularx}{\linewidth}{lX} +% ``\cs{parindent} & (width of \cs{indent})'' +% \cite[p.~274]{KnuthTeXa} +% \end{tabularx} +% \end{Quote} +% \cs{parindent} is the indent of the first line of a paragraph and +% should be set to |0pt|, since indented lines in ragged text +% do not look good. +% +% The parameters have the following initial setting: +% \begin{center} +% \begin{tabularx}{\linewidth}{l>{\ttfamily}X>{\ttfamily}X}\toprule +% Parameter & \normalfont\LaTeX{} setting +% & \normalfont\package{ragged2e} setting\footnotemark\\ +% \midrule +% \cs{CenteringLeftskip} & 0pt plus 1fil +% & 0pt plus 2em\\ +% \cs{RaggedLeftLeftskip} & 0pt plus 1fil +% & 0pt plus 2em\\ +% \cs{RaggedRightLeftskip} & 0pt plus 0pt minus 0pt +% & 0pt plus 0pt minus 0pt\\ +% \cs{CenteringRightskip} & 0pt plus 1fil +% & 0pt plus 2em\\ +% \cs{RaggedLeftRightskip} & 0pt plus 0pt minus 0pt +% & 0pt plus 0pt minus 0pt \\ +% \cs{RaggedRightRightskip} & 0pt plus 1fil +% & 0pt plus 2em\\ +% \cs{CenteringParfillskip} & 0pt plus 0pt minus 0pt +% & 0pt plus 0pt minus 0pt \\ +% \cs{RaggedLeftParfillskip} & 0pt plus 0pt minus 0pt +% & 0pt plus 0pt minus 0pt \\ +% \cs{RaggedRightParfillskip}& 0pt plus 1fil +% & 0pt plus 1fil\\ +% \cs{CenteringParindent} & 0pt +% & 0pt \\ +% \cs{RaggedLeftParindent} & 0pt +% & 0pt \\ +% \cs{RaggedRightParindent} & 0pt +% & 0pt \\ +% \cs{JustifyingParfillskip} & +% & 0pt plus 1fil \tabularnewline +% \cs{JustifyingParindent} & +% & \cs{parindent} \tabularnewline +% \bottomrule +% \end{tabularx} +% \end{center} +% \footnotetext{^^A +% For proportional and monospaced fonts.} +% +% ^^A ----------------------------- +% +% \subsection{The environments} +% ^^A +% \DescribeEnv{Center} +% \env{Center} is fully compatible with \env{center}, but uses +% \cs{Centering} instead of \cs{centering}. +% +% \DescribeEnv{FlushLeft} +% \env{FlushLeft} is fully compatible with \env{flushleft}, but uses +% \cs{RaggedRight} instead of \cs{raggedright}. +% +% \DescribeEnv{FlushRight} +% \env{FlushRight} is fully compatible with \env{flushright}, but uses +% \cs{RaggedLeft} instead of \cs{raggedleft}. +% +% \DescribeEnv{justify} +% \NEWfeature{2003/01/04}% +% \env{justify} is like the other environments but uses \cs{justifying}. +% \changes{v2.00}{2003/01/04}{New environment \env{justify}} +% +% E.\,g.\ \env{FlushLeft} can be used in the same way as +% \env{flushleft}: +% \begin{verse} +% \small +% |\begin{FlushLeft}|\\ +% \meta{text, which is set ragged-right}\\ +% |\end{FlushLeft}| +% \end{verse} +% +% ^^A ----------------------------- +% +% \section{Options} +% ^^A +% This package has the following options: +% \changes{v2.00}{2003/01/04}{Allow all-lowercase versions of +% options and removed documentation of +% mixed-case versions.} +% \nopagebreak +% \begin{description} +% \item[\normalfont\option{originalcommands}] +% The \LaTeX-commands \cs{centering}, \cs{raggedleft}, and +% \cs{raggedright} and the \LaTeX-environments \env{center}, +% \env{flushleft}, and \env{flushright} remain unchanged.\newline +% It is the default. +% \item[\normalfont\option{newcommands}] +% The \LaTeX-commands \cs{centering}, \cs{raggedleft}, and +% \cs{raggedright} and the \LaTeX-environments \env{center}, +% \env{flushleft}, and \env{flushright} are set equal to their +% counterparts defined by \package{ragged2e}. +% Thus \cs{raggedright} invokes \cs{RaggedRight}. +% The original commands can be accessed unter the Names +% \cs{LaTeX}\meta{original name}, e.\,g.\ \cs{LaTeXraggedright}. +% \item[\normalfont\option{originalparameters}] +% The parameters used by the commands implemented by +% \package{ragged2e} are initialized with the default settings +% used by \LaTeX. +% \item[\normalfont\option{newparameters}] +% The parameters used by the commands implemented by +% \package{ragged2e} are initialized with the default settings +% defined by \package{ragged2e}.\newline +% It is the default. +% \item[\normalfont\option{raggedrightboxes}] +% \changes{v2.00}{2003/01/04}{New option \option{raggedrightboxes}} +% \NEWfeature{2003/01/18} +% All \cs{parbox}es, \env{minipage}s, \cs{marginpar}s and +% |p|-columns of \env{tabular}s and \env{array}s are +% automatically set using \cs{RaggedRight}. +% \item[\normalfont\option{footnotes}] +% \changes{v2.00}{2003/01/18}{New option \option{footnotes}} +% \NEWfeature{2003/01/18} +% This options sets all footnotes ragged-right by loading the +% \package{footmisc}\,\cite{footmisc} package with the +% \option{ragged} option. +% \item[\normalfont\option{document}] +% \changes{v2.00}{2003/01/18}{New option \option{document}} +% \NEWfeature{2003/01/18} +% This options sets the complete document ragged-right by +% executing a \cs{RaggedRight} at \cs{begin\{document\}} and +% the \option{raggedrightboxes} and the \option{footnotes} +% options. +% \end{description} +% All other options are passed to the \package{footmisc} package if +% the \option{footnotes} option is selected. +% +% +% ^^A ----------------------------- +% +% \section{Required packages} +% ^^A +% \changes{v2.1}{2003/10/08}{document that \option{document} needs +% \package{footmisc}} +% This package requires the following packages: +% \begin{description} +% \item[\normalfont\package{everysel}\,\cite{everysel}] +% It is used to distinguish between monospaced and proportional +% fonts. +% \item[\normalfont\package{footmisc}\,\cite{footmisc}] +% It is used by the \option{footnotes} and the +% \option{document} options; at least version~5.00 (2002/08/28) +% is needed. +% \end{description} +% +% +% ^^A ----------------------------- +% +% \StopEventually{^^A +% +% +% ^^A ----------------------------- +% +% \section{Acknowledgements} +% ^^A +% A first version of this package for \LaTeX2.09 was named +% \package{raggedri}\,\cite{raggedri}. +% Laurent Siebenmann (\url{lcs@topo.math.u-psud.fr}) with his +% style \package{ragged.sty}\,\cite{ragged} provided the final impulse +% for this new implementation.\newline +% The code for \cs{justifying}, \env{justify} and the overloading of +% \cs{@arrayparboxrestore} is incorporated from the +% \package{raggedr}\,\cite{raggedr} package by James Kilfinger +% (\url{mapdn@csv.warwick.ac.uk}).\newline +% Without the constant nagging of Rainer Sieger +% (\url{rsieger@awi-bremerhaven.de}) this package might not +% be.\newline +% Markus Kohm (\url{markus.kohm@gmx.de}) provided the code for +% \cs{@gnewline}.\newline +% Frank Mittelbach (\url{frank.mittelbach@latex-project.org}) +% provided the impetus for version~2.00.\newline +% Rolf Niepraschk (\url{Rolf.Niepraschk@gmx.de}) and Hubert G\"a\ss{}lein +% found many bugs and provided fixes for them and code for new +% features.\newline +% Jordan Firth (\url{jafirth@ncsu.edu}) provided the final push for +% version~2.2. +% +% ^^A ----------------------------- +% +% \newcommand{\noopsort}[1]{} \newcommand{\printfirst}[2]{##1} +% \newcommand{\singleletter}[1]{##1} \newcommand{\switchargs}[2]{##2##1} +% \begin{thebibliography}{1} +% +% \bibitem{ltmiscen} +% Johannes Braams, David Carlisle, Alan Jeffrey, Leslie Lamport, Frank +% Mittelbach, Chris Rowley, and Rainer Sch{\"o}pf. +% \newblock ltmiscen.dtx. +% \newblock Part of the {\LaTeX}-distribution. +% +% \bibitem{footmisc} +% Robin Fairbairns. +% \newblock \texttt{footmisc} --- a portmanteau package for +% customising footnotes in \LaTeXe. +% \newblock \url{CTAN: tex-archive/macros/latex/contrib/supported/footmisc/footmisc.dtx}. +% +% \bibitem{raggedr} +% James Kilfiger. +% \newblock \url{CTAN: tex-archive/macros/latex/contrib/other/misc/raggedr.sty}. +% \newblock \LaTeXe{} package. +% +% \bibitem{KnuthTeXa} +% Donald~E. Knuth. +% \newblock \emph{The {\TeX}Book}, volume~A of \emph{Computers \& Typesetting}. +% \newblock Ad{\-d}i{\-s}on-Wes{\-l}ey, Reading, MA, USA, {\noopsort{1986a}}1986. +% +% \bibitem{lamport86} +% Leslie Lamport. +% \newblock \emph{\LaTeX: A Document Preparation System}. +% \newblock Ad{\-d}i{\-s}on-Wes{\-l}ey, Reading, MA, USA, first edition, 1986. +% +% \bibitem{cmfonts} +% Frank Mittelbach and Rainer Sch{\"o}pf. +% \newblock The file {\texttt{cmfonts.fdd}} for use with {\LaTeXe}. +% \newblock Part of the {\LaTeX}-distribution. +% +% \bibitem{everysel} +% Martin Schr{\"o}der. +% \newblock The \package{everysel}-package. +% \newblock \url{CTAN: tex-archive/macros/latex/contrib/supported/ms/everysel.dtx}. +% \newblock \LaTeXe{} package. +% +% \bibitem{raggedri} +% Martin Schr{\"o}der. +% \newblock The \package{raggedri} document option. +% \newblock Was in \url{CTAN: tex-archive/macros/latex209/contrib/raggedright}. +% \newblock \LaTeX2.09 style, outdated. +% +% \bibitem{ragged} +% Laurent Siebenmann. +% \newblock \texttt{ragged.sty}. +% \newblock \url{CTAN: tex-archive/macros/generic/ragged.sty}. +% \newblock generic macro file for \texttt{plain} and \LaTeX. +% +% \end{thebibliography} +% } +% +% ^^A ----------------------------- +% +% \section{The implementation} +% \changes{v2.00}{2003/01/10}{Removed spaces and unneeded braces +% from \cs{setlength}; replaced +% \texttt{plus} with \cs{@plus}} +% \changes{v2.02}{2003/02/24}{Removed \cs{setlength}} +% \changes{v2.02}{2003/02/24}{Use \cs{@flushglue}} +% +% \begin{macrocode} +%<*package> +% \end{macrocode} +% +% +% ^^A ----------------------------- +% +% \subsection{Initial Code} +% ^^A +% \begin{macro}{\if@raggedtwoe@originalcommands} +% \cs{if@raggedtwoe@originalcommands} is used to flag the use of the +% \option{originalcommands} or \option{newcommands} option. +% \begin{macrocode} +\newif\if@raggedtwoe@originalcommands +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\if@raggedtwoe@originalparameters} +% \cs{if@raggedtwoe@originalparameters} is used to flag the use of the +% \option{originalparameters} or \option{newparameters} option. +% \begin{macrocode} +\newif\if@raggedtwoe@originalparameters +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\if@raggedtwoe@footmisc} +% \cs{if@raggedtwoe@footmisc} is used to flag the use of the +% \option{footnotes} option. +% \changes{v2.00}{2003/01/18}{New macro}% +% \begin{macrocode} +\newif\if@raggedtwoe@footmisc +% \end{macrocode} +% \end{macro} +% +% +% ^^A ----------------------------- +% +% \subsection{Declaration of options} +% +% +% ^^A ----------------------------- +% +% \subsubsection{\option{originalcommands} option} +% ^^A +% The \option{originalcommands} and \option{newcommands} options +% control the meaning of the \LaTeX-commands for ragged text: +% If \option{newcommands} is used the \LaTeX-commands are set equal +% to the commands defined by \package{ragged2e}. +% \changes{v2.00}{2003/01/04}{Allow all-lowercase versions of options} +% \begin{macrocode} +\DeclareOption{OriginalCommands}{\@raggedtwoe@originalcommandstrue} +\DeclareOption{originalcommands}{\@raggedtwoe@originalcommandstrue} +\DeclareOption{NewCommands}{\@raggedtwoe@originalcommandsfalse} +\DeclareOption{newcommands}{\@raggedtwoe@originalcommandsfalse} +% \end{macrocode} +% +% +% ^^A ----------------------------- +% +% \subsubsection{\option{originalparameters} option} +% ^^A +% The \option{originalparameters} and \option{newparameters} options +% control the defaults for the parameters used by the commands +% implemented by \package{ragged2e}: +% If \option{newparameters} is used the parameters are set to the +% values defined by \package{ragged2e}. +% \changes{v2.00}{2003/01/04}{Allow all-lowercase versions of options} +% \begin{macrocode} +\DeclareOption{OriginalParameters}{\@raggedtwoe@originalparameterstrue} +\DeclareOption{originalparameters}{\@raggedtwoe@originalparameterstrue} +\DeclareOption{NewParameters}{\@raggedtwoe@originalparametersfalse} +\DeclareOption{newparameters}{\@raggedtwoe@originalparametersfalse} +% \end{macrocode} +% +% +% ^^A ----------------------------- +% +% \subsubsection{\option{raggedrightboxes} option} +% ^^A +% \changes{v2.00}{2003/01/04}{New option \option{raggedrightboxes}}% +% The option \option{raggedrightboxes} sets all +% \cs{parbox}es, \env{minipage}s, \cs{marginpar}s and |p|-columns of +% \env{tabular}s and \env{array}s using \cs{RaggedRight}. +% This is done by redefining \cs{@arrayparboxrestore}. +% \begin{macro}{\@raggedtwoe@raggedrightboxes@opt} +% \cs{@raggedtwoe@raggedrightboxes@opt} is the code executed via +% \cs{DeclareOption}. +% \changes{v2.00}{2003/01/18}{New macro}% +% \changes{v2.2}{2019/03/26}{Definition of \cs{@arrayparboxrestore} +% has changed}% +% \begin{macrocode} +\newcommand*{\@raggedtwoe@raggedrightboxes@opt}{ +% \end{macrocode} +% First we check if \cs{@arrayparboxrestore} is unchanged. +% \begin{macrocode} + \CheckCommand*{\@arrayparboxrestore}{% + \let\if@nobreak\iffalse + \let\if@noskipsec\iffalse + \let\par\@@par + \let\-\@dischyph + \let\'\@acci\let\`\@accii\let\=\@acciii + \parindent\z@ \parskip\z@skip + \everypar{}% + \linewidth\hsize + \@totalleftmargin\z@ + \leftskip\z@skip \rightskip\z@skip \@rightskip\z@skip + \parfillskip\@flushglue + \lineskip\normallineskip + \lineskiplimit\normallineskiplimit + \baselineskip\normalbaselineskip + \sloppy}% +% \end{macrocode} +% Then we redefine it by removing the setting of \cs{leftskip}, +% \cs{rightskip}, \cs{@rightskip} and \cs{parfillskip} and instead +% calling \cs{RaggedRight}. +% \changes{v2.04}{2003/03/02}{The setting of \cs{parindent} is +% superfluous}% +% \begin{macrocode} + \renewcommand{\@arrayparboxrestore}{% + \let\if@nobreak\iffalse + \let\if@noskipsec\iffalse + \let\par\@@par + \let\-\@dischyph + \let\'\@acci\let\`\@accii\let\=\@acciii + \parskip\z@skip + \everypar{}% + \linewidth\hsize + \@totalleftmargin\z@ + \RaggedRight + \lineskip\normallineskip + \baselineskip\normalbaselineskip + \lineskiplimit\normallineskiplimit + \sloppy}% +% \end{macrocode} +% Now we self-destroy so the command can be called more than once +% without causing harm (and it also frees up some space). +% \begin{macrocode} + \let\@raggedtwoe@raggedrightboxes@opt\relax + } +% \end{macrocode} +% \end{macro} +% Finally the declaration of the option. +% \begin{macrocode} +\DeclareOption{raggedrightboxes}{\@raggedtwoe@raggedrightboxes@opt} +% \end{macrocode} +% +% +% ^^A ----------------------------- +% +% \subsubsection{\option{footnotes} option} +% ^^A +% \changes{v2.00}{2003/01/18}{New option \option{footnotes}}% +% \changes{v2.02}{2003/02/24}{Bugfix: \cs{if@raggedtwoe@footmisctrue} +% \ensuremath{\rightarrow} \cs{@raggedtwoe@footmisctrue}}% +% \changes{v2.03}{2003/02/26}{Bugfix: \option{footnotes} was actually +% \option{raggedrightboxes}} +% The option \option{footnotes} just sets a flag +% (\cs{if@raggedtwoe@footmisc}) to load the \option{footmisc} +% package and passes the option \option{ragged} to it. +% \begin{macrocode} +\DeclareOption{footnotes}{% + \@raggedtwoe@footmisctrue + \PassOptionsToPackage{ragged}{footmisc}% + } +% \end{macrocode} +% +% +% ^^A ----------------------------- +% +% \subsubsection{\option{document} option} +% ^^A +% \changes{v2.00}{2003/01/18}{New option \option{document}}% +% The option \option{document} sets the complete document +% ragged-right by executing \cs{RaggedRight} via \cs{AtBeginDocument} +% and also executing the \option{raggedrightboxes} option. +% \begin{macro}{\@raggedtwoe@abdhook} +% \cs{@raggedtwoe@abdhook} is the code executed via +% \cs{AtBeginDocument}: Give a message on the terminal, execute +% \cs{RaggedRight} and self-destroy. +% We also make \cs{@tocrmarg} flexible; otherwise long lines in the +% table of contents (and similar tables) would not be broken because +% the spaceskip is rigid. +% \changes{v2.00}{2003/01/18}{New macro}% +% \changes{v2.04}{2003/03/02}{Set \cs{@tocrmarg} and use +% \cs{PackageInfo}}% +% \changes{v2.1}{2006/07/23}{bugfix: Use \cs{@tocrmarg} only if it's +% defined}% +% \begin{macrocode} +\newcommand{\@raggedtwoe@abdhook}{% + \PackageInfo{ragged2e}{ABD: executing \string\RaggedRight}% + \RaggedRight + \@ifundefined{@tocrmarg}{}{\edef\@tocrmarg{\@tocrmarg plus 2em}}% + \let\@raggedtwoe@abdhook\relax + } +% \end{macrocode} +% \end{macro} +% \begin{macro}{\@raggedtwoe@document@opt} +% \cs{@raggedtwoe@document@opt} is the code executed via +% \cs{DeclareOption}: Insert the code into \cs{AtBeginDocument}, +% execute the \option{raggedrightboxes} and \option{footnotes} options +% and self-destroy. +% \changes{v2.00}{2003/01/18}{New macro}% +% \begin{macrocode} +\newcommand{\@raggedtwoe@document@opt}{% + \AtBeginDocument{\@raggedtwoe@abdhook}% + \@raggedtwoe@raggedrightboxes@opt + \@raggedtwoe@footmisctrue + \let\@raggedtwoe@document@opt\relax + } +% \end{macrocode} +% \end{macro} +% Finally the declaration of the option. +% \begin{macrocode} +\DeclareOption{document}{\@raggedtwoe@document@opt} +% \end{macrocode} +% +% +% ^^A ----------------------------- +% +% \subsubsection{Other options} +% ^^A +% \changes{v2.00}{2003/01/18}{Pass all other options to +% \package{footmisc} if it's loaded}% +% All unused options are passed to the \package{footmisc} package if +% the \option{footnotes} option is selected; otherwise the usual error +% is raised. +% \begin{macrocode} +\DeclareOption*{% + \if@raggedtwoe@footmisc + \PassOptionsToPackage{\CurrentOption}{footmisc}% + \else + \OptionNotUsed + \fi + } +% \end{macrocode} +% +% +%% ^^A ----------------------------- +% +% \subsection{Executing options} +% ^^A +% The default options are \option{originalcommands} and +% \option{newparameters}. +% \begin{macrocode} +\ExecuteOptions{originalcommands,newparameters} +\ProcessOptions\relax +% \end{macrocode} +% +% +% ^^A ----------------------------- +% +% \subsection{Loading packages} +% ^^A +% We need the \package{everysel} package. +% \changes{v2.00}{2003/01/18}{Load the \package{footmisc} package}% +% \begin{macrocode} +\RequirePackage{everysel} +% \end{macrocode} +% If the option \option{footnotes} is selected, we load the +% \package{footmisc} package after we are finished (\package{footmisc} +% detects our presence by looking for the definition of +% \cs{RaggedRight}, so we can not load it just now). +% \changes{v2.1}{2003/10/08}{bugfix: Load \package{footmisc} +% directly and not via \cs{AtEndOfPackage} (bug found by Axel +% Sommerfeldt)} +% \begin{macrocode} +\if@raggedtwoe@footmisc + \RequirePackage{footmisc}[2002/08/28] +\fi +% \end{macrocode} +% +% +% ^^A ----------------------------- +% +% \subsection{Allocations} +% ^^A +% \changes{v2.00}{2003/01/25}{Removed \cs{RaggedSpaceskip} and +% \cs{RaggedXSpaceskip}}% +% \begin{macro}{\CenteringLeftskip} +% \begin{macro}{\RaggedLeftLeftskip} +% \begin{macro}{\RaggedRightLeftskip} +% \begin{macro}{\CenteringRightskip} +% \begin{macro}{\RaggedLeftRightskip} +% \begin{macro}{\RaggedRightRightskip} +% \begin{macro}{\CenteringParfillskip} +% \begin{macro}{\RaggedLeftParfillskip} +% \begin{macro}{\RaggedRightParfillskip} +% \begin{macro}{\JustifyingParfillskip} +% \changes{v2.00}{2003/01/18}{New macro} +% \begin{macro}{\CenteringParindent} +% \begin{macro}{\RaggedLeftParindent} +% \begin{macro}{\RaggedRightParindent} +% \begin{macro}{\JustifyingParindent} +% \changes{v2.00}{2003/01/18}{New macro} +% First we allocate the parameters +% \begin{macrocode} +\newlength{\CenteringLeftskip} +\newlength{\RaggedLeftLeftskip} +\newlength{\RaggedRightLeftskip} +\newlength{\CenteringRightskip} +\newlength{\RaggedLeftRightskip} +\newlength{\RaggedRightRightskip} +\newlength{\CenteringParfillskip} +\newlength{\RaggedLeftParfillskip} +\newlength{\RaggedRightParfillskip} +\newlength{\JustifyingParfillskip} +\newlength{\CenteringParindent} +\newlength{\RaggedLeftParindent} +\newlength{\RaggedRightParindent} +\newlength{\JustifyingParindent} +% \end{macrocode} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% +% +% ^^A ----------------------------- +% +% \subsection{Initializations} +% ^^A +% Depending on \cs{if@raggedtwoe@originalparameters} we initialize the +% parameters with the values \LaTeX{} uses for its own commands or with +% our new parameters. +% \changes{v2.04}{2003/03/02}{Initialize \cs{JustifyingParindent} +% with \cs{parindent}} +% \changes{v2.04}{2003/03/02}{Insert missing \textbackslash} +% \begin{macrocode} +\if@raggedtwoe@originalparameters + \CenteringLeftskip\@flushglue + \RaggedLeftLeftskip\@flushglue + \RaggedRightLeftskip\z@skip + \CenteringRightskip\@flushglue + \RaggedLeftRightskip\z@skip + \RaggedRightRightskip\@flushglue + \CenteringParfillskip\z@skip + \RaggedLeftParfillskip\z@skip + \RaggedRightParfillskip\@flushglue + \CenteringParindent\z@ + \RaggedLeftParindent\z@ + \RaggedRightParindent\z@ +\else + \CenteringLeftskip\z@\@plus\tw@ em + \RaggedLeftLeftskip\z@\@plus\tw@ em + \RaggedRightLeftskip\z@skip + \CenteringRightskip\z@\@plus\tw@ em + \RaggedLeftRightskip\z@skip + \RaggedRightRightskip\z@\@plus\tw@ em + \CenteringParfillskip\z@skip + \RaggedLeftParfillskip\z@skip + \RaggedRightParfillskip\@flushglue + \CenteringParindent\z@ + \RaggedLeftParindent\z@ + \RaggedRightParindent\z@ +\fi +\JustifyingParfillskip\@flushglue +\JustifyingParindent\parindent +% \end{macrocode} +% +% +% ^^A ----------------------------- +% +% \subsection{Distinguishing between monospaced and proportional fonts} +% ^^A +% To set ragged text with proportional fonts \emph{and} monospaced +% fonts correctly, we must distinguish between these two kinds of +% fonts \emph{everytime} a font is loaded. +% Otherwise the settings for e.\,g.\ a proportional fonts would be +% in effect if you start \cs{RaggedRight} in \cs{rmfamily} and +% then switch to \cs{ttfamily}. +% +% The goal is to have a rigid interword space in all fonts. +% \TeX's interword space is |\fontdimen2 plus \fontdimen3 minus \fontdimen4|. +% This can be overwritten by setting \cs{spaceskip} (space between +% words, if nonzero) and \cs{xspaceskip} (space at the end of +% sentences, if nonzero). +% +% We do the setting with the help of \package{everysel}\,\cite{everysel}, +% which allows us to define code which is (hopefully) executed after +% every fontchange in a \LaTeX{} document.\footnote{^^A +% It \emph{is} executed after every \cs{selectfont}, so if you stay +% within NFSS and don't declare your fonts with commands like +% \cs{newfont} and then switch to them, it will work.} +% +% \begin{macro}{\if@raggedtwoe@spaceskip} +% \cs{if@raggedtwoe@spaceskip} signals the use of commands defined by +% \package{ragged2e} to the command inserted into \cs{selectfont}. +% It is set to true by these commands and restored to false by \TeX{} +% when the scope of them ends. +% \begin{macrocode} +\newif\if@raggedtwoe@spaceskip +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\@raggedtwoe@everyselectfont} +% \cs{@raggedtwoe@everyselectfont} is our code inserted into +% \cs{selectfont}. +% \changes{v2.00}{2003/01/26}{Completely redesigned and removed +% \cs{RaggedSpaceskip} and +% \cs{RaggedXSpaceskip}} +% \changes{v2.01}{2003/02/20}{Removed the setting of \cs{xspaceskip}} +% \begin{macrocode} +\newcommand{\@raggedtwoe@everyselectfont}{% + \if@raggedtwoe@spaceskip +% \end{macrocode} +% If no command defined by \package{ragged2e} is in use, we do +% nothing. +% But if it is, we look at \cs{fontdimen3} to see if the current +% font is monospaced or not. +% \begin{macrocode} + \ifdim\fontdimen\thr@@\font=\z@\relax +% \end{macrocode} +% If it is, we set \cs{spaceskip} to |0pt| so the interword space +% will be the one specified by the font designer -- which is rigid +% anyway for monospaced fonts. +% \begin{macrocode} + \spaceskip\z@ + \else +% \end{macrocode} +% For proportional fonts we make the interword space rigid by setting +% \cs{spaceskip} to \cs{fontdimen2}. +% \begin{macrocode} + \spaceskip\fontdimen\tw@\font + \fi +% \end{macrocode} +% We have to reset the interword space if we are not active. +% \changes{v2.04}{2003/03/16}{Reset \cs{spaceskip} when we are not +% active} +% \begin{macrocode} + \else + \spaceskip\z@ + \fi + } +\EverySelectfont{\@raggedtwoe@everyselectfont} +% \end{macrocode} +% \end{macro} +% +% +% ^^A ----------------------------- +% +% \subsection{The commands} +% ^^A +% \begin{macro}{\@raggedtwoe@savedcr} +% We save the definition of \cs{\textbackslash} in +% \cs{@raggedtwoe@savedcr}. +% \begin{macrocode} +\let\@raggedtwoe@savedcr\\ +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\@raggedtwoe@saved@gnewline} +% \changes{v2.00}{2003/01/04}{New macro} +% We save the definition of \cs{@gnewline} in +% \cs{@raggedtwoe@saved@gnewline}. +% \begin{macrocode} +\let\@raggedtwoe@saved@gnewline\@gnewline +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\@raggedtwoe@gnewline} +% The following definition of a \cs{@gnewline} used by the ragged +% commands was suggested by Markus Kohm: +% \changes{v2.00}{2003/01/04}{New macro} +% \changes{v2.02}{2003/02/24}{Bugfix: \cs{@nolerr} +% \ensuremath{\rightarrow} \cs{@nolnerr}}% +% \changes{v2.1}{2009/05/17}{Bugfix: handle math} +% \begin{macrocode} +\newcommand*{\@raggedtwoe@gnewline}[1]{% + \ifvmode + \@nolnerr + \else + \unskip + \ifmmode +% \end{macrocode} +% In formulas we use the original code of \cs{@gnewline}. +% \begin{macrocode} + \reserved@e {\reserved@f #1}\nobreak \hfil \break + \else + \reserved@e {\reserved@f #1}{\parskip\z@\par}% + \fi + \fi + } +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\Centering} +% \cs{Centering} first lets \cs{\textbackslash} = \cs{@centercr}, +% but only if |\\| has its original meaning, otherwise \cs{Center} +% would not work inside environments like \env{tabular} etc., in +% which \cs{\textbackslash} has a different meaning. +% It also sets \cs{@gnewline} to \cs{@raggedtwoe@gnewline}. +% Then, the \LaTeX{} and \TeX-parameters are set.\newline +% \cs{@rightskip} is \LaTeX's version of \cs{rightskip}. +% \begin{Quote} +% ``Every environment, like the list environments, that set +% \cs{rightskip} to its 'normal' value set it to \cs{@rightskip}'' +% \cite{ltmiscen} +% \end{Quote} +% Finally we signal the code inserted into \cs{selectfont} that +% we are active and call that code directly. +% \changes{v2.00}{2003/01/04}{Call \cs{@raggedtwoe@everyselectfont} +% and switch \cs{@gnewline}} +% \begin{macrocode} +\newcommand{\Centering}{% + \ifx\\\@raggedtwoe@savedcr + \let\\\@centercr + \fi + \let\@gnewline\@raggedtwoe@gnewline + \leftskip\CenteringLeftskip + \@rightskip\CenteringRightskip + \rightskip\@rightskip + \parfillskip\CenteringParfillskip + \parindent\CenteringParindent + \@raggedtwoe@spaceskiptrue + \@raggedtwoe@everyselectfont + } +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\RaggedLeft} +% \cs{RaggedLeft} is like \cs{Centering}; it only uses other +% parameters. +% \changes{v2.00}{2003/01/04}{Call \cs{@raggedtwoe@everyselectfont} +% and switch \cs{@gnewline}} +% \begin{macrocode} +\newcommand{\RaggedLeft}{% + \ifx\\\@raggedtwoe@savedcr + \let\\\@centercr + \fi + \let\@gnewline\@raggedtwoe@gnewline + \leftskip\RaggedLeftLeftskip + \@rightskip\RaggedLeftRightskip + \rightskip\@rightskip + \parfillskip\RaggedLeftParfillskip + \parindent\RaggedLeftParindent + \@raggedtwoe@spaceskiptrue + \@raggedtwoe@everyselectfont + } +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\RaggedRight} +% \cs{RaggedRight} is like \cs{Centering}; it only uses other +% parameters. +% \changes{v2.00}{2003/01/04}{Call \cs{@raggedtwoe@everyselectfont} +% and switch \cs{@gnewline}} +% \begin{macrocode} +\newcommand{\RaggedRight}{% + \ifx\\\@raggedtwoe@savedcr + \let\\\@centercr + \fi + \let\@gnewline\@raggedtwoe@gnewline + \leftskip\RaggedRightLeftskip + \@rightskip\RaggedRightRightskip + \rightskip\@rightskip + \parfillskip\RaggedRightParfillskip + \parindent\RaggedRightParindent + \@raggedtwoe@spaceskiptrue + \@raggedtwoe@everyselectfont + } +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\justifying} +% \cs{justifying} switches back to the defaults used by \LaTeX{} for +% typesetting justyfied text. +% \changes{v2.00}{2003/01/04}{New macro} +% \begin{macrocode} +\newcommand{\justifying}{% + \let\\\@raggedtwoe@savedcr + \let\@gnewline\@raggedtwoe@saved@gnewline + \leftskip\z@ + \@rightskip\z@ + \rightskip\@rightskip + \parfillskip\JustifyingParfillskip + \parindent\JustifyingParindent + \@raggedtwoe@spaceskipfalse + \@raggedtwoe@everyselectfont + } +% \end{macrocode} +% \end{macro} +% +% +% ^^A ----------------------------- +% +% \subsection{The environments} +% ^^A +% \begin{environment}{Center} +% \begin{environment}{FlushLeft} +% \begin{environment}{FlushRight} +% The environments \env{Center}, \env{FlushLeft}, and \cs{FlushRight} +% are implemented like their counterparts in \LaTeX: Start a +% \env{trivlist} and switch on the right command. +% \changes{v2.02}{2003/02/24}{Use \cs{trivlist} \ldots{} +% \cs{endtrivlist} instead of +% \cs{begin\{trivlist\}} \ldots{} +% \cs{end\{trivlist\}}} +% \begin{macrocode} +\newenvironment{Center}{% + \trivlist + \Centering\item\relax + }{% + \endtrivlist + } +\newenvironment{FlushLeft}{% + \trivlist + \RaggedRight\item\relax + }{% + \endtrivlist + } +\newenvironment{FlushRight}{% + \trivlist + \RaggedLeft\item\relax + }{% + \endtrivlist + } +% \end{macrocode} +% \end{environment} +% \end{environment} +% \end{environment} +% \begin{environment}{justify} +% \env{justify} is similar to the other environments: Start a +% \env{trivlist} and use \cs{justifying}. +% \changes{v2.00}{2003/01/04}{New environment} +% \changes{v2.02}{2003/02/24}{Use \cs{trivlist} \ldots{} +% \cs{endtrivlist} instead of +% \cs{begin\{trivlist\}} \ldots{} +% \cs{end\{trivlist\}}} +% \begin{macrocode} +\newenvironment{justify}{% + \trivlist + \justifying\item\relax + }{% + \endtrivlist + } +% \end{macrocode} +% \end{environment} +% +% +% ^^A ----------------------------- +% +% \subsection{Overloading the \LaTeX-commands} +% ^^A +% If the option \option{newcommands} is used, we save the original +% \LaTeX-commands and environments for ragged text and overload them. +% \changes{v2.04}{2003/03/02}{Save more commands} +% \changes{v2.1}{2003/10/08}{bugfix: \cs{Flushleft} instead of +% \cs{FlushLeft} (found by Berend Hasselman)} +% \begin{macrocode} +\if@raggedtwoe@originalcommands +\else + \let\LaTeXcentering\centering + \let\LaTeXraggedleft\raggedleft + \let\LaTeXraggedright\raggedright + \let\centering\Centering + \let\raggedleft\RaggedLeft + \let\raggedright\RaggedRight + \let\LaTeXcenter\center + \let\endLaTeXcenter\endcenter + \let\LaTeXflushleft\flushleft + \let\endLaTeXflushleft\endflushleft + \let\LaTeXflushright\flushright + \let\endLaTeXflushright\endflushright + \let\center\Center + \let\endcenter\endCenter + \let\flushleft\FlushLeft + \let\endflushleft\endFlushLeft + \let\flushright\FlushRight + \let\endflushright\endFlushRight +\fi +% \end{macrocode} +% +% ^^A ----------------------------- +% +% \begin{macrocode} +%</package> +% \end{macrocode} +% \Finale +% ^^A vim:tw=70:ts=2 diff --git a/Master/texmf-dist/source/latex/ragged2e/ragged2e.ins b/Master/texmf-dist/source/latex/ragged2e/ragged2e.ins new file mode 100644 index 00000000000..72cc08ee565 --- /dev/null +++ b/Master/texmf-dist/source/latex/ragged2e/ragged2e.ins @@ -0,0 +1,107 @@ +\NeedsTeXFormat{LaTeX2e} +\ProvidesFile{ragged2e.ins} + [2019/04/14 v1.5 Installation script for Ragged2e Package (MS)] +%% +%% Copyright 1996..2019 by Martin Schr\"oder. +%% +%% This work may be distributed and/or modified under the +%% conditions of the LaTeX Project Public License, either version 1.3 +%% of this license or (at your option) any later version. +%% The latest version of this license is in +%% http://www.latex-project.org/lppl.txt +%% and version 1.3 or later is part of all distributions of LaTeX +%% version 2005/12/01 or later. +%% +%% This work has the LPPL maintenance status `maintained'. +%% +%% The Current Maintainer of this work is Martin Schr\"oder. +%% +%% This work consists of the files ragged2e.dtx and ragged2e.ins +%% and the derived file ragged2e.sty. +%% +%% --------------- start of docstrip commands ------------------ +\input docstrip.tex +{\ifx\endbatchfile\undefined +\Msg{**********************************************} +\Msg{*} +\Msg{* This installation requires docstrip} +\Msg{* version 2.4d or later.} +\Msg{*} +\Msg{* An older version of docstrip has been input} +\Msg{*} +\Msg{**********************************************} +\errhelp{Move or rename old docstrip.tex.} +\errmessage{Old docstrip in input path} +\batchmode +\csname @@end\endcsname +\fi} + +\Msg{***********************************************************} +\Msg{*} +\Msg{* The ragged2e distribution contains these files:} +\Msg{*} +\Msg{* \space\space ragged2e.dtx} +\Msg{* \space\space ragged2e.ins} +\Msg{*} +\Msg{* If you receive only some of these files from someone, complain!} +\Msg{*} +\Msg{***********************************************************} + +\preamble + +Copyright 1996..2019 Martin Schroeder. + +This file is part of the Ragged2e package +----------------------------------------- + +This work may be distributed and/or modified under the +conditions of the LaTeX Project Public License, either version 1.3 +of this license or (at your option) any later version. +The latest version of this license is in + http://www.latex-project.org/lppl.txt +and version 1.3 or later is part of all distributions of LaTeX +version 2005/12/01 or later. + +This work has the LPPL maintenance status `maintained'. + +The Current Maintainer of this work is Martin Schroeder. + +This work consists of the files ragged2e.dtx and ragged2e.ins +and the derived file ragged2e.sty. + +\endpreamble +\declarepreamble\driverpreamble + +Copyright 1996..2019 Martin Schroeder. + +This file is part of the Ragged2e package +----------------------------------------- + +To produce the documentation in the way you like you are allowed +to change this driver file. + +\endpreamble + +\keepsilent +\askforoverwritefalse +\generate{\file{ragged2e.sty}{\from{ragged2e.dtx}{package}} + \usepreamble\driverpreamble + \file{ragged2e.drv}{\from{ragged2e.dtx}{driver}} + } + +\Msg{***********************************************************} +\Msg{*} +\Msg{* To finish the installation you have to move the following} +\Msg{* style files into a directory searched by TeX:} +\Msg{*} +\Msg{* \space\space ragged2e.sty} +\Msg{*} +\Msg{* To produce the documentation run the file ragged2e.drv} +\Msg{* through LaTeX.} +\Msg{*} +\Msg{* Happy TeXing} +\Msg{***********************************************************} +\endbatchfile +%% +%% End of file `ragged2e.ins'. +%% vim:syntax=tex:tw=70:ts=2 diff --git a/Master/texmf-dist/tex/latex/ragged2e/ragged2e.sty b/Master/texmf-dist/tex/latex/ragged2e/ragged2e.sty new file mode 100644 index 00000000000..f8873eaab66 --- /dev/null +++ b/Master/texmf-dist/tex/latex/ragged2e/ragged2e.sty @@ -0,0 +1,316 @@ +%% +%% This is file `ragged2e.sty', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% ragged2e.dtx (with options: `package') +%% +%% Copyright 1996..2019 Martin Schroeder. +%% +%% This file is part of the Ragged2e package +%% ----------------------------------------- +%% +%% This work may be distributed and/or modified under the +%% conditions of the LaTeX Project Public License, either version 1.3 +%% of this license or (at your option) any later version. +%% The latest version of this license is in +%% http://www.latex-project.org/lppl.txt +%% and version 1.3 or later is part of all distributions of LaTeX +%% version 2005/12/01 or later. +%% +%% This work has the LPPL maintenance status `maintained'. +%% +%% The Current Maintainer of this work is Martin Schroeder. +%% +%% This work consists of the files ragged2e.dtx and ragged2e.ins +%% and the derived file ragged2e.sty. +%% +\NeedsTeXFormat{LaTeX2e}[2017/03/29] +\ProvidesPackage{ragged2e} + [2019/07/28 v2.2 ragged2e Package (MS)] +%% Copyright 1996..2019 by Martin Schr\"oder. +%% \CharacterTable +%% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z +%% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z +%% Digits \0\1\2\3\4\5\6\7\8\9 +%% Exclamation \! Double quote \" Hash (number) \# +%% Dollar \$ Percent \% Ampersand \& +%% Acute accent \' Left paren \( Right paren \) +%% Asterisk \* Plus \+ Comma \, +%% Minus \- Point \. Solidus \/ +%% Colon \: Semicolon \; Less than \< +%% Equals \= Greater than \> Question mark \? +%% Commercial at \@ Left bracket \[ Backslash \\ +%% Right bracket \] Circumflex \^ Underscore \_ +%% Grave accent \` Left brace \{ Vertical bar \| +%% Right brace \} Tilde \~} +%% +%% \iffalse meta-comment +%% =================================================================== +%% @LaTeX-style-file{ +%% author = {Martin Schr\"oder}, +%% version = "2.2", +%% date = "26 Mar 2019", +%% filename = "ragged2e.sty", +%% address = {Martin Schr\"oder +%% Unterstra\"se 31 +%% 47051 Duisburg +%% Germany} +%% email = "martin@oneiros.de", +%% docstring = "LaTeX package which defines new commands +%% \Centering, \RaggedLeft, \RaggedRight and +%% \justifying and new environments Center, +%% FlushLeft, FlushRight and justify, which +%% set ragged text and are easily configurable +%% to allow hyphenation. +%% Uses the everysel package. +%% " +%% } +%% =================================================================== +%% \fi +\newif\if@raggedtwoe@originalcommands +\newif\if@raggedtwoe@originalparameters +\newif\if@raggedtwoe@footmisc +\DeclareOption{OriginalCommands}{\@raggedtwoe@originalcommandstrue} +\DeclareOption{originalcommands}{\@raggedtwoe@originalcommandstrue} +\DeclareOption{NewCommands}{\@raggedtwoe@originalcommandsfalse} +\DeclareOption{newcommands}{\@raggedtwoe@originalcommandsfalse} +\DeclareOption{OriginalParameters}{\@raggedtwoe@originalparameterstrue} +\DeclareOption{originalparameters}{\@raggedtwoe@originalparameterstrue} +\DeclareOption{NewParameters}{\@raggedtwoe@originalparametersfalse} +\DeclareOption{newparameters}{\@raggedtwoe@originalparametersfalse} +\newcommand*{\@raggedtwoe@raggedrightboxes@opt}{ + \CheckCommand*{\@arrayparboxrestore}{% + \let\if@nobreak\iffalse + \let\if@noskipsec\iffalse + \let\par\@@par + \let\-\@dischyph + \let\'\@acci\let\`\@accii\let\=\@acciii + \parindent\z@ \parskip\z@skip + \everypar{}% + \linewidth\hsize + \@totalleftmargin\z@ + \leftskip\z@skip \rightskip\z@skip \@rightskip\z@skip + \parfillskip\@flushglue + \lineskip\normallineskip + \lineskiplimit\normallineskiplimit + \baselineskip\normalbaselineskip + \sloppy}% + \renewcommand{\@arrayparboxrestore}{% + \let\if@nobreak\iffalse + \let\if@noskipsec\iffalse + \let\par\@@par + \let\-\@dischyph + \let\'\@acci\let\`\@accii\let\=\@acciii + \parskip\z@skip + \everypar{}% + \linewidth\hsize + \@totalleftmargin\z@ + \RaggedRight + \lineskip\normallineskip + \baselineskip\normalbaselineskip + \lineskiplimit\normallineskiplimit + \sloppy}% + \let\@raggedtwoe@raggedrightboxes@opt\relax + } +\DeclareOption{raggedrightboxes}{\@raggedtwoe@raggedrightboxes@opt} +\DeclareOption{footnotes}{% + \@raggedtwoe@footmisctrue + \PassOptionsToPackage{ragged}{footmisc}% + } +\newcommand{\@raggedtwoe@abdhook}{% + \PackageInfo{ragged2e}{ABD: executing \string\RaggedRight}% + \RaggedRight + \@ifundefined{@tocrmarg}{}{\edef\@tocrmarg{\@tocrmarg plus 2em}}% + \let\@raggedtwoe@abdhook\relax + } +\newcommand{\@raggedtwoe@document@opt}{% + \AtBeginDocument{\@raggedtwoe@abdhook}% + \@raggedtwoe@raggedrightboxes@opt + \@raggedtwoe@footmisctrue + \let\@raggedtwoe@document@opt\relax + } +\DeclareOption{document}{\@raggedtwoe@document@opt} +\DeclareOption*{% + \if@raggedtwoe@footmisc + \PassOptionsToPackage{\CurrentOption}{footmisc}% + \else + \OptionNotUsed + \fi + } +%% ^^A ----------------------------- +\ExecuteOptions{originalcommands,newparameters} +\ProcessOptions\relax +\RequirePackage{everysel} +\if@raggedtwoe@footmisc + \RequirePackage{footmisc}[2002/08/28] +\fi +\newlength{\CenteringLeftskip} +\newlength{\RaggedLeftLeftskip} +\newlength{\RaggedRightLeftskip} +\newlength{\CenteringRightskip} +\newlength{\RaggedLeftRightskip} +\newlength{\RaggedRightRightskip} +\newlength{\CenteringParfillskip} +\newlength{\RaggedLeftParfillskip} +\newlength{\RaggedRightParfillskip} +\newlength{\JustifyingParfillskip} +\newlength{\CenteringParindent} +\newlength{\RaggedLeftParindent} +\newlength{\RaggedRightParindent} +\newlength{\JustifyingParindent} +\if@raggedtwoe@originalparameters + \CenteringLeftskip\@flushglue + \RaggedLeftLeftskip\@flushglue + \RaggedRightLeftskip\z@skip + \CenteringRightskip\@flushglue + \RaggedLeftRightskip\z@skip + \RaggedRightRightskip\@flushglue + \CenteringParfillskip\z@skip + \RaggedLeftParfillskip\z@skip + \RaggedRightParfillskip\@flushglue + \CenteringParindent\z@ + \RaggedLeftParindent\z@ + \RaggedRightParindent\z@ +\else + \CenteringLeftskip\z@\@plus\tw@ em + \RaggedLeftLeftskip\z@\@plus\tw@ em + \RaggedRightLeftskip\z@skip + \CenteringRightskip\z@\@plus\tw@ em + \RaggedLeftRightskip\z@skip + \RaggedRightRightskip\z@\@plus\tw@ em + \CenteringParfillskip\z@skip + \RaggedLeftParfillskip\z@skip + \RaggedRightParfillskip\@flushglue + \CenteringParindent\z@ + \RaggedLeftParindent\z@ + \RaggedRightParindent\z@ +\fi +\JustifyingParfillskip\@flushglue +\JustifyingParindent\parindent +\newif\if@raggedtwoe@spaceskip +\newcommand{\@raggedtwoe@everyselectfont}{% + \if@raggedtwoe@spaceskip + \ifdim\fontdimen\thr@@\font=\z@\relax + \spaceskip\z@ + \else + \spaceskip\fontdimen\tw@\font + \fi + \else + \spaceskip\z@ + \fi + } +\EverySelectfont{\@raggedtwoe@everyselectfont} +\let\@raggedtwoe@savedcr\\ +\let\@raggedtwoe@saved@gnewline\@gnewline +\newcommand*{\@raggedtwoe@gnewline}[1]{% + \ifvmode + \@nolnerr + \else + \unskip + \ifmmode + \reserved@e {\reserved@f #1}\nobreak \hfil \break + \else + \reserved@e {\reserved@f #1}{\parskip\z@\par}% + \fi + \fi + } +\newcommand{\Centering}{% + \ifx\\\@raggedtwoe@savedcr + \let\\\@centercr + \fi + \let\@gnewline\@raggedtwoe@gnewline + \leftskip\CenteringLeftskip + \@rightskip\CenteringRightskip + \rightskip\@rightskip + \parfillskip\CenteringParfillskip + \parindent\CenteringParindent + \@raggedtwoe@spaceskiptrue + \@raggedtwoe@everyselectfont + } +\newcommand{\RaggedLeft}{% + \ifx\\\@raggedtwoe@savedcr + \let\\\@centercr + \fi + \let\@gnewline\@raggedtwoe@gnewline + \leftskip\RaggedLeftLeftskip + \@rightskip\RaggedLeftRightskip + \rightskip\@rightskip + \parfillskip\RaggedLeftParfillskip + \parindent\RaggedLeftParindent + \@raggedtwoe@spaceskiptrue + \@raggedtwoe@everyselectfont + } +\newcommand{\RaggedRight}{% + \ifx\\\@raggedtwoe@savedcr + \let\\\@centercr + \fi + \let\@gnewline\@raggedtwoe@gnewline + \leftskip\RaggedRightLeftskip + \@rightskip\RaggedRightRightskip + \rightskip\@rightskip + \parfillskip\RaggedRightParfillskip + \parindent\RaggedRightParindent + \@raggedtwoe@spaceskiptrue + \@raggedtwoe@everyselectfont + } +\newcommand{\justifying}{% + \let\\\@raggedtwoe@savedcr + \let\@gnewline\@raggedtwoe@saved@gnewline + \leftskip\z@ + \@rightskip\z@ + \rightskip\@rightskip + \parfillskip\JustifyingParfillskip + \parindent\JustifyingParindent + \@raggedtwoe@spaceskipfalse + \@raggedtwoe@everyselectfont + } +\newenvironment{Center}{% + \trivlist + \Centering\item\relax + }{% + \endtrivlist + } +\newenvironment{FlushLeft}{% + \trivlist + \RaggedRight\item\relax + }{% + \endtrivlist + } +\newenvironment{FlushRight}{% + \trivlist + \RaggedLeft\item\relax + }{% + \endtrivlist + } +\newenvironment{justify}{% + \trivlist + \justifying\item\relax + }{% + \endtrivlist + } +\if@raggedtwoe@originalcommands +\else + \let\LaTeXcentering\centering + \let\LaTeXraggedleft\raggedleft + \let\LaTeXraggedright\raggedright + \let\centering\Centering + \let\raggedleft\RaggedLeft + \let\raggedright\RaggedRight + \let\LaTeXcenter\center + \let\endLaTeXcenter\endcenter + \let\LaTeXflushleft\flushleft + \let\endLaTeXflushleft\endflushleft + \let\LaTeXflushright\flushright + \let\endLaTeXflushright\endflushright + \let\center\Center + \let\endcenter\endCenter + \let\flushleft\FlushLeft + \let\endflushleft\endFlushLeft + \let\flushright\FlushRight + \let\endflushright\endFlushRight +\fi +\endinput +%% +%% End of file `ragged2e.sty'. diff --git a/Master/tlpkg/bin/tlpkg-ctan-check b/Master/tlpkg/bin/tlpkg-ctan-check index 4011c35646f..3fa7e12fd61 100755 --- a/Master/tlpkg/bin/tlpkg-ctan-check +++ b/Master/tlpkg/bin/tlpkg-ctan-check @@ -582,7 +582,7 @@ my @TLP_working = qw( qcircuit qcm qobitree qrcode qsharp qstest qsymbols qtree quantikz quattrocento quicktype quotchap quoting quotmark quran quran-de quran-ur - r_und_s raleway ran_toks randbild randomlist randomwalk randtext + r_und_s ragged2e raleway ran_toks randbild randomlist randomwalk randtext rank-2-roots rccol rcs rcs-multi rcsinfo readarray realboxes realhats realscripts rec-thy recipe recipebook recipecard recycle rectopma diff --git a/Master/tlpkg/libexec/ctan2tds b/Master/tlpkg/libexec/ctan2tds index 87916587cd1..e68f4681ac0 100755 --- a/Master/tlpkg/libexec/ctan2tds +++ b/Master/tlpkg/libexec/ctan2tds @@ -1067,7 +1067,6 @@ chomp (my $ctan_root = `tlpkginfo --ctan-root`); 'quran', "&MAKEflatten", 'quran-de', "&MAKEflatten", 'r2bib', "die 'skipping, requires compilation'", - 'ragged2e', "die 'skipping, part of ms'", 'rake4latex', "die 'skipping, requires rake'", 'rangen', "die 'skipping, per author request'", 'ratexdb', "die 'skipping, needs sql, etc.'", diff --git a/Master/tlpkg/tlpsrc/collection-latexrecommended.tlpsrc b/Master/tlpkg/tlpsrc/collection-latexrecommended.tlpsrc index ac5f7f3569a..169b888caf8 100644 --- a/Master/tlpkg/tlpsrc/collection-latexrecommended.tlpsrc +++ b/Master/tlpkg/tlpsrc/collection-latexrecommended.tlpsrc @@ -55,6 +55,7 @@ depend parskip depend pdfpages depend polyglossia depend psfrag +depend ragged2e depend rcs depend sansmath depend section diff --git a/Master/tlpkg/tlpsrc/ragged2e.tlpsrc b/Master/tlpkg/tlpsrc/ragged2e.tlpsrc new file mode 100644 index 00000000000..e69de29bb2d --- /dev/null +++ b/Master/tlpkg/tlpsrc/ragged2e.tlpsrc |