From e0c6872cf40896c7be36b11dcc744620f10adf1d Mon Sep 17 00:00:00 2001 From: Norbert Preining Date: Mon, 2 Sep 2019 13:46:59 +0900 Subject: Initial commit --- macros/latex/contrib/faktor/README | 122 ++++++++++++++++++ macros/latex/contrib/faktor/faktor.dtx | 223 +++++++++++++++++++++++++++++++++ macros/latex/contrib/faktor/faktor.ins | 60 +++++++++ macros/latex/contrib/faktor/faktor.pdf | Bin 0 -> 102352 bytes 4 files changed, 405 insertions(+) create mode 100644 macros/latex/contrib/faktor/README create mode 100644 macros/latex/contrib/faktor/faktor.dtx create mode 100644 macros/latex/contrib/faktor/faktor.ins create mode 100644 macros/latex/contrib/faktor/faktor.pdf (limited to 'macros/latex/contrib/faktor') diff --git a/macros/latex/contrib/faktor/README b/macros/latex/contrib/faktor/README new file mode 100644 index 0000000000..ca80c4c4b2 --- /dev/null +++ b/macros/latex/contrib/faktor/README @@ -0,0 +1,122 @@ +[en] +LaTeX-package 'faktor' - typeset quotient structures. + +Author: Paul Ebermann +License: LPPL 1.3b or later, author-maintained + (see http://www.latex-project.org/lppl/). + +All Documentation (other than this file) is in german. + +You'll need also to load the package 'amssymb' (or another +package with defines a similar looking \diagup). +The typesetting of the documentation needs 'pauldoc' (from the +same author) and 'amssymb'. + +The package comes as .dtx + .ins. +Run "latex faktor.ins" to create the style file (and maybe put +it to texmf/tex/latex/paul/, if your docstrip is configured +accordingly), run (after that and maybe updating your TeX hash) +"latex faktor.dtx" to create the documentation. + + Usage +------- + +Put \usepackage{faktor} in your document preamble. +You also have to load 'amssymb' or any other package, +which defines \diagup (which should be a similar +looking symbol). + +Then you can use + + \factor{A}{B} + +to typeset a quotient structure A modulo B: + + A / + / B + +Different to 'nicefrac', the formulas A and B don't change +their size, the only move up or down, thus making the whole +formula heigher and deeper. +There is also an optional argument, with which you can give +a command to be applied to both formulas, such as a math +style command or a font changing command. + +---------------- +[de] +LaTeX-Paket 'faktor' - Quotientenstrukturen (und ein schöneres +Aussehen dieser in LaTeX.) + +Autor: Paul Ebermann (Paul-Ebermann@gmx.de). +Lizenz: LPPL 1.3b oder später, mit Maintenance-Status + "author-maintained". Siehe http://www.latex-project.org/lppl/. + +Geschrieben für den eigenen Gebrauch +(-> http://www.math.hu-berlin.de/~ebermann/alg-script/), +aber vielleicht ist es auch für andere von Nutzen. + +Das Paket benötigt 'amssymb' oder ein anderes Paket, +welches ein ähnlich aussehendes '\diagup' definiert. +Zum Setzen der Dokumentation wird das Paket 'pauldoc' +(vom selben Autor) benötigt. + +Das Paket kommt als .dtx + .ins. +Mit "latex faktor.ins" wird die .sty-Datei erstellt (und +eventuell gleich nach texmf/tex/latex/paul/ installiert, +wenn docstrip entsprechend eingerichtet ist), mit +latex faktor.dtx kann (danach und eventuell nach einer +Aktualisierung der TeX-Dateidatenbank) die Dokumentation neu +erstellt werden. + +Zur Verwendung siehe faktor.pdf. +---------------- +[eo-h] +LaTeX-pakajho 'faktor' - Kvocientaj (au faktoraj) strukturoj + en LaTeX. + +Autoro: Paulo Ebermann (Paul-Ebermann@gmx.de). +Licenzo: LPPL 1.3, 'author-maintained' + (-> http://www.latex-project.org/lppl/). + +Kreitaj por propra uzo, sed eble iom de ghi ankau +uzeblas por aliaj. + +La dokumentaro (escepte tiu chi dosiero) estas nur en la germana +lingvo. + +La pakajho bezonas la pakajhon 'amsmath' kaj 'amssymb'. +Por krei la dokumentadon vi krome bezonas 'pauldoc' (de la sama autoro). + +La pakajho venas en .dtx + .ins. +Voku "latex faktor.ins" por krei la .sty-dosieron (kaj +eble meti ghin al texmf/tex/latex/paul/, se via docstrip estis +konfigurita laue), voku "latex faktor.dtx" por rekrei +la dokumentaron. + + Uzado +------- + +Metu + + \usepackage{faktor} + +en la komencon de la dokumento (antau \begin{document}). +Vi ankau devas voki 'amssymb' au alia pakajho, kiu +difinas \diagup (kiu estu similaspekta simbolo kiel +tiu de 'amssymb'). + +Poste vi povas uzi + + \factor{A}{B} + +por krei la faktoran strukturon A modulo B: + + A / + / B + +Alie ol per 'nicefrac', la formuloj A kaj B ne shanghas +sian la grandecon, ili nur movighas supren kaj suben, kaj +tiel la tuta formulo ighas pli alte kaj pli profunde. +Krome estas opcia argumento, per kiu vi povas doni +komandon vokenda por ambau formuloj, ekzemple shanghon +de la matematika stilo au tiparshanghon. diff --git a/macros/latex/contrib/faktor/faktor.dtx b/macros/latex/contrib/faktor/faktor.dtx new file mode 100644 index 0000000000..54cffd7d52 --- /dev/null +++ b/macros/latex/contrib/faktor/faktor.dtx @@ -0,0 +1,223 @@ +% \iffalse meta-comment +% +%% (C) 2006 Paul Ebermann +%% +%% Package faktor - Faktorringe, -gruppen, -räume +%% +%% Die Datei faktor.dtx sowie die dazugehörige +%% faktor.ins sowie die damit generierte +%% faktor.sty stehen unter der +%% "LaTeX Project Public License" (LPPL, zu finden +%% unter http://www.latex-project.org/lppl/, sowie +%% auch in den meisten TeX-Distributionen in +%% texmf/docs/latex/base/lppl*.txt), Version 1.3b oder +%% später (nach Wahl des Verwenders). +%% +%% Der 'maintenance-status' ist (zur Zeit) 'author-maintained'. +%% +%% Das heißt u.a., die Dateien dürfen frei vertrieben werden, +%% bei Änderungen (durch andere Personen als Paul Ebermann) +%% ist aber der Name der Datei zu ändern. +% \fi +% +% \iffalse +%\NeedsTeXFormat{LaTeX2e}[2003/12/01] +%\ProvidesPackage{faktor} +% [2006/04/05 v0.1b Faktor-Ringe, -Gruppen, -Raeume (PE)] +% +%<*driver> +\documentclass[draft,ngerman]{ltxdoc} +\usepackage{faktor} +\usepackage{amssymb} +\usepackage{pauldoc} +\begin{document} + \DocInput{faktor.dtx} +\end{document} +% +% \fi +% +% \CheckSum{29} +% +% +% \changes{v0.1}{2006/02/12}{Erste Fassung als .DTX} +% \changes{v0.1a}{2006/03/23}{Lizenzbestimmungen im Quelltext präzisiert.} +% \changes{v0.1b}{2006/04/05}{Tippfehler in der Dokumentation beseitigt.} +% +% \GetFileInfo{faktor.sty} +% +% \DoNotIndex{\DeclareRobustCommand,\endinput,\ensuremath} +% \DoNotIndex{\newcommand,\newlength} +% +% \title{Das \pack{faktor}-Package -- Faktor-Ringe, -Gruppen, -Räume\thanks{% +% Dieses Dokument gehört zu \pack{faktor}~\fileversion, +% vom~\filedate.}} +% \author{Paul Ebermann\thanks{\texttt{Paul-Ebermann@gmx.de}}} +% +% \maketitle +% \begin{abstract} +% In der Algebra, der Topologie, etc. tauchen gelegentlich +% Faktorstrukturen auf -- etwa Faktormengen, Faktorgruppen, Faktorringe, +% Faktorräume. Diese haben alle eine ähnliche Notation: +% ${\faktor{A}{B}}$. Bisher konnte man dies in \LaTeX{} nicht vernünftig +% setzen, dieses Paket schafft Abhilfe. +% \end{abstract} +% \tableofcontents +% +% \section{Benutzerdoku} +% +% +% \subsection{Anwendung} +% +% Um das Paket zu laden, verwendet man wie üblich +%\begin{verbatim} +% \usepackage{faktor} +%\end{verbatim} +% Package-Optionen gibt es bisher nicht. +% +% \DescribeMacro{\faktor} +% Das namensgebende (und zur Zeit einzige) Makro ist '\faktor'. +% Es funktioniert nur im mathematischen Modus. +%\begin{quote} +% '\faktor'\oarg{stylecmd}\marg{zähler}\marg{nenner} +%\end{quote} +% \meta{zähler} und \meta{nenner} sollten jeweils Formeln für den +% mathematischen Modus sein. Dieses Makro setzt dann ein Faktor-Objekt, +% also "`\meta{zähler} faktorisiert nach \meta{nenner}"'. Im Effekt wird +% dabei ein $\diagup$ auf natürlicher Höhe gemalt, links daneben +% (höhergesetzt) \meta{nenner}, rechts daneben (tiefergesetzt) \meta{zähler}. +% +% Falls \meta{stylecmd} angegeben wurde, wird es auf \meta{zähler} und \meta{nenner} jeweils +% bei der Ausgabe angewandt -- dies könnte also etwa ein Kommando sein, +% um Schriftart o.ä. zu ändern. +% +% \subsubsection{Beispiel} +%\begin{verbatim} +% $$\faktor{\sum_{i=1}^n k[X]}{\sum_{i=1}^n k[X] \cdot \theta_i}$$ +%\end{verbatim} +% ergibt: +% $$\faktor{\sum_{i=1}^n k[X]}{\sum_{i=1}^n k[X] \cdot \theta_i}$$ +% +% \subsection{Abhängigkeiten} +% \DescribeMacro{\diagup} +% Dieses Package verwendet das Zeichen '\diagup' ($\diagup$) aus dem +% \pack{amssymb}-Paket -- wenn dieses nicht definiert ist, gibt es also +% einen Fehler, sobald '\faktor' verwendet wird. Daher sollte dieses Paket +% nur gemeinsam mit \pack{amssymb} oder einem anderen Paket, welches ein +% gleich benanntes und ähnlich funktionierendes Zeichen zur Verfügung +% stellt, verwendet werden. Notfalls kann man dieses Zeichen auch einzeln +% laden (eine Anleitung dafür findet man in der Dokumentation von +% \pack{amsfonts}), oder als 'picture' simulieren. +% +% \StopEventually{\PrintChanges\PrintIndex} +% +% \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 \~} +% +% \section{Implementation} +% Die Implementation ist ähnlich zu der des \pack{nicefrac}-Paketes, +% allerdings etwas vereinfacht, weil wir ja nichts verkleinern wollen. +% +% \begin{macrocode} +%<*package> +% \end{macrocode} +% \begin{macro}{\faktor@zaehlerhoehe} +% \begin{macro}{\faktor@nennerhoehe} +% In diesen beiden Registern speichern wir +% nachher die Höhen von "`Zähler"' und "`Nenner"' +% (d.h. Grundobjekt und faktorisierendes Objekt). +% \begin{macrocode} +\newlength{\faktor@zaehlerhoehe} +\newlength{\faktor@nennerhoehe} +% \end{macrocode} +% \end{macro} +% \end{macro} +% \begin{macro}{\faktor} +% \changes{v0.1}{2006/02/12}{Jetzt Berücksichtigung des Mathe-Stils.} +% Der erste Parameter ist optional, vorgabemäßig leer. '\faktor' ruft '\faktor@impl@' auf, +% und gibt mittels '\mathpalette', je nach aktuellem Mathe-Stil, das Kommando, um in +% diesen Stil zu wechseln (also '\displaystyle', '\textstyle', \dots), mit. Die +% '{}' drumherum sorgen dafür, dass das ganze +% als ein einziges Objekt gewertet wird, an das man z.B. Sub- und +% Superscript anhängen kann. (Außerdem haben wir eine Gruppe, d.h. die +% Zuweisungen zu '\faktor@zaehlerhoehe' und '\faktor@nennerhoehe' +% bleiben lokal. +% \begin{macrocode} +\DeclareRobustCommand*{\faktor}[3][] +{ + { \mathpalette{\faktor@impl@}{{#1}{#2}{#3}} } +} +% \end{macrocode} +% \end{macro} +% \begin{macro}{\faktor@impl@} +% Dieses Hilfsmakro entsorgt einfach nur die +% zusätzlichen Klammern, welche von '\mathpalette' um '#2' +% eingefügt wurden, damit '\faktor@impl' vier Argumente +% und nicht nur zwei bekommt. +% \begin{macrocode} +\newcommand*{\faktor@impl@}[2]{\faktor@impl#1#2} +% \end{macrocode} +% \end{macro} +% \begin{macro}{\faktor@impl}\noindent\marg{modeCmd}\marg{zusatz}\marg{zähler}\marg{nenner} +% +% '\faktor@impl' macht die eigentliche Arbeit. +% Es ermittelt zunächst Höhen von \meta{zähler} und \meta{nenner} +% (abhängig von \meta{modeCmd} und \meta{zusatz}). +% \begin{macrocode} +\newcommand*{\faktor@impl}[4]{ + \settoheight{\faktor@zaehlerhoehe}{\ensuremath{#1#2{#3}}}% + \settoheight{\faktor@nennerhoehe}{\ensuremath{#1#2{#4}}}% +% \end{macrocode} +% Dann wird, um die Hälfte seiner Höhe nach oben geschoben, +% \emph{zähler} gesetzt. +% \begin{macrocode} + \raisebox{0.5\faktor@zaehlerhoehe}{\ensuremath{#1#2{#3}}}% +% \end{macrocode} +% Jetzt kommt eine negativer horizontaler Abstand, der diagonale +% Strich, dann noch ein negativer horizontaler Abstand, um das +% ganze etwas zusammenzurücken. +% \begin{macrocode} + \mkern-5mu\diagup\mkern-4mu% +% \end{macrocode} +% Schließlich kommt \meta{nenner}, um die Hälfte seiner Höhe nach unten geschoben. +% \begin{macrocode} + \raisebox{-0.5\faktor@nennerhoehe}{\ensuremath{#1#2{#4}}}% +} +% \end{macrocode} +% \end{macro} +% Das war es. +% \begin{macrocode} +\endinput +% +% \end{macrocode} +% +% \section{Bug} +% Beim höher- und tiefersetzen von Zähler und Nenner +% wird jeweils nur die \emph{Höhe} des Objektes berücksichtigt, +% nicht die Tiefe (d.h. Unterlängen). +% Dadurch (?) kommt es bei größeren Brüchen gelegentlich zu +% etwas komischem Aussehen: +% $$ \faktor{\faktor{a}{b}}{\faktor{b}{c}}$$ +% +% \Finale +%\endinput + + +%%% Folgendes ist nur für meinen Editor. +%%% +%%% Local Variables: +%%% mode: latex +%%% TeX-master: t +%%% End: diff --git a/macros/latex/contrib/faktor/faktor.ins b/macros/latex/contrib/faktor/faktor.ins new file mode 100644 index 0000000000..e9460abdda --- /dev/null +++ b/macros/latex/contrib/faktor/faktor.ins @@ -0,0 +1,60 @@ +%% +%% (C) 2002-2006 Paul Ebermann - Installationsdatei zu faktor.dtx +%% +%% Der vollständige Urheberrechtshinweis befindet sich +%% am Begin von faktor.dtx. +%% +%% Ich gebe keine Garantie irgendeiner Art. +%% + +\input docstrip.tex +\usedir{tex/latex/paul} + +\Msg{**********************************************************} +\Msg{* Ich werde Dateien in \showdirectory{tex/latex/paul} } +\Msg{* installieren. Bitte stellen Sie sicher, } +\Msg{* dass dieses Verzeichnis vorhanden ist. } +\Msg{* } + +%% der folgende Text wird in jeder generierten +%% Datei am Anfang eingefügt. +\preamble + + ,--------------------------------------------------. + | Das ist eine generierte Datei. | + | | + | (c) 2006 Paul Ebermann. | + '--------------------------------------------------' +\endpreamble + + +\generate{\file{faktor.sty}{\from{faktor.dtx}{package}}} +%\generate{\file{minimal.cls}{\from{minimal.dtx}{class}}} + +\Msg{#######################} +\Msg{# } +\Msg{# Um die Installation zu beenden, } +\Msg{# müssen Sie die folgenden Dateien } +\Msg{# in Ihrem TeX-Suchbaum unterbringen: } +\Msg{# } +\Msg{# faktor.sty } +\Msg{# } +\Msg{# Um eine Dokumentation zu erzeugen, } +\Msg{# benutzen Sie } +\Msg{# } +\Msg{# latex faktor.dtx } +\Msg{# } +\Msg{# Viel Spaß } +\Msg{# Paul Ebermann } +\Msg{# } +\Msg{#######################} + +\endbatchfile + + +%%% Folgendes ist nur für meinen Editor. +%%% +%%% Local Variables: +%%% mode: latex +%%% TeX-master: t +%%% End: diff --git a/macros/latex/contrib/faktor/faktor.pdf b/macros/latex/contrib/faktor/faktor.pdf new file mode 100644 index 0000000000..7b66a1cdd7 Binary files /dev/null and b/macros/latex/contrib/faktor/faktor.pdf differ -- cgit v1.2.3