diff options
author | Norbert Preining <norbert@preining.info> | 2019-09-02 13:46:59 +0900 |
---|---|---|
committer | Norbert Preining <norbert@preining.info> | 2019-09-02 13:46:59 +0900 |
commit | e0c6872cf40896c7be36b11dcc744620f10adf1d (patch) | |
tree | 60335e10d2f4354b0674ec22d7b53f0f8abee672 /macros/latex/contrib/minipage-marginpar |
Initial commit
Diffstat (limited to 'macros/latex/contrib/minipage-marginpar')
-rw-r--r-- | macros/latex/contrib/minipage-marginpar/README | 160 | ||||
-rw-r--r-- | macros/latex/contrib/minipage-marginpar/minipage-marginpar.dtx | 379 | ||||
-rw-r--r-- | macros/latex/contrib/minipage-marginpar/minipage-marginpar.ins | 68 | ||||
-rw-r--r-- | macros/latex/contrib/minipage-marginpar/minipage-marginpar.pdf | bin | 0 -> 197917 bytes | |||
-rw-r--r-- | macros/latex/contrib/minipage-marginpar/minipage-marginpar.sty | 73 | ||||
-rw-r--r-- | macros/latex/contrib/minipage-marginpar/mpgmpar.sty | 41 |
6 files changed, 721 insertions, 0 deletions
diff --git a/macros/latex/contrib/minipage-marginpar/README b/macros/latex/contrib/minipage-marginpar/README new file mode 100644 index 0000000000..d946954f27 --- /dev/null +++ b/macros/latex/contrib/minipage-marginpar/README @@ -0,0 +1,160 @@ +[en] +LaTeX-package 'minipage-marginpar' - allows \marginpars in minipages +and other boxes + +Author: Paul Ebermann <Paul-Ebermann@gmx.de> +License: LPPL 1.3b or later, maintained + (see http://www.latex-project.org/lppl/). + +All Documentation (other than this file) is in german. + +The typesetting of the documentation needs 'pauldoc' (from the +same author). + +The package comes as .dtx + .ins. +Run "latex minipage-marginpar.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 minipage-marginpar.dtx" to create the documentation. + + Usage +------- + +Put \usepackage{minipage-marginpar} in your document preamble. + +Then you can use the environment 'minipagewithmarginpars', +which works like minipage (but default align ist 't'), +in which \marginpar-commands are allowed, when the environment +is not used inside another box. + +Example: + + \begin{minipagewithmarginpars}{5cm} + Hello World. \marginpar{a margin note.} + \end{minipagewithmarginpars} + +You may want to create similar environments yourself, +for example to have boxed minipages. For this you +may use the internal commands \mpgmpar@savemarginpars +(inside a group) and \mpgmpar@restoremarginpars (after +this group, at a place where marginpars are allowed). + +Try this: + + \makeatletter + \newbox\boxed@box + \newenvironment{boxedpage}[1]{% + \begin{lrbox}{\boxed@box}% + \begin{minipage}[t]{#1} + \mpgmpar@savemarginpars + }{% + \end{minipage}% + \end{lrbox}% + \mpgmpar@restoremarginpars + }% + \makeatother + + + This ist a \begin{boxedpage}{4cm} boxed page with + \marginpar{margin paragraphs} + \end{boxedpage}. + +Environments created this way may be nested, the marginpars +then appear around the outest one. + +---------------- +[de] +LaTeX-Paket 'minipage-marginpar' - Randnotizen auch in Minipages + +Autor: Paul Ebermann (Paul-Ebermann@gmx.de). +Lizenz: LPPL 1.3b oder später, mit Maintenance-Status + "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. + +Zum Setzen der Dokumentation wird das Paket 'pauldoc' +(vom selben Autor) benötigt. + +Das Paket kommt als .dtx + .ins. +Mit "latex minipage-marginpar.ins" wird die .sty-Datei erstellt (und +eventuell gleich nach texmf/tex/latex/paul/ installiert, +wenn docstrip entsprechend eingerichtet ist), mit +latex minipage-marginpar.dtx kann (danach und eventuell nach einer +Aktualisierung der TeX-Dateidatenbank) die Dokumentation neu +erstellt werden. + +Zur Verwendung siehe minipage-marginpar.pdf. +---------------- +[eo] +LaTeX-pakaĵo 'minipage-marginpar' - marĝenaj notoj ankau en + minipage-oj kaj aliaj boksoj. + +Aŭtoro: Paŭlo Ebermann (Paul-Ebermann@gmx.de). +Licenzo: LPPL 1.3, 'maintained' + (-> http://www.latex-project.org/lppl/). + +Kreitaj por propra uzo, sed eble iom de ĝi ankaŭ +uzeblas por aliaj. + +La dokumentaro (escepte tiu ĉi dosiero) estas nur en la germana +lingvo. + +Por krei la dokumentadon vi krome bezonas 'pauldoc' (de la sama aŭtoro). + +La pakaĵo venas en .dtx + .ins. +Voku "latex minipage-marginpar.ins" por krei la .sty-dosieron (kaj +eble meti ĝin al texmf/tex/latex/paul/, se via docstrip estis +konfigurita laŭe), voku "latex minipage-marginpar.dtx" por rekrei +la dokumentaron. + + Uzado +------- + +Metu + + \usepackage{minipage-marginpar} + +en la komencon de la dokumento (antaŭ \begin{document}). + +Poste vi povas uzi + + \begin{minipagewithmarginnotes} + ... + \end{minipagewithmarginnotes} + +kaj en tiu ĉirkaŭo la ordono \marginpar{} estas uzebla, se la +tuta aĵo ne estas ene de alia bokso. + + +Por uzi \marginpar{} ankaŭ ene de aliaj boksoj, vi povos +krei novajn versiojn de la boks-kreaj komandoj (aŭ ĉirkaŭoj), +uzante la du ordonojn \mpgmpar@savemarginpars (ene de grupo) +kaj \mpgmpar@restoremarginpars (post la fino de tiu grupo, kiam +denove \marginpar{} estas uzebla). + +Jen ekzemplo (minipage kun kadro:) + +--- + \makeatletter + \newbox\boxed@box + \newenvironment{boxedpage}[1]{% + \begin{lrbox}{\boxed@box}% + \begin{minipage}[t]{#1} + \mpgmpar@savemarginpars + }{% + \end{minipage}% + \end{lrbox}% + \mpgmpar@restoremarginpars + }% + \makeatother + + + Tio estas \begin{boxedpage}{4cm} kadrita paĝo kun \marginpar{marĝena noto}. + \end{boxedpage} +--- + +Tiaj ĉirkaŭojn eblas meti unu ene de alia, la marĝenaj notoj aperos +apud la plej ekstera. + diff --git a/macros/latex/contrib/minipage-marginpar/minipage-marginpar.dtx b/macros/latex/contrib/minipage-marginpar/minipage-marginpar.dtx new file mode 100644 index 0000000000..1b49744c84 --- /dev/null +++ b/macros/latex/contrib/minipage-marginpar/minipage-marginpar.dtx @@ -0,0 +1,379 @@ +% \iffalse meta-comment +% +%% (C) 2006 Paul Ebermann +%% +%% Package minipage-marginpar - Randnotizen auch in Minipages +%% +%% Die Datei minipage-marginpar.dtx sowie die dazugehrige +%% minipage-marginpar.ins sowie die damit generierte +%% minipage-marginpar.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 +%% spter (nach Wahl des Verwenders). +%% +%% Der 'maintenance-status' ist (zur Zeit) 'maintained'. +%% +%% Das heit in etwa, die Dateien drfen 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] +%<package>\ProvidesPackage{minipage-marginpar} +%<mpgmpar>\ProvidesPackage{mpgmpar} +%<*driver> +\ProvidesFile{minipage-marginpar.dtx} +%</driver> + [2008/04/07 v0.3 +%<package> Randnotizen auch in Minipages (PE)] +%<mpgmpar> Kompatibilitaets-Datei fuer alte Dokumente (PE)] +%<*driver> + Dokumentation fuer minipage-marginpar.] +\documentclass[draft,ngerman]{ltxdoc} +\usepackage{minipage-marginpar} +\usepackage[final, pdfpagemode=None, pdfstartview=FitH, pdfpagelayout=OneColumn]{hyperref} +\usepackage{pauldoc} +\begin{document} + \DocInput{minipage-marginpar.dtx} +\end{document} +%</driver> +% \fi +% +% \CheckSum{51} +% +% \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 \~} +% +% \DoNotIndex{\relax,\end,\begin,\endinput,\global,\let,\newcommand} +% \DoNotIndex{\newenvironment,\renewcommand,\RequirePackage,\undefined} +% \DoNotIndex{\@tempa} +% +% \changes{v0.0}{2006/05/20}{Erste Fassung} +% \changes{v0.1}{2006/05/23}{Erste verffentlichte Fassung} +% \changes{v0.3}{2008/04/07}{Neuer Name des Packages: \pack{minipage-marginpar} +% statt \pack{minipage-marginpar}.} +% +% \GetFileInfo{minipage-marginpar.sty} +% +% +% \title{Das \pack{minipage-marginpar}-Package -- Randnotizen auch in Minipages\thanks{% +% Dieses Dokument gehrt zu \pack{minipage-marginpar}~\fileversion, +% vom~\filedate.}} +% \author{Paul Ebermann\thanks{\texttt{Paul-Ebermann@gmx.de}}} +% +% \maketitle +% +% \begin{abstract} +% Innerhalb von Boxen wie etwa einer 'minipage'-Umgebung sind bekanntlich +% '\marginpar'-Befehle nicht erlaubt -- dieses Package hat eine +% (Teil"=)Lsung. +% \end{abstract} +% +% \tableofcontents +% +% \section{Einleitung} +% +% Innerhalb von Boxen wie etwa einer 'minipage'-Umgebung sind +% '\marginpar'-Befehle nicht erlaubt, das heit, sie bewirken +% nichts auer einer Fehlermeldung ("`Float(s) lost"'). +% +% Das Paket \pack{marginnote}\footnote{auf CTAN unter +% \texttt{macros/latex/contrib/marginnote/}} von Markus Kohm umgeht das, +% indem nicht-gleitende Marginalien bereitgestellt werden. +% +% Dieses Paket verfolgt einen anderen Ansatz: +% Es wird ein Mechanismus bereitgestellt, mit dem die '\marginpar'-Befehle +% abgefangen und dann auerhalb dieser Box ausgefhrt werden knnen. +% +% \section{Benutzerdoku} +% +% \indent\DescribeEnv{minipagewithmarginpars} +% Diese Umgebung funktioniert wie die 'minipage'-Umgebung aus dem \LaTeX-Kernel, +% mit dem Unterschied, dass in ihr vorkommende '\marginpar'-Befehle erst am +% Ende der Umgebung, nach der Minipage selbst, ausgefhrt werden. +% +% +% Hier ein Beispiel: +% +% \begin{minipagewithmarginpars}{4cm} +% Text am Anfang\marginpar{Bla}. +% +% \vspace{1.5cm} +% Text am Ende\marginpar[links]{rechts}. +% \end{minipagewithmarginpars} +% \begin{minipage}[t]{7cm}\vspace{-1ex} +%\begin{verbatim} +%\begin{minipagewithmarginpars}{4cm} +% Text am Anfang\marginpar{Bla}. +% +% \vspace{1.5cm} +% Text am Ende\marginpar[links]{rechts}. +%\end{minipagewithmarginpars} +% \end{verbatim} +% \end{minipage} +% +% Die Randnotizen werden in der durch die (hier zwei, der Code ist auch eine) Minipages +% gebildeten Zeile abgesetzt -- dabei ist die Default-Ausrichtung hier '[t]' anstatt +% '[c]'. +% +% \subsection{Probleme/Nachteile} +% \begin{itemize} +% \item Die Marginalien werden alle ab der selben Zeile (jeweils etwas +% nach unten verschoben) gesetzt, nicht entsprechend der Zeile (in +% der Minipage), in der der '\marginpar'-Befehl vorkam. +% +% Dies ist prinzipbedingt, ich habe keine Idee, was man dagegen +% tun knnte. (Je nach Problem gibt \pack{marginnote} wohl bessere +% Ergebnisse.) +% +% \item Wird die 'minipagewithmarginpars' innerhalb einer weiteren Box +% verwendet (z.B. um noch einen Rahmen zu setzen), funktioniert es +% weiterhin nicht, da ja dort ebenfalls keine '\marginpar's erlaubt sind. +% +% Hierfr gibt es eine Lsung -- die gesicherten '\marginpar's mssen +% einfach erst nach der uersten Box (die hoffentlich in einer +% horizontalen Liste ist) ausgefhrt werden. Dazu kann man sich analog +% zu 'minipagewithmarginpars' eine entsprechende Umgebung definieren, +% Details sind \ifReferenceExists{sec:minipagewithmarginpars}{in Abschnitt +% \ref{sec:minipagewithmarginpars} im Implementations-Teil}{in der +% Implementations"=Beschreibung des Paketes} nachzulesen. +% +% \item Befinden sich die '\marginpar'-Befehle innerhalb einer der +% AMS-Mathe-Umgebungen (wie etwa 'align', 'gather' und ihre +% '*'-Varianten), so kann es vorkommen, dass die Marginalien doppelt +% auftauchen. +% Dies liegt daran, dass diese Umgebungen ihren Inhalt mehrfach +% auswerten -- und jedesmal wird dann der Inhalt gespeichert. +% Dieses Problem betrifft auch andere Makros, die hnlich vorgehen. +% +% Ich halte dies fr einen Bug (in \pack{minipage-marginpar}), habe +% aber noch keine Idee, was ich dagegen tun knnte. Wer eine Idee hat, +% immer her damit. +% +% \end{itemize} +% +% \StopEventually{\PrintChanges\PrintIndex} +% +% \section{Implementation} +% +% \subsection{Rckwrtskompatibilitts-Datei} +% CTAN hat ja inzwischen seine 8-Buchstaben-pro-Dateiname-Regel aufgehoben. +% Genauer, sie wurde zwischen meinem ersten Versuch, ein (anderes) Paket +% mit zu langem Dateinamen hochzuladen, und dem ersten Hochladen dieses +% Paketes gendert, so dass ich dieses Package noch \pack{mpgmpar} genannt +% habe, es bei CTAN dann aber in einem Verzeichnis 'minipage-marginpar' +% gelandet ist, und auch unter diesem Namen im \href{http://tug.ctan.org/cgi-bin/ctanPackageInformation.py?id=minipage-marginpar}{CTAN-Katalog} zu finden +% ist. Fr Version 0.3 habe ich mich daher entschieden, auch meine +% Package-Dateien entsprechend zu benennen. Hier aber noch fr die +% Rckwrtskompatibilitt eine passende 'mpgmpar.sty': +% \begin{macrocode} +%<*mpgmpar> +\RequirePackage{minipage-marginpar} +%</mpgmpar> +% \end{macrocode} +% +% Und jetzt geht das eigentliche Package los. +% +% \begin{macrocode} +%<*package> +% \end{macrocode} +% +% \subsection{Vorbereitungen} +% \changes{v0.2}{2006/07/27}{\pack{ifthen} wird nicht mehr bentigt.} +% +% \begin{macro}{\mpgmpar@savedmargins} +% Dieses Makro ist einfach nur ein "`Behlter"' fr die aufgesparten +% '\marginpar'-Befehle. Wir definieren es hier (leer) mittels '\newcommand', +% um bei Konflikten eine Fehlermeldung zu erhalten. +% \begin{macrocode} +\newcommand*{\mpgmpar@savedmargins}{}% +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\mpgmpar@dummy} +% Diese Kontrollsequenz wird nur verwendet, um einen nicht vorhandenen +% Parameter erkennen zu knnen. (Wir definieren es zunchst als Makro, +% um Konflikte zu erkennen, lassen es nachher aber gleich '\relax' sein.) +% \begin{macrocode} +\newcommand*{\mpgmpar@dummy}{}% +\let \mpgmpar@dummy = \relax +% \end{macrocode} +% \end{macro} +% +% +% \subsection{Interne Kommandos} +% +% Unsere beiden Makros '\mpgmpar@savemarginpars' (am Anfang eines Bereiches) und +% '\mpgmpar@restoremarginpars' (am Ende) +% machen die eigentliche Arbeit und knnen auch fr die Definition eigener +% \emph{Box-Making}-Umgebungen verwendet werden, fr eine Anleitung dafr +% siehe Abschnitt \ref{sec:minipagewithmarginpars}. +% +% \begin{macro}{\mpgmpar@savemarginpars} +% Dieses Makro leitet einen Bereich ein, in dem '\marginpar's aufgespart werden +% (er geht bis zum Ende der aktuellen Gruppe). +% \begin{macrocode} +\newcommand*{\mpgmpar@savemarginpars}{% +% \end{macrocode} +% Wir definieren '\marginpar' neu. +% \begin{macro}{\marginpar} +% Es hat wie das Original-'\marginpar' einen +% optionalen und einen verpflichtenden Parameter. (Um den Fall, dass der optionale +% Parameter angegeben wurde, von dem Fall der Nichtangabe zu unterscheiden, +% nehmen wir als Default '\mpgmpar@dummy' und vergleichen nachher damit.) +% \begin{macrocode} + \renewcommand*{\marginpar}[2][\mpgmpar@dummy]% + {% +% \end{macrocode} +% Das '\@bsphack' und das dazugehrige '\@esphack' am Ende +% sind Kernel"=Kommandos, welche (zusammen) dafr sorgen, dass +% an der Stelle der Verwendung keine Spur des +% '\marginpar'-Aufrufs bleibt. +% \begin{macrocode} + \@bsphack +% \end{macrocode} +% \changes{v0.2}{2006/07/26}{Vergleich jetzt mit \cs{ifx} statt \cs{ifthenelse}.} +% Jetzt der Vergleich \ldots{} bis zu Version 0.1 hatte ich +% den mit +%\begin{verbatim} +% \ifthenelse{\equal{\mpgmpar@dummy}{##1}}{... +%\end{verbatim} +% aus \pack{ifthen} gemacht, aber das hatte Nebenwirkungen (da fr +% den Vergleich '##1' expandiert wurde). Daher direkt mit '\ifx'. In +% Version 0.2 war dieser '\ifx'-Vergleich kaputt (ergab immer false), +% wodurch '\marginpar{bla}' nur auf rechten Seiten gedruckt wurde. +% Jetzt (0.3) sollte es gehen. +% \changes{v0.3}{2008/04/07}{Fehler im Vergleich gefunden, jetzt korrigiert durch weitere Indirektion beim Vergleich.} +% \begin{macrocode} + \def\temp@a{##1}% + \def\temp@b{\mpgmpar@dummy}% + \ifx\temp@b\temp@a% +% \end{macrocode} +% Dann kopieren wir (global) einfach den '\marginpar'-Aufruf an das Ende unseres +% "`Speicher-Makros"' '\mpgmpar@savedmargins'. +% \begin{macrocode} + \g@addto@macro{\mpgmpar@savedmargins}{% + \marginpar{##2}}% + \else% + \g@addto@macro{\mpgmpar@savedmargins}{% + \marginpar[{##1}]{##2}}% + \fi% + \@ignorefalse + \@esphack + }% +}% +% \end{macrocode} +% Das '\@bsphack'-'\@esphack'-Paar ist hier vorhanden, damit sich unser +% modifiziertes '\marginpar' bezglich umrundender Leerzeichen o.. +% genauso verhlt wie das Original-'\marginpar'. +% \end{macro} +% \end{macro} +% +% \begin{macro}{\mpgmpar@restoremarginpars} +% Dieses Makro fhrt die gespeicherten '\marginpar'-Befehle +% aus und leert dann die Liste. +% \begin{macrocode} +\newcommand*{\mpgmpar@restoremarginpars}{% +% \end{macrocode} +% Zuerst merken wir uns die Liste im Makro '\@tempa' (das ist +% fr derartige Sachen gedacht), dann lschen wir (global) +% '\mpgmpar@savedmargins'. +% \begin{macrocode} + \let \@tempa = \mpgmpar@savedmargins + \global\let \mpgmpar@savedmargins = \@empty +% \end{macrocode} +% Die eben kopierte Liste fhren wir nun aus (falls wir +% jetzt noch in einer ueren Umgebung mit unserem +% Spezial-'\marginpar' sind, wird die Liste dadurch neu angelegt, +% andernfalls werden die Randnotizen ausgegeben), und +% lschen dann die Kopie. +% \begin{macrocode} + \@tempa + \let \@tempa = \undefined +}% +% \end{macrocode} +% \end{macro} +% +% \subsection{Neue \texttt{minipage}-Umgebung}\label{sec:minipagewithmarginpars} +% +% Diese Umgebung dient als Beispiel fr die Erstellung derartiger +% Umgebungen mit Hilfe von '\mpgmpar@savemarginpars' und '\mpgmpar@restoremarginpars'. +% Das Wesentliche dabei ist: '\mpgmpar@savemarginpars' sollte innerhalb einer +% Gruppe aufgerufen werden (meist nahe am Anfang), '\mpgmpar@restoremarginpars' +% nach dem Ende dieser Gruppe (an der Stelle, wo die Randnotizen erscheinen sollen). +% +% \begin{quotation}\small +% Mit etwas Eigenarbeit drfte es auch ohne eine (weitere) Gruppe klappen. Dafr +% muss man am Anfang '\marginpar' mit '\let' sichern und am Ende wiederherstellen: +%\begin{verbatim} +% \let \savedmarginpar = \marginpar +% \mpgmpar@savemarginpars +% ... +% \let \marginpar = \savedmarginpar +% \mpgmpar@restoremarginpars +%\end{verbatim} +% Das ist aber nicht von mir getestet, also ohne Garantie. Und es ist eher nicht +% robust gegenber Verschachtelungen derartiger Konstrukte. +% \end{quotation} +% +% \begin{environment}{minipagewithmarginpars} +% Hier nun unserer neue Minipage-Umgebung. Sie hat einen optionalen +% (vertikale Ausrichtung~-- Default ist 't') und einen verpflichtenden (Breite) Parameter. +% \begin{macrocode} +\newenvironment*{minipagewithmarginpars}[2][t]{% +% \end{macrocode} +% Die Implementation ist einfach: Wir beginnen zunchst +% die Original-'minipage'-Umgebung (mit den selben Parametern) +% und innerhalb davon rufen wir unser Makro '\mpgmpar@savemarginpars' auf. +% \begin{macrocode} + \begin{minipage}[#1]{#2}% + \mpgmpar@savemarginpars +} {% +% \end{macrocode} +% Am Ende beenden wir zunchst die Minipage (wodurch '\marginpar' seine +% Original-Bedeutung wiedererlangt), und rufen dann +% '\mpgmpar@restoremarginpars' auf. +% \begin{macrocode} + \end{minipage}% + \mpgmpar@restoremarginpars +}% +% \end{macrocode} +% \end{environment} +% +% \subsection{Ende} +% ... +% Das war es. +% \begin{macrocode} +\endinput +%</package> +% \end{macrocode} +% +% \Finale +%\endinput + + +%%% Folgendes ist nur fr meinen Editor. +%%% +%%% Local Variables: +%%% mode: latex +%%% TeX-master: t +%%% End: diff --git a/macros/latex/contrib/minipage-marginpar/minipage-marginpar.ins b/macros/latex/contrib/minipage-marginpar/minipage-marginpar.ins new file mode 100644 index 0000000000..8692b37856 --- /dev/null +++ b/macros/latex/contrib/minipage-marginpar/minipage-marginpar.ins @@ -0,0 +1,68 @@ +%% +%% (C) 2002-2006, 2008 Paul Ebermann - +%% Installationsdatei zu minipage-marginpar.dtx +%% +%% Der vollstndige Urheberrechtshinweis befindet sich +%% am Begin von mpgmpar.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 eingefgt. +\preamble + + ,--------------------------------------------------. + | Das ist eine generierte Datei. | + | | + | (c) 2002- 2008 Paul Ebermann. | + '--------------------------------------------------' + +\endpreamble + + +\generate{% + \file{minipage-marginpar.sty}{\from{minipage-marginpar.dtx}{package}}% + \file{mpgmpar.sty}{\from{minipage-marginpar.dtx}{mpgmpar}} +} + +\Msg{#######################} +\Msg{# } +\Msg{# Um die Installation zu beenden, } +\Msg{# mssen Sie die folgenden Dateien } +\Msg{# in Ihrem TeX-Suchbaum unterbringen: } +\Msg{# } +\Msg{# minipage-marginpar.sty } +\Msg{# } +\Msg{# (Fr Rckwrtskompatibilitt mit } +\Msg{# Versionen vor 0.3 zustzlich: } +\Msg{# mpgmpar.sty) } +\Msg{# } +\Msg{# Um eine Dokumentation zu erzeugen, } +\Msg{# benutzen Sie } +\Msg{# } +\Msg{# latex minipage-marginpar.dtx } +\Msg{# } +\Msg{# Viel Spa } +\Msg{# Paul Ebermann } +\Msg{# } +\Msg{#######################} + +\endbatchfile + + +%%% Folgendes ist nur fr meinen Editor. +%%% +%%% Local Variables: +%%% mode: latex +%%% TeX-master: t +%%% End: diff --git a/macros/latex/contrib/minipage-marginpar/minipage-marginpar.pdf b/macros/latex/contrib/minipage-marginpar/minipage-marginpar.pdf Binary files differnew file mode 100644 index 0000000000..641bbc151b --- /dev/null +++ b/macros/latex/contrib/minipage-marginpar/minipage-marginpar.pdf diff --git a/macros/latex/contrib/minipage-marginpar/minipage-marginpar.sty b/macros/latex/contrib/minipage-marginpar/minipage-marginpar.sty new file mode 100644 index 0000000000..38c702fadb --- /dev/null +++ b/macros/latex/contrib/minipage-marginpar/minipage-marginpar.sty @@ -0,0 +1,73 @@ +%% +%% This is file `minipage-marginpar.sty', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% minipage-marginpar.dtx (with options: `package') +%% +%% ,--------------------------------------------------. +%% | Das ist eine generierte Datei. | +%% | | +%% | (c) 2002- 2008 Paul Ebermann. | +%% '--------------------------------------------------' +%% +%% (C) 2006 Paul Ebermann +%% +%% Package minipage-marginpar - Randnotizen auch in Minipages +%% +%% Die Datei minipage-marginpar.dtx sowie die dazugehrige +%% minipage-marginpar.ins sowie die damit generierte +%% minipage-marginpar.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 +%% spter (nach Wahl des Verwenders). +%% +%% Der 'maintenance-status' ist (zur Zeit) 'maintained'. +%% +%% Das heit in etwa, die Dateien drfen frei vertrieben +%% werden, bei nderungen (durch andere Personen als Paul Ebermann) +%% ist aber der Name der Datei zu ndern. +%% +\NeedsTeXFormat{LaTeX2e}[2003/12/01] +\ProvidesPackage{minipage-marginpar} + [2008/04/07 v0.3 + Randnotizen auch in Minipages (PE)] +\newcommand*{\mpgmpar@savedmargins}{}% +\newcommand*{\mpgmpar@dummy}{}% +\let \mpgmpar@dummy = \relax +\newcommand*{\mpgmpar@savemarginpars}{% + \renewcommand*{\marginpar}[2][\mpgmpar@dummy]% + {% + \@bsphack + \def\temp@a{##1}% + \def\temp@b{\mpgmpar@dummy}% + \ifx\temp@b\temp@a% + \g@addto@macro{\mpgmpar@savedmargins}{% + \marginpar{##2}}% + \else% + \g@addto@macro{\mpgmpar@savedmargins}{% + \marginpar[{##1}]{##2}}% + \fi% + \@ignorefalse + \@esphack + }% +}% +\newcommand*{\mpgmpar@restoremarginpars}{% + \let \@tempa = \mpgmpar@savedmargins + \global\let \mpgmpar@savedmargins = \@empty + \@tempa + \let \@tempa = \undefined +}% +\newenvironment*{minipagewithmarginpars}[2][t]{% + \begin{minipage}[#1]{#2}% + \mpgmpar@savemarginpars +} {% + \end{minipage}% + \mpgmpar@restoremarginpars +}% +\endinput +%% +%% End of file `minipage-marginpar.sty'. diff --git a/macros/latex/contrib/minipage-marginpar/mpgmpar.sty b/macros/latex/contrib/minipage-marginpar/mpgmpar.sty new file mode 100644 index 0000000000..ecea5eb448 --- /dev/null +++ b/macros/latex/contrib/minipage-marginpar/mpgmpar.sty @@ -0,0 +1,41 @@ +%% +%% This is file `mpgmpar.sty', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% minipage-marginpar.dtx (with options: `mpgmpar') +%% +%% ,--------------------------------------------------. +%% | Das ist eine generierte Datei. | +%% | | +%% | (c) 2002- 2008 Paul Ebermann. | +%% '--------------------------------------------------' +%% +%% (C) 2006 Paul Ebermann +%% +%% Package minipage-marginpar - Randnotizen auch in Minipages +%% +%% Die Datei minipage-marginpar.dtx sowie die dazugehrige +%% minipage-marginpar.ins sowie die damit generierte +%% minipage-marginpar.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 +%% spter (nach Wahl des Verwenders). +%% +%% Der 'maintenance-status' ist (zur Zeit) 'maintained'. +%% +%% Das heit in etwa, die Dateien drfen frei vertrieben +%% werden, bei nderungen (durch andere Personen als Paul Ebermann) +%% ist aber der Name der Datei zu ndern. +%% +\NeedsTeXFormat{LaTeX2e}[2003/12/01] +\ProvidesPackage{mpgmpar} + [2008/04/07 v0.3 + Kompatibilitaets-Datei fuer alte Dokumente (PE)] +\RequirePackage{minipage-marginpar} +\endinput +%% +%% End of file `mpgmpar.sty'. |