diff options
Diffstat (limited to 'macros/latex/contrib/koma-script/japanlco.dtx')
-rw-r--r-- | macros/latex/contrib/koma-script/japanlco.dtx | 445 |
1 files changed, 445 insertions, 0 deletions
diff --git a/macros/latex/contrib/koma-script/japanlco.dtx b/macros/latex/contrib/koma-script/japanlco.dtx new file mode 100644 index 0000000000..03fd447e7a --- /dev/null +++ b/macros/latex/contrib/koma-script/japanlco.dtx @@ -0,0 +1,445 @@ +% \iffalse meta-comment +% ====================================================================== +% japanlco.dtx +% Copyright (c) Markus Kohm, 2008-2022 +% +% This file is part of the LaTeX2e KOMA-Script bundle. +% +% This work may be distributed and/or modified under the conditions of +% the LaTeX Project Public License, version 1.3c of the license. +% The latest version of this license is in +% http://www.latex-project.org/lppl.txt +% and version 1.3c or later is part of all distributions of LaTeX +% version 2005/12/01 or later and of this work. +% +% This work has the LPPL maintenance status "author-maintained". +% +% The Current Maintainer and author of this work is Markus Kohm. +% +% This work consists of all files listed in MANIFEST.md. +% ====================================================================== +%%% From File: $Id: japanlco.dtx 3889 2022-06-09 12:11:14Z kohm $ +%<Ni&EARLY&LOW&head>%%% (run: Ni,EARLY,LOW,head) +%<Ni&EARLY&LOW&body>%%% (run: Ni,EARLY,LOW,body) +%<Ni&EARLY&HIGH&head>%%% (run: Ni,EARLY,HIGH,head) +%<Ni&EARLY&HIGH&body>%%% (run: Ni,EARLY,HIGH,body) +%<Ni&LATE&LOW&head>%%% (run: Ni,LATE,LOW,head) +%<Ni&LATE&LOW&body>%%% (run: Ni,LATE,LOW,body) +%<Ni&LATE&HIGH&head>%%% (run: Ni,LATE,HIGH,head) +%<Ni&LATE&HIGH&body>%%% (run: Ni,LATE,HIGH,body) +%<Ni&RIGHT&LOW&head>%%% (run: Ni,RIGHT,LOW,head) +%<Ni&RIGHT&LOW&body>%%% (run: Ni,RIGHT,LOW,body) +%<Kaku&LATE&LOW&head>%%% (run: Kaku,LATE,LOW,head) +%<Kaku&LATE&LOW&body>%%% (run: Kaku,LATE,LOW,body) +%<*dtx> +\ifx\ProvidesFile\undefined\def\ProvidesFile#1[#2]{}\fi +\begingroup + \def\filedate$#1: #2-#3-#4 #5${\gdef\filedate{#2/#3/#4}} + \filedate$Date: 2022-06-09 14:11:14 +0200 (Do, 09. Jun 2022) $ + \def\filerevision$#1: #2 ${\gdef\filerevision{r#2}} + \filerevision$Revision: 3889 $ +\endgroup +\ProvidesFile{japanlco.dtx}[\filedate\space\filerevision\space + KOMA-Script (letter class options)] +\ifx\documentclass\undefined + \ifx\ifTopLevel\undefined + \input scrdocstrip.tex + \@@input scrkernel-version.dtx + \@@input scrstrip.inc + \KOMAdefVariable{COPYRIGHTFROM}{2007} + \generate{\usepreamble\defaultpreamble + \file{NipponEL.lco}{% + \from{scrkernel-version.dtx}{trace}% + \from{japanlco.dtx}{lco,Ni,EARLY,LOW,head}% + \from{japanlco.dtx}{lco,Ni,EARLY,LOW,body}% + }% + \file{NipponEH.lco}{% + \from{scrkernel-version.dtx}{trace}% + \from{japanlco.dtx}{lco,Ni,EARLY,HIGH,head}% + \from{japanlco.dtx}{lco,Ni,EARLY,HIGH,body}% + }% + \file{NipponLL.lco}{% + \from{scrkernel-version.dtx}{trace}% + \from{japanlco.dtx}{lco,Ni,LATE,LOW,head}% + \from{japanlco.dtx}{lco,Ni,LATE,LOW,body}% + }% + \file{NipponLH.lco}{% + \from{scrkernel-version.dtx}{trace}% + \from{japanlco.dtx}{lco,Ni,LATE,HIGH,head}% + \from{japanlco.dtx}{lco,Ni,LATE,HIGH,body}% + }% + \file{NipponRL.lco}{% + \from{scrkernel-version.dtx}{trace}% + \from{japanlco.dtx}{lco,Ni,RIGHT,LOW,head}% + \from{japanlco.dtx}{lco,Ni,RIGHT,LOW,body}% + }% + \file{KakuLL.lco}{% + \from{scrkernel-version.dtx}{trace}% + \from{japanlco.dtx}{lco,Kaku,LATE,LOW,head}% + \from{japanlco.dtx}{lco,Kaku,LATE,LOW,body}% + }% + }% + \@@input scrstrop.inc + \fi +\else + \let\endbatchfile\relax +\fi +\endbatchfile +\documentclass[USenglish]{koma-script-source-doc} +\usepackage{babel} +\usepackage{graphicx} +\begin{document} + \DocInput{japanlco.dtx} +\end{document} +%</dtx> +% \fi +% +% \changes{v2.98}{2007/11/13}{first version based on lco files from Gernot +% Hassenpflug} +% \changes{v3.36}{2022/01/21}{switch over to \cls*{koma-script-source-doc}} +% \changes{v3.36}{2022/01/21}{using \cs{setplength} and \cs{addtoplength} +% instead of \cs{@setplength} and \cs{@addtoplength}} +% \changes{v3.36}{2022/02/02}{self-extracting} +% \changes{v3.36}{2022/02/02}{extended documentation} +% +% \GetFileInfo{japanlco.dtx} +% \title{\href{https://komascript.de}{\KOMAScript} \partname\ +% \texttt{\filename}} +% \date{Version \fileversion{} of \filedate} +% \author{Markus Kohm} +% \maketitle +% \tableofcontents +% +% \section{Option Files for Japanese Letters} +% +% Gernot Hassenpflug wrote a lot of \file{lco}-files for use of Japanese +% envelope formats. Markus Kohm, the author of \KOMAScript, adapted them to +% an extended version of \cls*{scrlttr2} and wrote a \file{dtx}-file with the +% moste recent \file{lco}-files. Table~\ref{tab:japan.envelopes} shows all +% \file{lco}-files of the supported envelopes with their datas. +% +% \begin{table} +% \begin{tabular}{@{}llllllll@{}} +% \hline +% \file{lco}-file & \multicolumn3{l}{Envelope} & \multicolumn4{l@{}}{Window} \\ +% & Name & Length & Width & H-pos & V-pos & Width & Height\\ +% \cline{1-3}\cline{4-8} +% \texttt{NipponEL} & +% Chou/You 3 & 235\,mm & 120\,mm & 22\,mm & 12\,mm & 90\,mm & 45\,mm \\ +% \texttt{NipponEH} & +% Chou/You 3 & 235\,mm & 120\,mm & 22\,mm & 12\,mm & 90\,mm & 55\,mm \\ +% \texttt{NipponLL} & +% Chou/You 3 & 235\,mm & 120\,mm & 25\,mm & 12\,mm & 90\,mm & 45\,mm \\ +% \texttt{NipponLH} & +% Chou/You 3 & 235\,mm & 120\,mm & 25\,mm & 12\,mm & 90\,mm & 55\,mm \\ +% \texttt{NipponEL} & +% Chou/You 4 & 205\,mm & 90\,mm & 22\,mm & 12\,mm & 90\,mm & 45\,mm \\ +% \texttt{NipponEH} & +% Chou/You 4 & 205\,mm & 90\,mm & 22\,mm & 12\,mm & 90\,mm & 55\,mm \\ +% \texttt{NipponLL} & +% Chou/You 4 & 205\,mm & 90\,mm & 25\,mm & 12\,mm & 90\,mm & 45\,mm \\ +% \texttt{NipponLH} & +% Chou/You 4 & 205\,mm & 90\,mm & 25\,mm & 12\,mm & 90\,mm & 55\,mm \\ +% \texttt{NipponRL} & +% Chou/You 4 & 205\,mm & 90\,mm & 98\,mm & 28\,mm & 90\,mm & 45\,mm \\ +% \texttt{KakuLL} & +% Kaku-kata & 312\,mm & 228\,mm & 25\,mm & 24\,mm & 90\,mm & 45\,mm \\ +% \hline +% \end{tabular} +% \caption{The supported Japanese envelopes} +% \label{tab:japan.envelopes} +% \end{table} +% +% \iftrue +% The following pages show images of example envelopes. For more information +% see the English \file{scrguien.pdf} or the German \file{scrguide.pdf}. +% +% \newcommand\japanenvelope[7]{% +% \begingroup +% \setlength{\unitlength}{1mm}%^^A +% \rotatebox{90}{\begin{picture}(#1,#2) +% \thinlines +% \put(0,0){^^A +% \framebox(#1,#2){}%^^A +% }%^^A +% \put(5,5){\texttt{#7}: #1\,mm$\times$#2\,mm (B$\times$H)}%^^A +% \csname @tempcnta\endcsname #2 +% \advance\csname @tempcnta\endcsname -#4 +% \put(0,\csname @tempcnta\endcsname){\vector(1,0){#3}}%^^A +% \put(#3,\csname @tempcnta\endcsname){\vector(-1,0){#3}}%^^A +% \put(0,\csname @tempcnta\endcsname){^^A +% \makebox(#3,\baselineskip\csname @gobble\endcsname){#3\,mm}}%^^A +% \put(#3,#2){\vector(0,-1){#4}}%^^A +% \put(#3,\csname @tempcnta\endcsname){\vector(0,1){#4}}%^^A +% \put(#3,\csname @tempcnta\endcsname){^^A +% \makebox(0,#4)[l]{~#4\,mm}} +% \advance\csname @tempcnta\endcsname -#6 +% \put(#3,\csname @tempcnta\endcsname){^^A +% \framebox(#5,#6){}%^^A +% }%^^A +% \put(#3,\csname @tempcnta\endcsname){^^A +% \makebox(0,5)[l]{~#5\,mm$\times$#6\,mm (B$\times$H)}%^^A +% }%^^A +% \end{picture}} +% \endgroup +% } +% +% \expandafter\ifx\csname rotatebox\endcsname\relax\else +% \clearpage +% \vspace*{\fill}\smash{\japanenvelope{235}{120}{22}{12}{90}{45}{Chou 3 EL}}% +% \clearpage +% \vspace*{\fill}\smash{\japanenvelope{235}{120}{22}{12}{90}{55}{Chou 3 EH}}% +% \clearpage +% \vspace*{\fill}\smash{\japanenvelope{235}{120}{25}{12}{90}{45}{Chou 3 LL}}% +% \clearpage +% \vspace*{\fill}\smash{\japanenvelope{235}{120}{25}{12}{90}{55}{Chou 3 LH}}% +% \clearpage +% \vspace*{\fill}\smash{\japanenvelope{205}{90}{22}{12}{90}{45}{Chou 4 EL}}% +% \clearpage +% \vspace*{\fill}\smash{\japanenvelope{205}{90}{22}{12}{90}{55}{Chou 4 EH}}% +% \clearpage +% \vspace*{\fill}\smash{\japanenvelope{205}{90}{25}{12}{90}{45}{Chou 4 LL}}% +% \clearpage +% \vspace*{\fill}\smash{\japanenvelope{205}{90}{25}{12}{90}{55}{Chou 4 LH}}% +% \clearpage +% \vspace*{\fill}\smash{\japanenvelope{205}{90}{98}{28}{90}{45}{Chou 4 RL}}% +% \clearpage +% \fi +%\fi +% +% \StopEventually{\PrintIndex} +% +% \section{Implementation} +% \begin{macrocode} +%<*lco> +% \end{macrocode} +% +% \subsection{The File Header} +% +% Declaration of the file. +% \begin{macrocode} +%<*head> +\ProvidesFile{% +%<Ni> Nippon% +%<Kaku> Kaku% +%<EARLY> E% +%<LATE> L% +%<RIGHT> R% +%<LOW> L% +%<HIGH> H% +}[% +%!KOMAScriptVersion +Japanese letter-class-option] +% \end{macrocode} +% +% \begin{command}{\LCOWarningNoLine} +% \begin{command}{\LCOWarning} +% We need macros that are similar to |\ClassWarningNoLine| or +% |\PackageWarningNoLine| and |\ClassWarning| or |\PackageWarning| +% \begin{macrocode} +\providecommand*\LCOWarningNoLine[2]{% + \LCOWarning{#1}{#2\@gobble}% +} +\providecommand*\LCOWarning[2]{% + \GenericWarning{% + (#1)\@spaces\@spaces\@spaces\@spaces\@spaces\@spaces\@spaces + }{% + Letter class option #1 Warning: #2% + }% +} +%</head> +% \end{macrocode} +% \end{command} +% \end{command} +% +% +% \subsection{Main-Part} +% +% Check the class. +% \changes{v3.25a}{2018/04/17}{check not only for \cls*{scrlttr2} but also +% for \pkg*{scrletter}}%^^A +% \begin{macrocode} +%<*body> +\@ifundefined{scr@fromname@var}{% + \LCOWarningNoLine{% +%<Ni> Nippon% +%<Kaku> Kaku% +%<EARLY> E% +%<LATE> L% +%<RIGHT> R% +%<LOW> L% +%<HIGH> H% + }{% + This letter class option file was made only\MessageBreak + to be used with KOMA-Script letter class\MessageBreak + `scrlttr2' or letter package `scrletter'.\MessageBreak + Use with other classes and without that package\MessageBreak + can result in a lot of errors% + }% +}{} +% \end{macrocode} +% +% Is the expected paper size used? +% \begin{macrocode} +\LetterOptionNeedsPapersize{% +%<Ni> Nippon% +%<Kaku> Kaku% +%<EARLY> E% +%<LATE> L% +%<RIGHT> R% +%<LOW> L% +%<HIGH> H% +}{a4} +% \end{macrocode} +% +% All the values +% \begin{variable}{fromzipcode} +% \changes{v3.03}{2009/03/04}{set term of variable \texttt{fromzipcode}} +% \begin{macrocode} +\setkomavar*{fromzipcode}{J} +% \end{macrocode} +% \end{variable} +% \begin{pseudolength}{foldmarkhpos, +% tfoldmarkvpos,tfoldmarklength, +% mfoldmarkvpos,mfoldmarklength, +% bfoldmarkvpos,bfoldmarklength, +% foldmarkvpos,lfoldmarkhpos} +% The fold marks. All of them are universal for Japanese \file{lco}-files. +% \begin{macrocode} +\setplength{foldmarkhpos}{3.5mm} +\setplength{tfoldmarkvpos}{83mm} +\setplength{tfoldmarklength}{4mm} +\setplength{mfoldmarkvpos}{116mm} +\setplength{mfoldmarklength}{2mm} +\setplength{bfoldmarkvpos}{232mm} +\setplength{bfoldmarklength}{2mm} +\setplength{foldmarkvpos}{3.5mm} +\setplength{lfoldmarkhpos}{202mm} +% \end{macrocode} +% \end{pseudolength} +% \begin{pseudolength}{toaddrhpos,toaddrvpos,toaddrwidth,toaddrheight} +% The size and position of the address window. These values are the main +% difference of the envelopes. The original values (all in cm) by Gernot: +% \begin{center} +% \begin{tabular}{lcccc} +% \hline +% Type & x & w & y & h \\ +% \hline +% NipponEL & 22 & 90 & 12 & 45 \\ +% NipponEH & 22 & 90 & 12 & 55 \\ +% NipponLL & 25 & 90 & 12 & 45 \\ +% NipponLH & 25 & 90 & 12 & 55 \\ +% NipponRL & 98 & 90 & 28 & 45 \\ +% KakuLL & 25 & 90 & 24 & 45 \\ +% \hline +% \end{tabular} +% \end{center} +% \begin{macrocode} +%<EARLY>\setplength{toaddrhpos}{22mm} +%<LATE>\setplength{toaddrhpos}{25mm} +%<RIGHT>\setplength{toaddrhpos}{-22mm} +\setplength{toaddrwidth}{90mm} +%<Ni&!RIGHT>\setplength{toaddrvpos}{12mm} +%<Ni&RIGHT>\setplength{toaddrvpos}{28mm} +%<Kaku>\setplength{toaddrvpos}{24mm} +%<LOW>\setplength{toaddrheight}{40mm} +%<HIGH>\setplength{toaddrheight}{50mm} +% \end{macrocode} +% \end{pseudolength} +% \begin{pseudolength}{toaddrindent,backaddrheight, +% specialmailindent,specialmailrightindent} +% These are also inside the address window and same for all Japanese +% envelopes. +% \begin{macrocode} +\setplength{toaddrindent}{\z@} +\setplength{backaddrheight}{5mm} +\setplength{specialmailindent}{\fill} +\setplength{specialmailrightindent}{1em} +% \end{macrocode} +% \end{pseudolength} +% \begin{pseudolength}{locwidth,locheight} +% The location field also depends on the address field. +% \begin{macrocode} +\setplength{locwidth}{\z@} +%<Ni>\setplength{locheight}{55mm}% +%<Kaku>\setplength{locheight}{45mm}% +% \end{macrocode} +% \end{pseudolength} +% \begin{pseudolength}{refvpos,refwidth,refaftervskip} +% While the position of the reference line also depends on the address field, +% the space below it is fix. The zero of \plen{revwidth} is a magic. See +% \file{scrkernel-notepaper.dtx} for more information. +% \begin{macrocode} +%<!Ni|!RIGHT>\setplength{refvpos}{69mm} +%<Ni&RIGHT>\setplength{refvpos}{84mm} +\setplength{refaftervskip}{\baselineskip} +\setplength{refwidth}{\z@} +% \end{macrocode} +% \end{pseudolength} +% \begin{pseudolength}{firstheadvpos,firstheadwidth} +% The header also depends on the address field. This is the reason we have +% not defined it first, despite it is the first field. +% \begin{macrocode} +\setplength{firstheadvpos}{8mm} +\setplength{firstheadwidth}{\paperwidth} +\ifdim \useplength{toaddrhpos}>\z@ + \addtoplength[-2]{firstheadwidth}{\useplength{toaddrhpos}} +\else + \addtoplength[2]{firstheadwidth}{\useplength{toaddrhpos}} +\fi +% \end{macrocode} +% \end{pseudolength} +% \begin{pseudolength}{firstfootwidth,firstfootvpos} +% The width of the footer depends on the width of the header. The position +% depends on the paper height. +% \begin{macrocode} +\setplength{firstfootwidth}{\useplength{firstheadwidth}} +\setplength{firstfootvpos}{\paperheight} +\addtoplength{firstfootvpos}{-16mm} +% \end{macrocode} +% \end{pseudolength} +% \begin{pseudolength}{sigindent,sigbeforevskip} +% Values of the signature +% \begin{macrocode} +\setplength{sigindent}{\z@} +\setplength{sigbeforevskip}{2\baselineskip} +% \end{macrocode} +% \end{pseudolength} +% \begin{command}{\raggedsignature} +% The signature is centered, but maybe this should be changed to +% \cs{raggedright}? +% \begin{macrocode} +\let\raggedsignature=\centering +% \end{macrocode} +% \end{command} +% +% \begin{option}{fromalign} +% The default alignment of the sender is in the location field. +% \begin{macrocode} +\ifcase\@alignfrom + \KOMAoptions{fromalign=locationright}% +\or + \KOMAoptions{fromalign=locationright}% +\or + \KOMAoptions{fromalign=locationright}% +\fi +% \end{macrocode} +% \end{option} +% +% \begin{macrocode} +%</body> +%</lco> +% \end{macrocode} +% +% \Finale +% \PrintChanges +% +\endinput +% Local Variables: +% mode: doctex +% ispell-local-dictionary: "en_US" +% eval: (flyspell-mode 1) +% TeX-master: t +% TeX-engine: luatex-dev +% eval: (setcar (or (cl-member "Index" (setq-local TeX-command-list (copy-alist TeX-command-list)) :key #'car :test #'string-equal) (setq-local TeX-command-list (cons nil TeX-command-list))) '("Index" "mkindex %s" TeX-run-index nil t :help "makeindex for dtx")) +% End: |