⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 picinpar.sty

📁 一个最容易懂的LaTeX 入门教材。这个文档已经被翻译成很多种语言
💻 STY
📖 第 1 页 / 共 2 页
字号:
\ifnum\bl>0\na=\tcn\ifnum\br>0\divide\na by 2\fi\fi\ifnum\br>0\nb=\tcn\ifnum\bl>0\divide\nb by 2\fi\fi\global\advance\tcn by\tcd \global\advance\tcn by1\ifnum\tcd>0\loop\twa=\expandafter{\the\twa\the\ha}\advance\tcd -1\ifnum\tcd>0\repeat\fi\ifnum\bl>0 \ifnum\br>0\loop\twa=\expandafter{\the\twa\the\la}\advance\na -1\twa=\expandafter{\the\twa\the\ra}\advance\nb -1\ifnum\na>0\repeat\fi\fi\ifnum\na>0\loop\twa=\expandafter{\the\twa\the\la}\advance\na -1\ifnum\na>0\repeat\fi\ifnum\nb>0\loop\twa=\expandafter{\the\twa\the\ra}\advance\nb -1\ifnum\nb>0\repeat\fi\global\twa=\expandafter{\the\twa 0pt \the\linewidth}}%\def\computeilg{% compute the interline glue \tcl=0\ilg=0pt\strutilg=0pt \loop\setbox\wbox=\hbox{\char\tcl} \ifdim\ht\wbox>\ilg\ilg=\ht\wbox\fi \ifdim\dp\wbox>\strutilg\strutilg=\dp\wbox\fi \advance\tcl by 1 \ifnum\tcl<128\repeat \ht\wbox=\ilg \dp\wbox=\strutilg \strutilg=\ht\wbox %\advance\strutilg by\ilg \ifdim\strutilg>\baselineskip  \typeout{character with height greater baselineskip found in font}  \typeout{baselineskip changed to 1.5 of that height!}  \baselineskip=1.5\strutilg \fi \global\ilg=\baselineskip \global\advance\ilg-\ht\wbox \global\advance\ilg-\dp\wbox \strutilg=\ht\wbox \advance\strutilg by\ilg \setbox\wstrutbox=\hbox{\vrule height\strutilg depth\dp\wbox width0pt}}%% frames%\def\framepic#1{\vbox{%\hsize\expandafter\wd\csname #1box\endcsname\advance\hsize .8pt \hrule%\hbox to\hsize%{\vrule\hfill\vbox to\expandafter\ht\csname #1box\endcsname{%\expandafter\box\csname #1box\endcsname }\hfill\vrule}\hrule\vss}}%\def\wframepic#1{\vbox{%\hsize\expandafter\wd\csname #1box\endcsname\advance\hsize 3.8pt\hrule%\hbox to\hsize%{\vrule\hfill\vbox{\kern1.5pt%\expandafter\box\csname #1box\endcsname\kern1.5pt}\hfill\vrule}\hrule\vss}}%% caption%\def\winstepcounter#1{\global\advance\csname c@#1\endcsname 1    {\let\@elt\@stpelt \csname cl@#1\endcsname}}\def\winrefstepcounter#1{\winstepcounter{#1}\let\@tempa\protect\def\protect{\noexpand\protect\noexpand}%\edef\@currentlabel{\csname p@#1\endcsname\csname the#1\endcsname}%\let\protect\@tempa}\long\def\w@dblarg#1{\@ifnextchar[{#1}{\w@xdblarg{#1}}}\long\def\w@xdblarg#1#2\par{#1[{#2}]#2\par}\def\wincaption{\winrefstepcounter\@captype \w@dblarg{\@wincaption\@captype}}\long\def\@wincaption#1[#2]#3\par{\par\addcontentsline{\csname  ext@#1\endcsname}{#1}{\protect\numberline{\csname  the#1\endcsname}{\ignorespaces #2}}\begingroup    \@parboxrestore    \normalsize    \@makewincaption{\csname fnum@#1\endcsname}{\ignorespaces #3}\par  \endgroup}\long\def\@makewincaption#1#2{%   \setbox\@tempboxa\hbox{\footnotesize{\bf #1:\enspace}{#2}}%   \ifdim\wd\@tempboxa>\picwd      {\footnotesize{\bf #1:\enspace}{#2\par}}   \else      \hbox to\picwd{\hfil\box\@tempboxa\hfil}   \fi}\long\def\figwindow[#1,#2,#3,#4] {%     \advance\c@figure -1     \begin{window}[#1,#2,{#3},{\def\@captype{figure}%        \wincaption#4\par}] }\long\def\tabwindow[#1,#2,#3,#4] {%     \advance\c@table -1     \begin{window}[#1,#2,{#3},{\def\@captype{table}%        \wincaption#4\par}] }\def\endfigwindow{\end{window}}\def\endtabwindow{\end{window}}\endinput%%%\documentstyle[german,picinpar]{article}\setlength{\parskip}{.66\baselineskip}\setlength{\parindent}{0pt}\begin{document}\section*{Beispiele zu {\tt picinpar.sty}}\font\yn=cmss17 scaled \magstep5 %oder sonst was gro"ses (yinit?)\begin{verbatim}\begin{window}[0,l,{\yn V},{}]or einigen Jahren wurde von ...... Abschnitts erfolgten automatisch.\end{window}\end{verbatim}\begin{window}[0,l,{\yn V},{}]or einigen Jahren wurde von Donald E.~Knuth im TUGboat ein kleinesProblem mit der Bitte um L"osung vorgestellt. Es handelte sich darum,in einem Paragraphen ein Fenster zu erzeugen, in das man beliebigen Textoder eine Zeichnung hineinsetzen kann. Prompt kamen dann in den folgendenAusgaben L"osungsvorschl"age: Einer von DEK pers"onlich, der andere vonAlan Hoenig. Der letztgenannte brachte die elegantere L"osung, die keinemanuellen Korrekturen mehr notwendig machte. Sein Makro verlangte lediglichin den Parametern Informationen "uber die Breite und H"ohe derfreizulassenden Stelle im Paragraphen. Die Einz"uge und der Satz derFragmente des Abschnitts erfolgten automatisch.\end{window}\begin{verbatim}\begin{figwindow}[2,r,{\unitlength1cm\begin{picture}(3,1.4)\put(0.7,0.7){\circle*{0.2}}     \put(0.7,0.7){\circle{1.2}}\put(0.7,0.7){\vector(0,1){0.6}} \put(2.5,0.7){\circle*{0.5}}\end{picture}},{Kreise und Pfeile}]Was leisten nun diese Macros ...... sieht hierbei wie folgt aus:\end{figwindow}\end{verbatim}\begin{figwindow}[2,r,{\unitlength1cm\begin{picture}(3,1.4)\put(0.7,0.7){\circle*{0.2}}     \put(0.7,0.7){\circle{1.2}}\put(0.7,0.7){\vector(0,1){0.6}} \put(2.5,0.7){\circle*{0.5}}\end{picture}},{Kreise und Pfeile}]Was leisten nun diese Macros? Einen kleinen Eindruck hat man schonzu Anfang dieses Artikels bekommen: der erste Buchstabe des Absatzesist in einer anderen Schriftgr"o"se gedruckt und in den Absatz eingepa"st.Es mu"s aber nicht unbedingt Text sein, der so einger"uckt wird. Es kannebenso eine \verb?picture?--Umgebung sein, die so in den Absatz eingef"ugtwird. Das rechts stehende Beispiel, das aus "'\LaTeX , Eine Einf"uhrung"'bekannt sein d"urfte, ist in einer \verb?minipage?--Umgebung gesetztworden. Die Eingabe im Text sieht hierbei wie oben aus.\end{figwindow}\begin{verbatim}\begin{tabwindow}[1,r,{\begin{tabular}[t]{|r|l|r@{:}l|}\hline1&HSV&12&0\\...\end{tabular}},{Tabelle}]Auch der Satz von Tabellen in ...... w"urde sie etwas durchh"angen.Nachdem die Tastatur gequ"alt ...... noch die Nummerierung stimmt.\end{tabwindow}\end{verbatim}\begin{tabwindow}[1,r,{\begin{tabular}[t]{|r|l|r@{:}l|}\hline1&HSV&12&0\\\hline2&MSV&11&1\\\hline3&VfB&10&2\\\hline4&SVW&9&3\\\hline5&1.\ FCK&8&4\\\hline\end{tabular}},{Tabelle}]Auch der Satz von Tabellen in ein Fenster ist kein gro"ses Problem.Man nimmt einfach eine Tabelle, oder denkt sich auch eine aus.Dann wird daf"ur Sorge getragen, da"s sie auch mit der unterenZeile ausgerichtet wird. Ansonsten w"urde sie etwas durchh"angen.Nachdem die Tastatur gequ"alt und das Hirn zermartert wurde kommtdann so etwas heraus, wie es hier rechts zu sehen ist. Sogar dieTabellenbezeichnung ist erschienen. Aber wirklich interessant wird's,wenn auch bei der n"achsten Tabelle noch die Nummerierung stimmt.\end{tabwindow}\begin{verbatim}\begin{tabwindow}[2,l,{\begin{tabular}[t]{|r|l|r@{:}l|}...\end{tabular}},{Tabelle}]Was wahnsinnig ...... sagt's denn?\end{tabwindow}\end{verbatim}\begin{tabwindow}[2,l,{\begin{tabular}[t]{|r|l|r@{:}l|}\hline1&HSV&12&0\\\hline2&MSV&11&1\\\hline3&VfB&10&2\\\hline4&SVW&9&3\\\hline5&1.\ FCK&8&4\\\hline\end{tabular}},{Tabelle}]Was wahnsinnig auflockernd wirkt, ist der st"andige Positionswechselvon Abbildungen auf einer Seite. Das Auge wird nicht m"ude beider Erkundung der typographischen Vielfalt, die in gedrucktenWerken enthalten ist. Aber man sollte sich nichtsdestotrotz dochauf die wesentlichen Mitteilungen konzentrieren, die mit derartigenWerken vermittelt werden sollen.Was sind aber nun die essentiellen Informationen? Naja, ein kleines{\tt l} und eine {\tt 2} bewirkt ein g"anzlich anderes Erscheinungsbildder Realit"at, wie sie mit den Augen eines Fu"sballfans der sechzigerJahre gesehen sein k"onnte. Bevor wir es vergessen: Da war doch nochdie Unsicherheit wegen der Nummerierung von Tabellen. Na also, wersagt's denn?\end{tabwindow}\begin{verbatim}\begin{tabwindow}[4,c,{\begin{tabular}[t]{|r|l|r@{:}l|r@{:}l|}...\end{tabular}},{Tabelle}]\sloppyAber jetzt wird alles auf ...... genug der Beispiele.\end{tabwindow}\end{verbatim}\begin{tabwindow}[4,c,{\begin{tabular}[t]{|r|l|r@{:}l|r@{:}l|}\hline1&HSV&12&0&14&1\\\hline2&MSV&11&1&10&4\\\hline3&VfB&10&2&12&9\\\hline4&SVW&9&3&11&9\\\hline5&1.\ FCK&8&4&10&10\\\hline\end{tabular}},{Tabelle}]\sloppyAber jetzt wird alles auf die Spitze getrieben. Oder vielmehrin die Mitte gesetzt. Ja doch, auch der zentrierte Satz einer Tabelleist ebenfalls kein gro"ses Problem. Ein Problem ist jedoch, wie dennder Text gelesen werden soll. Erst die linke Spalte und dann dierechte oder einfach von links nach rechts? Oft kann man es nichtfalsch machen. Das tr"ostet doch ungemein!Nun noch ein kleiner Hinweis in eigener Sache:Beim zentrierten Satz ist es schon besser, wenn der Abstand zwischenden Abschnitten auf $0pt$ gesetzt wird oder nur ein Paragraph verwendetwird. Der Grund? Die Abst"ande k"onnen unabh"angig vom Zeilenabstandsein und so ist ein optisch korrekter Satz der Spalten rechts undlinks vom Fenster etwas m"uhsam {\tt :-)}. Um nichts dem Zufall zu"uberlassen wird dies gleich von {\tt picinpar} erledigt.\end{tabwindow}Jetzt noch der Fall, bei dem eine Abbildung zentriert in den Text gesetztwerden soll, aber rechts und links so wenig Platz ($<=72pt$) bleibt,da"s dort die Probleme mit den Trennungen zu gro"s werden w"urden. AlsBeispiel wird im Fenster die \TeX{}--Eingabe zu diesem Fall gezeigt. Umgleich etwaigen Problemen vorzubeugen, wird zun"achst wie folgt vorgegangen:{\parskip0pt\topsep0pt\begin{verbatim}\newbox\pppbox\setbox\pppbox=\vbox{\hsize=11cm\begin{verbatim}\begin{figwindow}[4,c,{\wframepic{ppp}},{Die Eingabe zu diesem Textteil!}]Diese Vorgehensweise ist wegen der Benutzung...dem Einsatz im Wege.\end{figwindow}\end{verbatim}\verb?\end{verbatim}?\begin{verbatim}}\end{verbatim}}\newbox\pppbox\setbox\pppbox=\vbox{\hsize=11cm\begin{verbatim}\begin{figwindow}[4,c,{\wframepic{ppp}},{Die Eingabe zu diesem Textteil!}]Diese Vorgehensweise ist wegen der Benutzung...dem Einsatz im Wege.\end{figwindow}\end{verbatim}}\begin{figwindow}[4,c,{\wframepic{ppp}},{Die Eingabe zu diesem Textteil!}]Diese Vorgehensweise ist wegen der Benutzung von {\tt figwindow} undder {\tt verbatim} dargestellten Eingabe notwendig. Aber ist ja auch egal.Wichtig ist einfach, da"s festgestellt wird, ob rechts und links vomzentrierten Bild noch genug Platz frei ist, um dort Text ohne gro"seProbleme zu setzen. Die Wahl von $72pt$ ist mehr oder weniger willk"urlichvorgenommen worden. Letztlich h"angt diese Grenze ja auch von derverwendeten Sprache ab. Falls also nicht genug Platz an den Seitenvorhanden ist, dann wird einfach nach dem Fenster mit dem Text fortgefahren.Noch mal schnell ein Blick auf die Nummerierung der Abbildungen...Ja, stimmt genau. Jetzt steht also dem Einsatz nichts im Wege.\end{figwindow}\begin{window}[3,r,{\arraycolsep=2.5pt \def\arraystretch{.75}$\left(\begin{array}{ccccccccc}%	 *&*&*&*&&&&&\\        **&*&*&*&*&&&&\\ \cline{3-6}	 *&*&\multicolumn{1}{|c}{*}&*&*&\multicolumn{1}{c|}{*}&&&\\	 &*&\multicolumn{1}{|c}{*}&*&*&\multicolumn{1}{c|}{*}&*&&\\	 &&\multicolumn{1}{|c}{*}&*&*&\multicolumn{1}{c|}{*}&*&*&\\ \cline{3-6}	 &&&*&*&*&*&*&*\\	 &&&&*&*&*&*&*\\	 &&&&&*&*&*&*\\	 &&&&&&*&*&*	 \end{array}   \right)$},{}]Doch halt! Es handelt sich hier ja um \TeX{}. Und das ist Grund genug, auchnoch kurz auf mathematischen Formelsatz einzugehen. Sowohl im Fenster alsauch im Text neben dem Fenster k"onnen Formeln erscheinen, deren Dimensionenbeim Satz weitestgehend ber"ucksichtigt werden. Da ist also rechts ein{\tt array} und hier folgt eine Formel:\def\formel#1#2#3#4#5{#1(#4)-#1(#3)=\int_{#3}^{#4}\sum_{j=0}^{#5}#2(x_j)\prod_{{k=0}\atop{k\not= j}}^{#5}{x-x_k\over x_j-x_k}\; dx}$\formel Ffabn$Der zentrierte Satz von Formeln neben dem Text ist bisher mit{\tt picinpar.sty} nicht m"oglich, vielleicht kommt es aber einesTages. Und "uberhaupt hat sich gerade der Mathematiksatz als gro"sesProblem bei der Entwicklung herausgestellt, da doch viel {\tt glue} inden {\tt boxes} verwendet wird. Aber es geht ja doch so halbwegs.\end{window}\vfill\centerline{Friedhelm Sowa, Heinrich--Heine--Universit"at D"usseldorf,Universit"atsrechenzentrum}\centerline{Email: sowa@convex.rz.uni-duesseldorf.de {\sl oder}tex@ze8.rz.uni-duesseldorf.de}\end{document}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -