summaryrefslogtreecommitdiff
path: root/macros/latex/contrib/faktor
diff options
context:
space:
mode:
authorNorbert Preining <norbert@preining.info>2019-09-02 13:46:59 +0900
committerNorbert Preining <norbert@preining.info>2019-09-02 13:46:59 +0900
commite0c6872cf40896c7be36b11dcc744620f10adf1d (patch)
tree60335e10d2f4354b0674ec22d7b53f0f8abee672 /macros/latex/contrib/faktor
Initial commit
Diffstat (limited to 'macros/latex/contrib/faktor')
-rw-r--r--macros/latex/contrib/faktor/README122
-rw-r--r--macros/latex/contrib/faktor/faktor.dtx223
-rw-r--r--macros/latex/contrib/faktor/faktor.ins60
-rw-r--r--macros/latex/contrib/faktor/faktor.pdfbin0 -> 102352 bytes
4 files changed, 405 insertions, 0 deletions
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 <Paul-Ebermann@gmx.de>
+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
+%<package>\NeedsTeXFormat{LaTeX2e}[2003/12/01]
+%<package>\ProvidesPackage{faktor}
+%<package> [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}
+%</driver>
+% \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
+%</package>
+% \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
--- /dev/null
+++ b/macros/latex/contrib/faktor/faktor.pdf
Binary files differ