\ , ...
\catcode156=11\catcode201=11\catcode212=11\catcode223=11\catcode234=11\catcode245=11 \catcode188=11\catcode202=11\catcode213=11\catcode224=11\catcode235=11\catcode246=11 \catcode192=11\catcode203=11\catcode214=11\catcode225=11\catcode236=11\catcode247=11 \catcode193=11\catcode204=11\catcode215=11\catcode226=11\catcode237=11\catcode248=11 \catcode194=11\catcode205=11\catcode216=11\catcode227=11\catcode238=11\catcode249=11 \catcode195=11\catcode206=11\catcode217=11\catcode228=11\catcode239=11\catcode250=11 \catcode196=11\catcode207=11\catcode218=11\catcode229=11\catcode240=11\catcode251=11 \catcode197=11\catcode208=11\catcode219=11\catcode230=11\catcode241=11\catcode252=11 \catcode198=11\catcode209=11\catcode220=11\catcode231=11\catcode242=11\catcode253=11 \catcode199=11\catcode210=11\catcode221=11\catcode232=11\catcode243=11\catcode254=11 \catcode200=11\catcode211=11\catcode222=11\catcode233=11\catcode244=11\catcode255=11
\def\reserved@a#1#2{\@tempcnta#1\relax\@tempcntb#2\relax\reserved@b} \def\reserved@b{\ifnum\@tempcnta>\@tempcntb\else\reserved@c\@tempcnta\advance\@tempcnta\@ne\expandafter\reserved@b\fi} \def\reserved@c#1{\catcode#1=11\relax} \reserved@a{192}{223} % - \reserved@a{224}{255} % - \catcode156=11 % \catcode188=11 %
[Par1=Value1, Par2=Value2, dump]
? \usepackage{keyval}
\define@key { } { } [ ] ( , ) { }
\setkeys { } {, }
\documentclass[12pt]{article} \usepackage[textwidth=5cm]{geometry} \usepackage[T2A]{fontenc} \usepackage[cp1251]{inputenc} \usepackage[russian]{babel} \usepackage{keyval} \sloppy \makeatletter \newlength{\wid} % --- \newtoks{\fnt} % --- \newlength{\skp} % --- \define@key{key}{font}[12]{\fnt={#1}} % font, ( , 12) \define@key{key}{skip}{\skp=#1} \define@key{key}{width}{\wid=#1} \newenvironment{test}[1]% % {\setkeys{key}{#1}% % \begin{minipage}{\wid} % \fontsize{\the\fnt}{\skp}\selectfont % }% {\par\end{minipage}} % \makeatother % @ \begin{document} \begin{test}{font=6,skip=14pt,width=5cm} . , , , . , , , . . \end{test} \bigskip \begin{test}{width=7cm,skip=13pt,font} . , , , . , , , . . \end{test} \end{document}
\ProvidesPackage{test.sty} \RequirePackage[T2A]{fontenc} \RequirePackage[cp1251]{inputenc} \RequirePackage[russian]{babel} \RequirePackage{keyval} % , \define@key{key}{mag}{\mag#1} % , , \let\@tempa\@empty% \edef\@tempa{\@ptionlist{\@currname.\@currext}}% \@for\CurrentOption:=\@classoptionslist\do{% \@ifundefined{KV@#2@\CurrentOption}{}{\edef\@tempa{\@tempa,\CurrentOption,}}}% \edef\@tempa{\noexpand\setkeys{key}{\@tempa}}% \@tempa% \AtEndOfPackage{\let\@unprocessedoptions\relax}% % , dvi, pdf. % , dvi pdf , % ( true), --- . % - . \global\setlength\paperheight {297truemm}% \global\setlength\paperwidth {210truemm}% \global\setlength\pdfpageheight{297truemm}% \global\setlength\pdfpagewidth {210truemm}% \global\setlength\textheight {260truemm}% \global\setlength\textwidth {180truemm}% \global\setlength\hoffset {-1truein}% \global\setlength\voffset {-1truein}% \global\setlength\pdfhorigin {1truein}% \global\setlength\pdfvorigin {1truein}% \global\setlength\oddsidemargin{15truemm}% \global\setlength\topmargin {5truemm}% \global\setlength\leftskip {0truemm}% \global\setlength\rightskip {0truemm}%
\documentclass[12pt]{article} \usepackage[mag=2000]{test} \begin{document} ! \end{document}
Source: https://habr.com/ru/post/120401/
All Articles