diff options
author | Karl Berry <karl@freefriends.org> | 2013-09-21 21:37:42 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2013-09-21 21:37:42 +0000 |
commit | f5628028710fc1360a0446b4c92ae214d08ef20f (patch) | |
tree | 521b743e01d336bae4f05bcd69e75f78288d81af /Master/texmf-dist/source/latex/skrapport | |
parent | 74e7c8b0e6d77f0d143fac7754168b84747ef59b (diff) |
skrapport (21sep13)
git-svn-id: svn://tug.org/texlive/trunk@31718 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/source/latex/skrapport')
-rw-r--r-- | Master/texmf-dist/source/latex/skrapport/skrapport.tex | 300 |
1 files changed, 197 insertions, 103 deletions
diff --git a/Master/texmf-dist/source/latex/skrapport/skrapport.tex b/Master/texmf-dist/source/latex/skrapport/skrapport.tex index 2cdc6455d7f..7f355fcaf77 100644 --- a/Master/texmf-dist/source/latex/skrapport/skrapport.tex +++ b/Master/texmf-dist/source/latex/skrapport/skrapport.tex @@ -90,7 +90,7 @@ % This is where the documentation begins \begin{document} % Change & version info - \version{0.12c} + \version{0.12d} \changes{0.01}{Initial version} \changes{0.03}{Removed \cs{rd} and \cs{id}} \changes{0.04}{Added \pkg{microtype} package} @@ -113,6 +113,7 @@ the default font stack on \hologo{XeLaTeX}} \changes{0.12b}{Minor and major bugfixes to \cs{maketitle}, \opt{ptsize}, \opt{twocolumn} and others} \changes{0.12c}{Added german language option, fixed sectioning macros in \opt{twocolumn} mode} + \changes{0.12d}{Added \opt{hanging-titles}, latin phrase macros. Load \pkg{isomath}. Don't load \pkg{icomma}. Use \cs{frenchspacing}} % Metadata \package[ctan=skrapport,vcs=https://github.com/urdh/skrapport]{skrapport} @@ -191,13 +192,17 @@ default behaviour thus is similar to that obtained using the \pkg{parskip} package with the \pkg{article} package. - \Option{titles}\WithValues{rm, bf, sf}\AndDefault{bf} + \Option{titles}\WithValues{rm, it, bf, sf}\AndDefault{bf} Section titles (and a few other elements) are controlled by this option in that they are typeset either using the regular roman font, the boldfaced roman font or the sans serif font. For historical reasons the default is a boldfaced roman font, but the sans serif option is very handsome. + \Option{hanging-titles}\WithValues{true, false}\AndDefault{false} + This options allow sections to be set as \enquote{hanging} titles, + \emph{i.e.} with the section number in the margin. + \Option{color}\WithValues{\meta{color theme}}\AndDefault{default} This option tells the class to activate color theme support and optionally load a color theme. Several color themes are available @@ -464,6 +469,19 @@ comment inline with a red background, while the unstarred variant typesets the comment in a \cs{marginpar}. + \DescribeMacro\eg + \DescribeMacro\ie + \DescribeMacro\etc + \DescribeMacro\cf + \DescribeMacro\viz + These macro print the abbreviation of the latin phrases + \emph{exempli gratia}, \emph{id est}, \emph{et cetera}, + \emph{confer} and \emph{videlicet}, respectively. + The macros peek ahead to find punctuation marks and spaces, so they + should behave correctly regardless of usage (assuming they're used in + running text and uncomplicated settings). In languages other than + english, appropriate translations are made if applicable. + \subsubsection{Color theme support} \DescribeMacro\colortheme{<theme>} The \cs{colortheme} macro, which is only available when the @@ -1019,7 +1037,8 @@ \end{macro} \begin{macro}{\__skrapport_setup_titles:n}[1] - {Title style (\texttt{rm}, \texttt{bf} or \texttt{sf})} + {Title style (\texttt{rm}, \texttt{it}, + \texttt{bf} or \texttt{sf})} The title styles are implemented by creating a new macro \cs{__skrapport_title_style:} which will later be used by \cs{section} and friends. @@ -1030,8 +1049,10 @@ \begin{macro*}{\__skrapport_title_style:} \changes{0.11a}{Removed incorrect \cs{bfseries}, replaced \cs{relax} with \cs{rmfamily}} + \changes{0.12d}{Added \texttt{it} option} \begin{MacroCode}{class} {rm}{\cs_new_protected:Nn\__skrapport_title_style:{\rmfamily}} + {it}{\cs_new_protected:Nn\__skrapport_title_style:{\itshape}} {bf}{\cs_new_protected:Nn\__skrapport_title_style:{\bfseries}} {sf}{\cs_new_protected:Nn\__skrapport_title_style:{\sffamily}} \end{MacroCode} @@ -1049,6 +1070,8 @@ \begin{macro}{\__skrapport_setup_lang:n}[1] {Language (\texttt{sv}, \texttt{en} or \texttt{de})} + \changes{0.12d}{Use \pkg{babel} mechanisms for language-dependent + strings, so they work correctly in \env{otherlanguage}} Thus far only two language options are implemented, each of them setting the other as the \enquote{other} language. We check if \pkg{polyglossia} has been loaded (this is done by @@ -1066,42 +1089,11 @@ \RequirePackage[british,swedish]{babel} } \end{MacroCode} - \begin{macro*}{\__skrapport_and_word:} - \begin{macro*}{\__skrapport_Email_word:} - \begin{macro*}{\__skrapport_Comment_word:} - \begin{macro*}{\contentsname} - \begin{macro*}{\refname} - \begin{macro*}{\figurename} - \begin{macro*}{\tablename} - \begin{macro*}{\appendixname} - \begin{macro*}{\abstractname} - \begin{macro*}{\today} \begin{macro*}{\__skrapport_RFC_language:} \begin{MacroCode}{class} - \cs_gset:Nn\__skrapport_and_word:{och} - \cs_gset:Nn\__skrapport_Email_word:{E-post} - \cs_gset:Nn\__skrapport_Comment_word:{Kommentar} - \cs_gset:Npn\contentsname{Innehåll} - \cs_gset:Npn\refname{Referenser} - \cs_gset:Npn\figurename{Figur} - \cs_gset:Npn\tablename{Tabell} - \cs_gset:Npn\appendixname{Bilaga} - \cs_gset:Npn\abstractname{Sammanfattning} - \cs_gset:Npn\today - {\int_use:N\year--\int_use:N\month--\int_use:N\day} \cs_gset:Nn\__skrapport_RFC_language:{swe} \end{MacroCode} \end{macro*} - \end{macro*} - \end{macro*} - \end{macro*} - \end{macro*} - \end{macro*} - \end{macro*} - \end{macro*} - \end{macro*} - \end{macro*} - \end{macro*} \begin{MacroCode}{class} \PassOptionsToPackage{iso,swedish}{isodate} } @@ -1113,42 +1105,11 @@ \RequirePackage[swedish,british]{babel} } \end{MacroCode} - \begin{macro*}{\__skrapport_and_word:} - \begin{macro*}{\__skrapport_Email_word:} - \begin{macro*}{\__skrapport_Comment_word:} - \begin{macro*}{\contentsname} - \begin{macro*}{\refname} - \begin{macro*}{\figurename} - \begin{macro*}{\tablename} - \begin{macro*}{\appendixname} - \begin{macro*}{\abstractname} - \begin{macro*}{\today} \begin{macro*}{\__skrapport_RFC_language:} \begin{MacroCode}{class} - \cs_gset:Nn\__skrapport_and_word:{and} - \cs_gset:Nn\__skrapport_Email_word:{Email} - \cs_gset:Nn\__skrapport_Comment_word:{Comment} - \cs_gset:Npn\contentsname{Contents} - \cs_gset:Npn\refname{References} - \cs_gset:Npn\figurename{Figurr} - \cs_gset:Npn\tablename{Table} - \cs_gset:Npn\appendixname{Appendix} - \cs_gset:Npn\abstractname{Abstract} - \cs_gset:Npn\today - {\int_use:N\year--\int_use:N\month--\int_use:N\day} \cs_gset:Nn\__skrapport_RFC_language:{eng} \end{MacroCode} \end{macro*} - \end{macro*} - \end{macro*} - \end{macro*} - \end{macro*} - \end{macro*} - \end{macro*} - \end{macro*} - \end{macro*} - \end{macro*} - \end{macro*} \begin{MacroCode}{class} \PassOptionsToPackage{iso,british}{isodate} } @@ -1160,42 +1121,11 @@ \RequirePackage[british,ngerman]{babel} } \end{MacroCode} - \begin{macro*}{\__skrapport_and_word:} - \begin{macro*}{\__skrapport_Email_word:} - \begin{macro*}{\__skrapport_Comment_word:} - \begin{macro*}{\contentsname} - \begin{macro*}{\refname} - \begin{macro*}{\figurename} - \begin{macro*}{\tablename} - \begin{macro*}{\appendixname} - \begin{macro*}{\abstractname} - \begin{macro*}{\today} \begin{macro*}{\__skrapport_RFC_language:} \begin{MacroCode}{class} - \cs_gset:Nn\__skrapport_and_word:{und} - \cs_gset:Nn\__skrapport_Email_word:{E-Mail} - \cs_gset:Nn\__skrapport_Comment_word:{Kommentar} - \cs_gset:Npn\contentsname{Inhaltsverzeichnis} - \cs_gset:Npn\refname{Literatur} - \cs_gset:Npn\figurename{Abbildung} - \cs_gset:Npn\tablename{Tabelle} - \cs_gset:Npn\appendixname{Anhang} - \cs_gset:Npn\abstractname{Zusammenfassung} - \cs_gset:Npn\today - {\int_use:N\day.\,\int_use:N\month.\,\int_use:N\year} \cs_gset:Nn\__skrapport_RFC_language:{ger} \end{MacroCode} \end{macro*} - \end{macro*} - \end{macro*} - \end{macro*} - \end{macro*} - \end{macro*} - \end{macro*} - \end{macro*} - \end{macro*} - \end{macro*} - \end{macro*} \begin{MacroCode}{class} \PassOptionsToPackage{iso,ngerman}{isodate} } @@ -1206,6 +1136,89 @@ \begin{MacroCode}{class} \msg_info:nnn{skrapport}{invalid-lang}{#1} } +\end{MacroCode} + After loading \pkg{babel} or \pkg{polyglossia}, we provide + translation strings. This is done using the \cs*{addto} and + \cs*{captions<lang>}, which is compatible with both packages. + \begin{macro*}{\captionsswedish} + \begin{macro*}{\dateswedish} +\begin{MacroCode}{class} + \addto\captionsswedish{ + \cs_gset:Nn\__skrapport_and_word:{och} + \cs_gset:Nn\__skrapport_Email_word:{E-post} + \cs_gset:Nn\__skrapport_Comment_word:{Kommentar} + \cs_gset:Nn\__skrapport_eg_word:{t.ex.} + \cs_gset:Nn\__skrapport_ie_word:{dvs.} + \cs_gset:Nn\__skrapport_etc_word:{\emph{etc.}} + \cs_gset:Nn\__skrapport_cf_word:{jfr.} + \cs_gset:Nn\__skrapport_viz_word:{dvs.} + \cs_gset:Npn\contentsname{Innehåll} + \cs_gset:Npn\refname{Referenser} + \cs_gset:Npn\figurename{Figur} + \cs_gset:Npn\tablename{Tabell} + \cs_gset:Npn\appendixname{Bilaga} + \cs_gset:Npn\abstractname{Sammanfattning} + } + \cs_gset:Npn\dateswedish{ + \cs_gset:Npn\today + {\int_use:N\year--\int_use:N\month--\int_use:N\day} + } +\end{MacroCode} + \end{macro*} + \end{macro*} + \begin{macro*}{\captionsbritish} + \begin{macro*}{\datebritish} +\begin{MacroCode}{class} + \addto\captionsbritish{ + \cs_gset:Nn\__skrapport_and_word:{and} + \cs_gset:Nn\__skrapport_Email_word:{Email} + \cs_gset:Nn\__skrapport_Comment_word:{Comment} + \cs_gset:Nn\__skrapport_eg_word:{\emph{e.g.}} + \cs_gset:Nn\__skrapport_ie_word:{\emph{i.e.}} + \cs_gset:Nn\__skrapport_etc_word:{\emph{etc.}} + \cs_gset:Nn\__skrapport_cf_word:{\emph{cf.}} + \cs_gset:Nn\__skrapport_viz_word:{\emph{viz.}} + \cs_gset:Npn\contentsname{Contents} + \cs_gset:Npn\refname{References} + \cs_gset:Npn\figurename{Figurr} + \cs_gset:Npn\tablename{Table} + \cs_gset:Npn\appendixname{Appendix} + \cs_gset:Npn\abstractname{Abstract} + } + \cs_gset:Npn\datebritish{ + \cs_gset:Npn\today + {\int_use:N\year--\int_use:N\month--\int_use:N\day} + } +\end{MacroCode} + \end{macro*} + \end{macro*} + \begin{macro*}{\captionsngerman} + \begin{macro*}{\datengerman} +\begin{MacroCode}{class} + \addto\captionsngerman{ + \cs_gset:Nn\__skrapport_and_word:{und} + \cs_gset:Nn\__skrapport_Email_word:{E-Mail} + \cs_gset:Nn\__skrapport_Comment_word:{Kommentar} + \cs_gset:Nn\__skrapport_eg_word:{z.~B.} + \cs_gset:Nn\__skrapport_ie_word:{d.~h.} + \cs_gset:Nn\__skrapport_etc_word:{usw.} + \cs_gset:Nn\__skrapport_cf_word:{vgl.} + \cs_gset:Nn\__skrapport_viz_word:{\emph{viz.}} + \cs_gset:Npn\contentsname{Inhaltsverzeichnis} + \cs_gset:Npn\refname{Literatur} + \cs_gset:Npn\figurename{Abbildung} + \cs_gset:Npn\tablename{Tabelle} + \cs_gset:Npn\appendixname{Anhang} + \cs_gset:Npn\abstractname{Zusammenfassung} + } + \cs_gset:Npn\datengerman{ + \cs_gset:Npn\today + {\int_use:N\day.\,\int_use:N\month.\,\int_use:N\year} + } +\end{MacroCode} + \end{macro*} + \end{macro*} +\begin{MacroCode}{class} } \end{MacroCode} \end{macro} @@ -1478,6 +1491,7 @@ \begin{macro}{\__skrapport_setup_xelatex:} \changes{0.12a}{Don't load \pkg{polyglossia} for \hologo{LuaTeX}. Don't load \pkg{fontspec} for any engine} + \changes{0.12d}{Force \texttt{quiet} option for \pkg{fontspec}} This macro contains special setup code for the \hologo{XeTeX} and \hologo{LuaTeX} engines, such as providing missing commands (which have been replaced by equivalent Unicode @@ -1510,6 +1524,7 @@ Thus, only load \pkg{polyglossia} for \hologo{XeLaTeX}. \begin{MacroCode}{class} \xetex_if_engine:TF{ + \PassOptionsToPackage{quiet}{fontspec} \RequirePackage{polyglossia} \bool_gset_true:N\g__skrapport_has_polyglossia_bool }{ @@ -1520,11 +1535,15 @@ \end{macro} \begin{macro}{\__skrapport_setup_pdftex:} + \changes{0.12d}{Load \pkg{isomath}} This macro contains special setup code for the \hologo{pdfTeX} engine. Currently, it only sets the font encoding to T1. \begin{MacroCode}{class} \cs_new:Nn\__skrapport_setup_pdftex:{ \RequirePackage[T1]{fontenc} + \AtEndOfClass{ + \RequirePackage{isomath} + } \bool_gset_false:N\g__skrapport_has_polyglossia_bool } \end{MacroCode} @@ -1687,7 +1706,7 @@ \end{MacroCode} \end{option} - \begin{option}{titles}{rm, bf, sf} + \begin{option}{titles}{rm, it, bf, sf} Declare options for section titles. The old \opt*{??titles} aliases are deprecated and will be removed in a future version. \begin{option}{rmtitles} @@ -1699,7 +1718,7 @@ \changes{0.12}{Option is now deprecated} \begin{MacroCode}{class} titles .choices:nn = - { rm, bf, sf } + { rm, it, bf, sf } {\__skrapport_setup_titles:x{\tl_use:N\l_keys_choice_tl}}, titles .value_required:, rmtitles .code:n = @@ -1720,6 +1739,15 @@ \end{option} \end{option} + \begin{option}{hanging-titles}{true, false} + \changes{0.12d}{Added option to enable \enquote{hanging} titles} +\begin{MacroCode}{class} + hanging-titles .bool_gset:N = \g__skrapport_hanging_titles_bool, + hanging-titles .default:n = true, + hanging-titles .initial:n = false, +\end{MacroCode} + \end{option} + \begin{option}{lang}{sv, en, de} \changes{0.12c}{Added option value \texttt{de}} \changes{0.12}{Incompatible change: values \texttt{swe} and @@ -1992,13 +2020,13 @@ \RequirePackage{calc,isodate,multicol} \end{MacroCode} - At the end of the class definition we load a couple of very - useful packages that improve typesetting. These are - \pkg{microtype}, \pkg{icomma}. + At the end of the class definition we load a very + useful package that improves typesetting: \pkg{microtype}. + Also set \cs{frenchspacing}. \begin{MacroCode}{class} \AtEndOfClass{ \RequirePackage{microtype} - \RequirePackage{icomma} + \frenchspacing } \end{MacroCode} @@ -2584,12 +2612,17 @@ {Styling of the section title} {Actual section title} {Section title for TOC} + \changes{0.12d}{Added support for hanging titles} \begin{MacroCode}{class} \cs_new:Npn\__skrapport_section_nostar:nnnnnn#1#2#3#4#5#6{ \cs_set:Nn\__skrapport_saved_section:{} \int_compare:nF{#2>\value{secnumdepth}}{ \refstepcounter{#1} - \cs_set:Nn\__skrapport_saved_section:{\use:c{the#1}~} + \cs_set:Nn\__skrapport_saved_section:{ + \bool_if:NTF\g__skrapport_hanging_titles_bool + {\llap{\use:c{the#1}\hspace{1ex}}} + {\use:c{the#1}~} + } } \__skrapport_section_star:nnnn {#3}{#4}{#5}{\__skrapport_saved_section:} @@ -3571,6 +3604,67 @@ \end{macro} \end{macro} + \begin{macro}{\__skrapport_space_if_not_punctuation:} +\begin{MacroCode}{class} +\cs_new:Nn\__skrapport_space_if_not_punctuation:{ + \clist_if_in:noF + {{,},:,;,!,?,-,),'} + {\token_to_meaning:N\l_peek_token} + {\ } +} +\end{MacroCode} + \end{macro} + \begin{macro}{\__skrapport_peek_punctuation:n} + \begin{macro*}{\__skrapport_peek_punctuation:x} +\begin{MacroCode}{class} +\cs_new_nopar:Nn\__skrapport_peek_punctuation:n{ + \mbox{#1} + \peek_meaning_remove:NTF.{}{ + \peek_meaning:NF\ { + \peek_after:Nw\__skrapport_space_if_not_punctuation: + } + } +} +\cs_generate_variant:Nn\__skrapport_peek_punctuation:n{x} +\end{MacroCode}{class} + \end{macro*} + \end{macro} + \begin{macro}{\eg} +\begin{MacroCode}{class} +\DeclareDocumentCommand\eg{}{ + \__skrapport_peek_punctuation:x{\__skrapport_eg_word:} +} +\end{MacroCode}{class} + \end{macro} + \begin{macro}{\ie} +\begin{MacroCode}{class} +\DeclareDocumentCommand\ie{}{ + \__skrapport_peek_punctuation:x{\__skrapport_ie_word:} +} +\end{MacroCode}{class} + \end{macro} + \begin{macro}{\etc} +\begin{MacroCode}{class} +\DeclareDocumentCommand\etc{}{ + \__skrapport_peek_punctuation:x{\__skrapport_etc_word:} +} +\end{MacroCode}{class} + \end{macro} + \begin{macro}{\cf} +\begin{MacroCode}{class} +\DeclareDocumentCommand\cf{}{ + \__skrapport_peek_punctuation:x{\__skrapport_cf_word:} +} +\end{MacroCode}{class} + \end{macro} + \begin{macro}{\viz} +\begin{MacroCode}{class} +\DeclareDocumentCommand\viz{}{ + \__skrapport_peek_punctuation:x{\__skrapport_viz_word:} +} +\end{MacroCode}{class} + \end{macro} + \subsubsection{Color theme support} Color theme setup. Start by patching commands and declaring default colors. Not implemented: background colors for e.g. |