texlive[43373] Master: fnspe (1mar17)

commits+karl at tug.org commits+karl at tug.org
Wed Mar 1 23:31:15 CET 2017


Revision: 43373
          http://tug.org/svn/texlive?view=revision&revision=43373
Author:   karl
Date:     2017-03-01 23:31:15 +0100 (Wed, 01 Mar 2017)
Log Message:
-----------
fnspe (1mar17)

Modified Paths:
--------------
    trunk/Master/texmf-dist/doc/latex/fnspe/README
    trunk/Master/texmf-dist/tex/latex/fnspe/fnspe.sty
    trunk/Master/tlpkg/libexec/ctan2tds

Added Paths:
-----------
    trunk/Master/texmf-dist/doc/latex/fnspe/fnspe.pdf
    trunk/Master/texmf-dist/doc/latex/fnspe/fnspe.tex

Removed Paths:
-------------
    trunk/Master/texmf-dist/doc/latex/fnspe/README.TEXLIVE

Modified: trunk/Master/texmf-dist/doc/latex/fnspe/README
===================================================================
--- trunk/Master/texmf-dist/doc/latex/fnspe/README	2017-03-01 22:30:18 UTC (rev 43372)
+++ trunk/Master/texmf-dist/doc/latex/fnspe/README	2017-03-01 22:31:15 UTC (rev 43373)
@@ -1,19 +1,18 @@
-README for fnspe.sty
-
-fnspe 1.0
-Created by Michal Zeman
-Updated February 27, 2017
-
-E-mail comments and suggestions to: michalzemaster at gmail.com
-GIT contribution: https://bitbucket.org/Zemaster/fnspe-latex-package
-
-This material is subject to the LaTeX Project Public License.
-See http://www.ctan.org/tex-archive/help/Catalogue/licenses.lppl.html for 
-the details of that license.
-
-This package is primary intended for students of FNSPE CTU in Prague 
-but many other students or scientists can found this package as useful. 
-
-This package implements different standards of tensor notation, 
-interval notation and complex notation. Further many macros and 
+README for fnspe.sty
+
+fnspe 1.1b
+Created by Michal Zeman
+Updated February 28, 2017
+
+E-mail comments and suggestions to: michalzemaster at gmail.com
+GIT contribution: https://bitbucket.org/Zemaster/fnspe-latex-package
+
+This material is subject to the LaTeX Project Public License.
+See https://www.latex-project.org/lppl/ for the details of that license.
+
+This package is primary intended for students of FNSPE CTU in Prague 
+but many other students or scientists can found this package as useful. 
+
+This package implements different standards of tensor notation, 
+interval notation and complex notation. Further many macros and 
 shortcuts are added, e.q. for spaces, operators, physics unit, etc. 
\ No newline at end of file

Deleted: trunk/Master/texmf-dist/doc/latex/fnspe/README.TEXLIVE
===================================================================
--- trunk/Master/texmf-dist/doc/latex/fnspe/README.TEXLIVE	2017-03-01 22:30:18 UTC (rev 43372)
+++ trunk/Master/texmf-dist/doc/latex/fnspe/README.TEXLIVE	2017-03-01 22:31:15 UTC (rev 43373)
@@ -1,7 +0,0 @@
-The following files have been removed in the TeX Live installation of
-the current package, typically due to duplication, lack of space, or
-missing source code.  You can find these files on CTAN at
-	http://mirror.ctan.org/macros/latex/contrib/fnspe
-If questions or concerns, email tex-live at tug.org.
-
-	fnspe.pdf

Added: trunk/Master/texmf-dist/doc/latex/fnspe/fnspe.pdf
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/fnspe/fnspe.pdf
===================================================================
--- trunk/Master/texmf-dist/doc/latex/fnspe/fnspe.pdf	2017-03-01 22:30:18 UTC (rev 43372)
+++ trunk/Master/texmf-dist/doc/latex/fnspe/fnspe.pdf	2017-03-01 22:31:15 UTC (rev 43373)

Property changes on: trunk/Master/texmf-dist/doc/latex/fnspe/fnspe.pdf
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/fnspe/fnspe.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/fnspe/fnspe.tex	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/latex/fnspe/fnspe.tex	2017-03-01 22:31:15 UTC (rev 43373)
@@ -0,0 +1,481 @@
+% fnspe 1.1b
+% This material is subject to the LaTeX Project Public License.
+% See https://www.latex-project.org/lppl/ for the details of that license.
+%
+% Useful commands for FNSPE students 
+%
+% Created by Michal Zeman
+% Updated on February 28, 2017
+% Uploaded on February 28, 2017
+
+\documentclass{article}
+\usepackage[arrowtensor,oldcomplex]{zefnspe}
+\usepackage{hyperref}
+\begin{document}
+	\section*{Options}
+	
+	In this package there are three types of options (examples and differences will be shown further)
+	\begin{enumerate}
+		\item for interval notation
+			\begin{itemize}
+				\item \texttt{isointerval} for using standardized format of interval described in \textbf{ISO 31-11}
+				\item \texttt{isoointerval} for using standardized alternative format of interval described in \textbf{ISO 31-11}
+				\item \texttt{fnspeinterval} for using special notation used at FNSPE CTU in Prague
+			\end{itemize}
+		\item for tensor notation (now for vectors and matrices)
+			\begin{itemize}
+				\item \texttt{isotensor} for using standardized format of tensor 
+				\item \texttt{undertensor} for using underline notation of tensor 
+				\item \texttt{arrowtensor} for using arrow notation of tensor
+			\end{itemize}
+		\item for complex notation (real and complex part)
+			\begin{itemize}
+				\item \texttt{isocomplex} for using standardized format of complex and real part 
+				\item \texttt{oldcomplex} for using old \LaTeX{} default format of complex and real part 
+			\end{itemize}
+	\end{enumerate}
+
+	\section*{Macros}
+		\subsection*{Interval}
+		Let $a$ and $b$ be real numbers.
+		
+		\subsubsection*{Closed interval}
+		Using of macro
+		\begin{lstlisting}
+			\ci{a}{b}
+		\end{lstlisting}
+		as \textbf{c}losed \textbf{i}nterval.
+		
+		\begin{itemize}
+			\item \texttt{isointerval}
+				\begin{equation*}
+					\left[ a , b \right]
+				\end{equation*}
+			\item \texttt{isoointerval} (same as for \texttt{isointerval})
+				\begin{equation*}
+					\left[ a , b \right]
+				\end{equation*}
+			\item \texttt{fnspeinterval}
+				\begin{equation*}
+					\left< a , b \right>
+				\end{equation*}
+		\end{itemize}
+	
+		\subsubsection*{Opened interval}
+		Using of macro
+		\begin{lstlisting}
+			\oi{a}{b}
+		\end{lstlisting}
+		as \textbf{o}pened \textbf{i}nterval.
+		
+		\begin{itemize}
+			\item \texttt{isointerval}
+			\begin{equation*}
+			\left] a , b \right[
+			\end{equation*}
+			\item \texttt{isoointerval}
+			\begin{equation*}
+			\left( a , b \right)
+			\end{equation*}
+			\item \texttt{fnspeinterval} (same as for \texttt{isoointerval})
+			\begin{equation*}
+			\left( a , b \right)
+			\end{equation*}
+		\end{itemize}
+	
+		\subsubsection*{Right closed interval}
+		Using of macro
+		\begin{lstlisting}
+			\rci{a}{b}
+		\end{lstlisting}
+		as \textbf{r}ight \textbf{c}losed \textbf{i}nterval.
+		
+		\begin{itemize}
+			\item \texttt{isointerval}
+			\begin{equation*}
+			\left] a , b \right]
+			\end{equation*}
+			\item \texttt{isoointerval}
+			\begin{equation*}
+			\left( a , b \right]
+			\end{equation*}
+			\item \texttt{fnspeinterval}
+			\begin{equation*}
+			\left( a , b \right>
+			\end{equation*}
+		\end{itemize}
+	
+		\subsubsection*{Left closed interval}
+		Using of macro
+		\begin{lstlisting}
+			\lci{a}{b}
+		\end{lstlisting}
+		as \textbf{l}eft \textbf{c}losed \textbf{i}nterval.
+		
+		\begin{itemize}
+			\item \texttt{isointerval}
+			\begin{equation*}
+			\left[ a , b \right[
+			\end{equation*}
+			\item \texttt{isoointerval} (same as for \texttt{isointerval})
+			\begin{equation*}
+			\left[ a , b \right)
+			\end{equation*}
+			\item \texttt{fnspeinterval}
+			\begin{equation*}
+			\left< a , b \right)
+			\end{equation*}
+		\end{itemize}
+	
+		\subsubsection*{Using in text}
+		All these macros can be used directly in text (thanks to the command \textit{ensuremath}). Therefore one can use this syntax
+		\begin{lstlisting}
+			Let $x$ be in \ci{a}{b}
+		\end{lstlisting}
+		which casts: Let $x$ be in \ci{a}{b}.
+	
+	\subsection*{Tensor}
+		Let $x$ be vector and $A$ be matrix.
+	
+		\subsubsection*{Vector}
+		Using of macro
+		\begin{lstlisting}
+			\vec{x}
+		\end{lstlisting}
+		as \textbf{vec}tor.
+		
+		\begin{itemize}
+			\item \texttt{isotensor} - small letter with italic boldface
+			\begin{equation*}
+				\bm{\mathrm{x}}
+			\end{equation*}
+			\item \texttt{undertensor}
+			\begin{equation*}
+				\underline{x}
+			\end{equation*}
+			\item \texttt{arrowtensor}
+			\begin{equation*}
+				\vec x
+			\end{equation*}
+		\end{itemize}
+	
+		\subsubsection*{Matrix}
+		Using of macro
+		\begin{lstlisting}
+		\mat{x}
+		\end{lstlisting}
+		as \textbf{mat}rix.
+		
+		\begin{itemize}
+			\item \texttt{isotensor} - capital letter with italic boldface
+			\begin{equation*}
+				\bm{\mathrm{A}}
+			\end{equation*}
+			\item \texttt{undertensor}
+			\begin{equation*}
+				\underline{\underline{A}}
+			\end{equation*}
+			\item \texttt{arrowtensor}
+			\begin{equation*}
+				\mat{A}
+			\end{equation*}
+		\end{itemize}
+	
+		\subsubsection*{Using in text}
+		All these macros can be used directly in text (thanks to the command \textit{ensuremath}). Therefore one can use this syntax
+		\begin{lstlisting}
+		Let \vec{x} be real.
+		\end{lstlisting}
+		which casts: Let \vec{x} be real.
+	
+	\subsection*{Complex}
+		Let $z \in \compn$.
+	
+		\subsubsection*{Real part}
+		Using of macro
+		\begin{lstlisting}
+			\Re{x}
+		\end{lstlisting}
+		as \textbf{Re}al.
+		
+		\begin{itemize}
+			\item \texttt{oldcomplex}
+			\begin{equation*}
+				\Re\left\{z\right\}
+			\end{equation*}
+			\item \texttt{isocomplex}
+			\begin{equation*}
+				\mathrm{Re}\; z
+			\end{equation*}
+		\end{itemize}
+	
+		\subsubsection*{Imaginary part}
+		Using of macro
+		\begin{lstlisting}
+		\Im{x}
+		\end{lstlisting}
+		as \textbf{Im}aginary.
+		
+		\begin{itemize}
+			\item \texttt{oldcomplex}
+			\begin{equation*}
+				\Im\left\{z\right\}
+			\end{equation*}
+			\item \texttt{isocomplex}
+			\begin{equation*}
+				\mathrm{Im}\; z
+			\end{equation*}
+		\end{itemize}
+	
+		\subsubsection*{Using in text}
+		All these macros can be used directly in text (thanks to the command \textit{ensuremath}). Therefore one can use this syntax
+		\begin{lstlisting}
+		Let $x$ equal to \Re{z}.
+		\end{lstlisting}
+		which casts: Let $x$ equal to $\mathrm{Re}\;z$.
+	
+	\subsection*{Subscript}
+	In scientific \LaTeX{} text with two or more character should be in roman style (not italic as default), due to one can use prefix ! which make the word after it in roman style. Using of macro
+	\begin{lstlisting}
+		A_{!unique}
+	\end{lstlisting}
+	which leads to
+	\begin{equation*}
+		A_{!unigue}
+	\end{equation*}
+	instead of classic
+	\begin{equation*}
+		A_{unique}
+	\end{equation*}
+	
+	\subsection*{Special sets of numbers}
+	
+		\subsubsection*{Natural number}
+		Macro
+		\begin{lstlisting}
+			\natun
+		\end{lstlisting}
+		as \textbf{natu}ral \textbf{n}umber leads to
+		\begin{equation*}
+			\natun
+		\end{equation*}
+		
+		\subsubsection*{Integers}
+		Macro
+		\begin{lstlisting}
+			\inte
+		\end{lstlisting}
+		as \textbf{inte}regers leads to
+		\begin{equation*}
+			\inte
+		\end{equation*}
+		
+		\subsubsection*{Rational number}
+		Macro
+		\begin{lstlisting}
+			\ratin
+		\end{lstlisting}
+		as \textbf{rati}onal \textbf{n}umber leads to
+		\begin{equation*}
+			\ratin
+		\end{equation*}
+		
+		\subsubsection*{Real number}
+		Macro
+		\begin{lstlisting}
+			\realn
+		\end{lstlisting}
+		as \textbf{real} \textbf{n}umber leads to
+		\begin{equation*}
+			\realn
+		\end{equation*}
+		
+		\subsubsection*{Complex number}
+		Macro
+		\begin{lstlisting}
+			\compn
+		\end{lstlisting}
+		as \textbf{comp}ex \textbf{n}umber leads to
+		\begin{equation*}
+			\compn
+		\end{equation*}
+	
+		\subsubsection*{Using in text}
+		All these macros can be used directly in text (thanks to the command \textit{ensuremath}). Therefore one can use this syntax
+		\begin{lstlisting}
+		Let $n$ be in \natun
+		\end{lstlisting}
+		which casts: Let $n$ be in \natun.
+		
+	\subsection*{Derivative}
+		It is derived from \textit{physics} package. The manual is \href{http://mirrors.ctan.org/macros/latex/contrib/physics/physics.pdf}{here}.
+		
+	\subsection*{Operator}
+	Partially derived from \textit{physics} package.
+	
+		\subsubsection*{Gradient}
+		Macro
+		\begin{lstlisting}
+		\grad
+		\end{lstlisting}
+		as \textbf{grad}ient leads to
+		\begin{equation*}
+			\grad
+		\end{equation*}
+	
+		\subsubsection*{Divergence}
+		Macro
+		\begin{lstlisting}
+		\div
+		\end{lstlisting}
+		as \textbf{div}ergence leads to
+		\begin{equation*}
+			\div
+		\end{equation*}
+	
+		Derived from \textit{physics} package, old mean of this command as math symbol from dividing has alias as
+		\begin{lstlisting}
+			\divisionsymbol
+		\end{lstlisting}
+		which cast
+		\begin{equation*}
+			\divisionsymbol
+		\end{equation*}
+	
+		\subsubsection*{Rotation}
+		In English literature as \textbf{curl} operator has macro 
+		\begin{lstlisting}
+			\rot
+		\end{lstlisting}
+		as \textbf{rot}ation and leads to
+		\begin{equation*}
+			\rot
+		\end{equation*}
+	
+		One can also use \textit{physics} package command
+		\begin{lstlisting}
+			\curl
+		\end{lstlisting}
+		
+		\subsubsection*{Laplacian}
+		Macro
+		\begin{lstlisting}
+			\lapl
+		\end{lstlisting}
+		as \textbf{lapl}acian leads to
+		\begin{equation*}
+			\lapl
+		\end{equation*}
+	
+		One can also use \textit{physics} package notation
+		\begin{equation*}
+			\laplacian
+		\end{equation*}
+		which is cast by macro
+		\begin{lstlisting}
+			\laplacian
+		\end{lstlisting}
+		
+	\section*{Degree}
+		Macro
+		\begin{lstlisting}
+			\degree
+		\end{lstlisting}
+		as \textbf{degree} leads to \degree. Can be used without math mode.
+		
+	\section*{Physics unit}
+		\subsubsection*{Variable unit}
+		Macro
+		\begin{lstlisting}
+		\varun{m}{kg}
+		\end{lstlisting}
+		as \textbf{var}iable \textbf{un}it leads to 
+		\begin{equation*}
+			\varun{m}{kg}
+		\end{equation*}
+	
+		This macro can be used directly in text (thanks to the \textit{ensure} function). Therefore one can use
+		\begin{lstlisting}
+			where \varun{m}{kg} is the mass.
+		\end{lstlisting}
+		which casts: where \varun{m}{kg} is the mass.
+		
+		\subsubsection*{Unit}
+		Macro
+		\begin{lstlisting}
+		m\unit{kg}
+		\end{lstlisting}
+		as \textbf{unit} leads to 
+		\begin{equation*}
+			m\unit{kg}
+		\end{equation*}
+		This macro looks as
+		\begin{lstlisting}
+		\;\mathrm{kg}
+		\end{lstlisting}
+		the space before the roman characters is very important in science publications.
+	
+	\subsection*{Expected value}
+	Macro
+	\begin{lstlisting}
+	\expv{x}
+	\end{lstlisting}
+	as \textbf{exp}ected \textbf{v}alue leads to 
+	\begin{equation*}
+		\expv{x}
+	\end{equation*}
+	
+	\section*{Shortcuts}
+		\subsubsection*{One half}
+		Macro
+		\begin{lstlisting}
+			\hlf
+		\end{lstlisting}
+		as \textbf{h}a\textbf{lf} leads to 
+		\begin{equation*}
+			\hlf
+		\end{equation*}
+	
+		\subsubsection*{One over }
+		Macro
+		\begin{lstlisting}
+			\oover{x}
+		\end{lstlisting}
+		as \textbf{o}ne \textbf{over} leads to 
+		\begin{equation*}
+			\oover{x}
+		\end{equation*} 
+	
+	\section*{Spaces}
+		\subsubsection*{Horizontal space}
+		Macro
+		\begin{lstlisting}
+		\hem[width]
+		\end{lstlisting}
+		as \textbf{h}space\{\textbf{em}\} leads to horizontal space of specific width (multiples of em). Special case is 1em
+		\begin{lstlisting}
+			\mathrm{text}\hem\mathrm{text}
+		\end{lstlisting}
+		which leads to
+		\begin{equation*}
+			\mathrm{text}\hem\mathrm{text}
+		\end{equation*}
+		or shortcut form space with 2em width
+		\begin{lstlisting}
+			\mathrm{text}\htem\mathrm{text}
+		\end{lstlisting}
+		which casts
+		\begin{equation*}
+			\mathrm{text}\htem\mathrm{text}
+		\end{equation*}
+	
+		\subsection*{Implies with em spaces}
+		Macro
+		\begin{lstlisting}
+			\impem
+		\end{lstlisting}
+		as \textbf{implies} with \textbf{em} spaces leads to
+		\begin{equation*}
+			\mathrm{text}\impem\mathrm{text}
+		\end{equation*}
+\end{document}
\ No newline at end of file


Property changes on: trunk/Master/texmf-dist/doc/latex/fnspe/fnspe.tex
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Modified: trunk/Master/texmf-dist/tex/latex/fnspe/fnspe.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/fnspe/fnspe.sty	2017-03-01 22:30:18 UTC (rev 43372)
+++ trunk/Master/texmf-dist/tex/latex/fnspe/fnspe.sty	2017-03-01 22:31:15 UTC (rev 43373)
@@ -1,150 +1,189 @@
-\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{fnspe}[2017/02/27 Package for FNSPE CTU in Prague made by Michal Zeman]
-
-\RequirePackage{xstring}
-\RequirePackage{bm}
-
-\RequirePackage{amsmath}
-\RequirePackage{amsfonts}
-\RequirePackage{mathrsfs}
-\RequirePackage{amsthm}
-\RequirePackage{amssymb}
-\RequirePackage{xcolor}
-\RequirePackage{listings}
-\RequirePackage{physics}
-
-\newif\if at isointerval\@isointervalfalse
-\DeclareOption{isointerval}{
-	\@isointervaltrue
-}
-
-\newif\if at isoointerval\@isoointervalfalse
-\DeclareOption{isoointerval}{
-	\@isoointervaltrue
-}
-
-\newif\if at fnspeinterval\@fnspeintervalfalse
-\DeclareOption{fnspeinterval}{
-	\@fnspeintervaltrue
-}
-
-\newif\if at isotensor\@isotensorfalse
-\DeclareOption{isotensor}{
-	\@isotensortrue
-}
-
-\newif\if at undertensor\@undertensorfalse
-\DeclareOption{undertensor}{
-	\@undertensortrue
-}
-
-\newif\if at arrowtensor\@arrowtensorfalse
-\DeclareOption{arrowtensor}{
-	\@arrowtensortrue
-}
-
-\newif\if at oldcomplex\@oldcomplexfalse
-\DeclareOption{oldcomplex}{
-	\@oldcomplextrue
-}
-
-\newif\if at isocomplex\@isocomplexfalse
-\DeclareOption{isocomplex}{
-	\@isocomplextrue
-}
-
-\ProcessOptions\relax
-
-\lstset
-{
-	language=[LaTeX]TeX,
-	breaklines=true,
-	basicstyle=\tt\scriptsize,
-	morekeywords = [28]{ci,oi,lci,rci,rest,dif, hlf, degree, hem, htem, oover, realn, inte, ratin, compn, natun, impem, rot, dive, grad, lapl, varun, unit, expv, norm, abs, pder, tder,mat,curl,laplacian,divisionsymbol},
-	keywordstyle=\color{blue},
-	identifierstyle=\color{magenta},
-}
-
-%\catcode`_=\active
-
-%\newcommand_[1]{\IfSubStr{#1}{!}{\sb{\mathrm{\StrBehind{#1}{!}}}}{\sb{#1}} }
-
-\mathcode`\_=\string"8000
-\catcode`\_=12
-
-\begingroup
-\catcode`\_=\active
-\gdef_#1{\IfSubStr{#1}{!}{\sb{\mathrm{\StrBehind{#1}{!}}}}{\sb{#1}} }
-\endgroup
-\mathcode`\_=\string"8000
-\catcode`\_=12
-
-\if at arrowtensor
-\else
-\renewcommand{\vec}[1]{\ensuremath{\if at undertensor \underline{#1} \else \bm{\mathrm{\MakeLowercase{#1}}} \fi}}
-\fi
-
-\newcommand{\mat}[1]{\ensuremath{\if at undertensor \underline{\underline{#1}} \else \if at arrowtensor \overset{\leftrightarrow}{#1} \else \bm{\mathrm{\MakeUppercase{#1}}} \fi \fi}}
-	
-%\newcommand{\pder}[3][]{\ensuremath{\frac{\partial^#1 #2}{\partial #3^#1}}} \pdv
-
-\newcommand*{\tder}[3][]{\dv[#1]{#2}{#3}} %\dv
-
-\newcommand{\oi}[2]{\ensuremath{\if at fnspeinterval \left( #1 , #2 \right) \else \if at isoointerval \left( #1 , #2 \right) \else \left] #1 , #2 \right[ \fi  \fi}}
-
-\newcommand{\ci}[2]{\ensuremath{\if at fnspeinterval \left< #1 , #2 \right> \else \left[ #1 , #2 \right] \fi}}
-
-\newcommand{\rci}[2]{\ensuremath{\if at fnspeinterval \left( #1 , #2 \right> \else \if at isoointerval  \left( #1 , #2 \right] \else \left] #1 , #2 \right] \fi  \fi}}
-
-\newcommand{\lci}[2]{\ensuremath{\if at fnspeinterval \left< #1 , #2 \right) \else \if at isoointerval \left[ #1 , #2 \right) \else \left[ #1 , #2 \right[ \fi  \fi}}
-
-%\newcommand{\rest}[2]{\ensuremath{\left.#1\right|_{#2}}}
-
-\newcommand{\dif}[1]{\ensuremath{\mathrm d #1}}
-
-\newcommand{\hlf}{\ensuremath{\frac{1}{2}}}
-
-\newcommand{\degree}{\ensuremath{{}^{\circ}}}
-%\newcommand{\deg}{\degree}
-
-\newcommand{\hem}[1][1]{\ensuremath{\hspace{#1em}}}
-\newcommand{\htwoem}{\ensuremath{\hspace{2em}}}
-\newcommand{\htem}{\ensuremath{\htwoem}}
-
-\newcommand{\oover}[1]{\ensuremath{\ensuremath{\frac{1}{#1}}}}
-
-\newcommand{\realn}{\ensuremath{\mathbb{R}}}
-\newcommand{\compn}{\ensuremath{\mathbb{C}}}
-\newcommand{\inte}{\ensuremath{\mathbb{Z}}}
-\newcommand{\ratin}{\ensuremath{\mathbb{Q}}}
-\newcommand{\natun}{\ensuremath{\mathbb{N}}}
-
-\newcommand{\impem}{\ensuremath{\hem \Rightarrow \hem}}
-
-\newcommand{\rot}{\ensuremath{\curl}}
-%\newcommand{\dive}{\ensuremath{\nabla \cdot}}
-%\newcommand{\grad}{\ensuremath{\nabla}}
-\newcommand{\lapl}{\ensuremath{\Delta}} %\laplacian
-
-\newcommand{\varun}[2]{\ensuremath{\left[#1\right]=\mathrm{#2}}}
-\newcommand{\unit}[1]{\ensuremath{\;\mathrm{#1}}}
-\newcommand{\expv}[1]{\ensuremath{\left<#1\right>}}
-
-%\newcommand{\norm}[1]{\ensuremath{\left|\left|#1\right|\right|}}
-%\newcommand{\abs}[1]{\ensuremath{\left|#1\right|}}
-
-\if at oldcomplex
-\renewcommand{\Re}{\mathfrak{Re}}
-\else
-\renewcommand{\Re}{\mathrm{Re}\;}
-\fi
-
-\if at oldcomplex
-\renewcommand{\Im}{\mathfrak{Im}}
-\else
-\renewcommand{\Im}{\mathrm{Im}\;}
-\fi
-
-%\newcommand{\maxv}[1]{\vec{\mathcal{#1}}}
-%\newcommand{\maxs}[1]{\mathcal{#1}}
-
+% fnspe 1.1b
+% This material is subject to the LaTeX Project Public License.
+% See https://www.latex-project.org/lppl/ for the details of that license.
+%
+% Useful commands for FNSPE students 
+%
+% Created by Michal Zeman
+% Updated on February 28, 2017
+% Uploaded on February 28, 2017
+
+\NeedsTeXFormat{LaTeX2e}
+\ProvidesPackage{fnspe}[2017/02/27 Package for FNSPE CTU in Prague made by Michal Zeman]
+
+\RequirePackage{xstring}
+\RequirePackage{bm}
+
+\RequirePackage{amsmath}
+\RequirePackage{amsfonts}
+\RequirePackage{mathrsfs}
+\RequirePackage{amsthm}
+\RequirePackage{amssymb}
+\RequirePackage{xcolor}
+\RequirePackage{listings}
+\RequirePackage{physics}
+\RequirePackage{tikz}         % For arrow and dots in \xvec
+
+\newif\if at isointerval\@isointervalfalse
+\DeclareOption{isointerval}{
+	\@isointervaltrue
+}
+
+\newif\if at isoointerval\@isoointervalfalse
+\DeclareOption{isoointerval}{
+	\@isoointervaltrue
+}
+
+\newif\if at fnspeinterval\@fnspeintervalfalse
+\DeclareOption{fnspeinterval}{
+	\@fnspeintervaltrue
+}
+
+\newif\if at isotensor\@isotensorfalse
+\DeclareOption{isotensor}{
+	\@isotensortrue
+}
+
+\newif\if at undertensor\@undertensorfalse
+\DeclareOption{undertensor}{
+	\@undertensortrue
+}
+
+\newif\if at arrowtensor\@arrowtensorfalse
+\DeclareOption{arrowtensor}{
+	\@arrowtensortrue
+}
+
+\newif\if at oldcomplex\@oldcomplexfalse
+\DeclareOption{oldcomplex}{
+	\@oldcomplextrue
+}
+
+\newif\if at isocomplex\@isocomplexfalse
+\DeclareOption{isocomplex}{
+	\@isocomplextrue
+}
+
+\ProcessOptions\relax
+
+\newlength\xvec at height%
+\newlength\xvec at depth%
+\newlength\xvec at width%
+\newcommand{\xvec}[1]{%
+	\ifmmode%
+	\settoheight{\xvec at height}{$#1$}%
+	\settodepth{\xvec at depth}{$#1$}%
+	\settowidth{\xvec at width}{$#1$}%
+	\else%
+	\settoheight{\xvec at height}{#1}%
+	\settodepth{\xvec at depth}{#1}%
+	\settowidth{\xvec at width}{#1}%
+	\fi%
+	\raisebox{.2ex}{\raisebox{\xvec at height}{\rlap{%
+				\kern.05em%  (Because left edge of drawing is at .05em)
+				\begin{tikzpicture}[scale=1]
+				\pgfsetroundcap
+				\draw (.05em,.01)--(\xvec at width-.05em,0.01);
+				\draw (\xvec at width-.05em,0.01)--(\xvec at width-.2em, .155em);
+				\draw (\xvec at width-.05em,0.01)--(\xvec at width-.2em,-.125em);
+				%
+				\end{tikzpicture}%
+	}}}%
+	#1%
+}
+
+\lstset
+{
+	language=[LaTeX]TeX,
+	breaklines=true,
+	basicstyle=\tt\scriptsize,
+	morekeywords = [28]{ci,oi,lci,rci,rest,dif, hlf, degree, hem, htem, oover, realn, inte, ratin, compn, natun, impem, rot, dive, grad, lapl, varun, unit, expv, norm, abs, pder, tder,mat,curl,laplacian,divisionsymbol},
+	keywordstyle=\color{blue},
+	identifierstyle=\color{magenta},
+}
+
+%\catcode`_=\active
+
+%\newcommand_[1]{\IfSubStr{#1}{!}{\sb{\mathrm{\StrBehind{#1}{!}}}}{\sb{#1}} }
+
+\mathcode`\_=\string"8000
+\catcode`\_=12
+
+\begingroup
+\catcode`\_=\active
+\gdef_#1{\IfSubStr{#1}{!}{\sb{\mathrm{\StrBehind{#1}{!}}}}{\sb{#1}} }
+\endgroup
+\mathcode`\_=\string"8000
+\catcode`\_=12
+
+%\let\stdvec\vec
+\if at arrowtensor
+\renewcommand{\vec}[1]{\xvec{#1}}
+\else
+\renewcommand{\vec}[1]{\ensuremath{\if at undertensor \underline{#1} \else \bm{\mathrm{\MakeLowercase{#1}}} \fi}}
+\fi
+
+\newcommand{\mat}[1]{\ensuremath{\if at undertensor \underline{\underline{#1}} \else \if at arrowtensor \overset{\leftrightarrow}{#1} \else \bm{\mathrm{\MakeUppercase{#1}}} \fi \fi}}
+
+%\newcommand{\pder}[3][]{\ensuremath{\frac{\partial^#1 #2}{\partial #3^#1}}} \pdv
+
+\newcommand*{\tder}[3][]{\dv[#1]{#2}{#3}} %\dv
+
+\newcommand{\oi}[2]{\ensuremath{\if at fnspeinterval \left( #1 , #2 \right) \else \if at isoointerval \left( #1 , #2 \right) \else \left] #1 , #2 \right[ \fi  \fi}}
+
+\newcommand{\ci}[2]{\ensuremath{\if at fnspeinterval \left< #1 , #2 \right> \else \left[ #1 , #2 \right] \fi}}
+
+\newcommand{\rci}[2]{\ensuremath{\if at fnspeinterval \left( #1 , #2 \right> \else \if at isoointerval  \left( #1 , #2 \right] \else \left] #1 , #2 \right] \fi  \fi}}
+
+\newcommand{\lci}[2]{\ensuremath{\if at fnspeinterval \left< #1 , #2 \right) \else \if at isoointerval \left[ #1 , #2 \right) \else \left[ #1 , #2 \right[ \fi  \fi}}
+
+%\newcommand{\rest}[2]{\ensuremath{\left.#1\right|_{#2}}}
+
+\newcommand{\dif}[1]{\mathrm d #1}
+
+\newcommand{\hlf}{\frac{1}{2}}
+
+\newcommand{\degree}{\ensuremath{{}^{\circ}}}
+%\newcommand{\deg}{\degree}
+
+\newcommand{\hem}[1][1]{\hspace{#1em}}
+\newcommand{\htwoem}{\hspace{2em}}
+\newcommand{\htem}{\htwoem}
+
+\newcommand{\oover}[1]{\ensuremath{\frac{1}{#1}}}
+
+\newcommand{\realn}{\ensuremath{\mathbb{R}}}
+\newcommand{\compn}{\ensuremath{\mathbb{C}}}
+\newcommand{\inte}{\ensuremath{\mathbb{Z}}}
+\newcommand{\ratin}{\ensuremath{\mathbb{Q}}}
+\newcommand{\natun}{\ensuremath{\mathbb{N}}}
+
+\newcommand{\impem}{\hem \Rightarrow \hem}
+
+\newcommand{\rot}{\curl}
+%\newcommand{\dive}{\ensuremath{\nabla \cdot}}
+%\newcommand{\grad}{\ensuremath{\nabla}}
+\newcommand{\lapl}{\Delta} %\laplacian
+
+\newcommand{\varun}[2]{\ensuremath{\left[#1\right]=\mathrm{#2}}}
+\newcommand{\unit}[1]{\;\mathrm{#1}}
+\newcommand{\expv}[1]{\left<#1\right>}
+
+%\newcommand{\norm}[1]{\ensuremath{\left|\left|#1\right|\right|}}
+%\newcommand{\abs}[1]{\ensuremath{\left|#1\right|}}
+
+\if at oldcomplex
+\renewcommand{\Re}{\ensuremath{\mathfrak{Re}}}
+\else
+\renewcommand{\Re}{\ensuremath{\mathrm{Re}\;}}
+\fi
+
+\if at oldcomplex
+\renewcommand{\Im}{\ensuremath{\mathfrak{Im}}}
+\else
+\renewcommand{\Im}{\ensuremath{\mathrm{Im}\;}}
+\fi
+
+%\newcommand{\maxv}[1]{\vec{\mathcal{#1}}}
+%\newcommand{\maxs}[1]{\mathcal{#1}}
+

Modified: trunk/Master/tlpkg/libexec/ctan2tds
===================================================================
--- trunk/Master/tlpkg/libexec/ctan2tds	2017-03-01 22:30:18 UTC (rev 43372)
+++ trunk/Master/tlpkg/libexec/ctan2tds	2017-03-01 22:31:15 UTC (rev 43373)
@@ -2962,7 +2962,6 @@
  'epslatex-fr'   => 'R?Danger.eps',                     # unneeded, name clash
  'exceltex'      => 'manpage.pdf',                      # no source
  'flacards'      => 'flacards.pdf',                     # no source
- 'fnspe'	 => 'fnspe.pdf',                        # no source	
  'gfsartemisia'  => 'A*Specimen.pdf',                   # no source
  'gfsbaskerville'=> 'B*Specimen.pdf',                   # no source
  'gfsbodoni'     => 'B*Specimen.pdf',                   # no source



More information about the tex-live-commits mailing list