Hello community,
here is the log from the commit of package texlive-specs-n for openSUSE:Factory checked in at 2015-04-25 09:50:56
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/texlive-specs-n (Old)
and /work/SRC/openSUSE:Factory/.texlive-specs-n.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "texlive-specs-n"
Changes:
--------
--- /work/SRC/openSUSE:Factory/texlive-specs-n/texlive-specs-n.changes 2015-03-01 14:46:19.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.texlive-specs-n.new/texlive-specs-n.changes 2015-04-25 09:52:32.000000000 +0200
@@ -1,0 +2,60 @@
+Wed Apr 15 13:43:57 UTC 2015 - werner@suse.de
+
+- Handle unkown scripts
+
+-------------------------------------------------------------------
+Tue Apr 14 13:53:08 UTC 2015 - werner@suse.de
+
+- Make sure that tabs are used within <<-EOF...EOF pair
+
+-------------------------------------------------------------------
+Thu Apr 2 12:25:21 UTC 2015 - werner@suse.de
+
+- Package pas-cours: move runfiles from doc to working directory
+
+-------------------------------------------------------------------
+Thu Apr 2 10:33:38 UTC 2015 - werner@suse.de
+
+- Handle rpmlintrc for each meta spec file its self
+
+-------------------------------------------------------------------
+Wed Apr 1 16:47:12 UTC 2015 - werner@suse.de
+
+- The new TeXLive package layout had suppressed the detection of many
+ Provides which is fixed now.
+- The null.tex is now in texlive-knuth-lib, therefore require
+ tex(null.tex) in luatex.requires and tex.requires instead of the
+ gone texlive-misc.
+
+-------------------------------------------------------------------
+Wed Apr 1 07:47:29 UTC 2015 - werner@suse.de
+
+- Add exceltex.requires which now Requires perl(Spreadsheet::ParseExcel)
+ (boo#891617)
+- Patch kpathsea_cnf.dif moved from texlive-specs-m to texlive-specs-l
+
+-------------------------------------------------------------------
+Mon Mar 30 08:39:12 UTC 2015 - werner@suse.de
+
+- Add patch dvips_config.dif (boo#897284)
+- Remove patch pgf_plain.dif as now upstream
+- Remove patch latexdiff_env.dif as the affected file is gone
+- Modified patches
+ luaotfload_varfonts.dif
+ tetex_scripts.dif
+ tex4ht_env.dif
+- Removed files pst-node.moves and pst-plot.moves as now the files
+ are at the correct location
+
+-------------------------------------------------------------------
+Thu Mar 26 14:05:48 UTC 2015 - werner@suse.de
+
+- Update to TeXLive 2014 (timestamp 20140525 revision 34252)
+ * Support DVIPDFMx
+ * [fix] avoid luatex crash under math_mode 'decimal'
+ * luaotfload: Fix incorrect handling of font file formats luaotfload)
+ * Sync with Context beta as of 2014-04-05
+ * pdfTeX: sync with Knuth TeX 3.14159265, e-TeX 2.6
+ * Many more ...
+
+-------------------------------------------------------------------
Old:
----
match_parens.doc.tar.xz
match_parens.tar.xz
math-e.doc.tar.xz
mathabx.doc.tar.xz
mathabx.tar.xz
New:
----
lm-math.doc.tar.xz
lm-math.tar.xz
lobster2.doc.tar.xz
lobster2.tar.xz
logicproof.doc.tar.xz
logicproof.tar.xz
lollipop.doc.tar.xz
lollipop.tar.xz
lplfitch.doc.tar.xz
lplfitch.tar.xz
lt3graph.doc.tar.xz
lt3graph.tar.xz
ltximg.doc.tar.xz
ltximg.tar.xz
macroswap.doc.tar.xz
macroswap.tar.xz
texlive-specs-n-rpmlintrc
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ texlive-specs-n.spec ++++++
++++ 6376 lines (skipped)
++++ between /work/SRC/openSUSE:Factory/texlive-specs-n/texlive-specs-n.spec
++++ and /work/SRC/openSUSE:Factory/.texlive-specs-n.new/texlive-specs-n.spec
++++++ logicpuzzle.doc.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/doc/latex/logicpuzzle/CHANGES new/doc/latex/logicpuzzle/CHANGES
--- old/doc/latex/logicpuzzle/CHANGES 2013-05-19 00:14:40.000000000 +0200
+++ new/doc/latex/logicpuzzle/CHANGES 2013-06-29 02:16:40.000000000 +0200
@@ -1,3 +1,31 @@
+== Logicpuzzle bundel (v2.4) ==
+
+04/06/2013 added magnets environment [jk]
+ \minus{H|V}, \plus{H|V}, \{PM|MP}{V|H}, \magnets{H|V}
+
+03/06/2013 added masyu environment [jk]
+ \masyuline, \MasyuW, \MasyuB
+
+03/06/2013 added \setcells [jk]
+
+03/06/2013 added magiclabyrinth environment [jk]
+ and \mlline
+
+== Logicpuzzle bundel (v2.3) ==
+
+29/05/2013 added numberlink environment [jk]
+ \link, \numberlinkcell
+
+28/05/2013 added fourwinds environment [jk]
+ \fourwindscell
+
+28/05/2013 Bugfix: \framepuzzle only worked correctly for quadratic puzzles [jk]
+
+27/05/2013 added resuko environment [jk]
+ \xtikzpath, \Curve{B|T}{L|R}, \Straight{H|V},
+ \Cross{H|V}, \Graveltrap. \parkinglot, \pitlane,
+ \track, \trackH, \trackV
+
== Logicpuzzle bundel (v2.2) ==
16/05/2013 added bridges environment [jk]
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/doc/latex/logicpuzzle/README new/doc/latex/logicpuzzle/README
--- old/doc/latex/logicpuzzle/README 2013-05-19 00:14:40.000000000 +0200
+++ new/doc/latex/logicpuzzle/README 2013-06-29 02:16:40.000000000 +0200
@@ -6,6 +6,7 @@
* Bokkusu (aka Kakurasu, Feldersummenrätsel, ...)
* Bridges (aka Brückenbau, Hashi, ...)
* Chaos Sudoku
+* Four Winds (aka Eminent Domain, Lichtstrahl, ...)
* Hakyuu (aka Seismic, Ripple Effect, ...)
* Hitori
* Kakuro
@@ -14,7 +15,12 @@
* Killer Sudoku (aka Samunapure, Sum Number Place, Sumdoku,
Gebietssummen, ...)
* Laser Beam (aka Laserstrahl, ...)
+* Magic Labyrinth (aka Magic Spiral, Magisches Labyrinth, ...)
+* Magnets (aka Magnetplatte, Magnetfeld, ...)
+* Masyu (aka Mashi, {White|Black} Pearls, ...)
* Minesweeper (aka Minensuche, ...)
+* Number Link (aka Alphabet Link, Arukone, Buchstabenbund, ...)
+* Resuko
* Schatzsuche
* Skyline (aka Skycrapers, Wolkenkratzer, Hochhäuser, ...)
incl. Skyline Sudoku and Skyline Sudoku (N*N) variants
@@ -30,16 +36,13 @@
License: LPPL
-Changes in v2.2:
+Changes in v2.4:
-- added support for Bridges puzzle
- https://bitbucket.org/kleberj/logicpuzzle/wiki/Bridges
+- added support for Magnets puzzle
+ https://bitbucket.org/kleberj/logicpuzzle/wiki/Magnets
-- added support for Sun and Moon puzzle
- https://bitbucket.org/kleberj/logicpuzzle/wiki/SunAndMoon
+- added support for Masyu puzzle
+ https://bitbucket.org/kleberj/logicpuzzle/wiki/Masyu
-- added support for Star Battle puzzle
- https://bitbucket.org/kleberj/logicpuzzle/wiki/StarBattle
-
-- added support for Stars and Arrows puzzle
- https://bitbucket.org/kleberj/logicpuzzle/wiki/StarsAndArrows
\ No newline at end of file
+- added support for Magic Labyrinth puzzle
+ https://bitbucket.org/kleberj/logicpuzzle/wiki/MagicLabyrinth
\ No newline at end of file
Files old/doc/latex/logicpuzzle/logicpuzzle.pdf and new/doc/latex/logicpuzzle/logicpuzzle.pdf differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/doc/latex/logicpuzzle/logicpuzzle.tex new/doc/latex/logicpuzzle/logicpuzzle.tex
--- old/doc/latex/logicpuzzle/logicpuzzle.tex 2013-05-19 00:14:40.000000000 +0200
+++ new/doc/latex/logicpuzzle/logicpuzzle.tex 2013-06-29 02:16:40.000000000 +0200
@@ -21,7 +21,7 @@
\usepackage[svgnames,rgb]{xcolor}%
\usepackage[automark,nouppercase]{scrpage2}
\usepackage[tocgraduated]{tocstyle}
-\usetocstyle{KOMAlike}
+\usetocstyle{classic}
\usepackage{logicpuzzle}
\usepackage{hyperref}
%
@@ -41,7 +41,7 @@
\AtBeginDocument{\IfFileExists{qrcode.png}{}{\write18{wget -O qrcode.png http://i.imgur.com/KAunnuS.png}}}%
\hypersetup{colorlinks=true,urlcolor=NavyBlue,linkcolor=NavyBlue,citecolor=CornflowerBlue,naturalnames=true,hypertexnames=false}%
\lstset{language=[LaTeX]TeX,numbers=left,numberstyle=\tiny, basicstyle=\ttfamily, aboveskip=\baselineskip, frame=single, backgroundcolor=\color{LightGoldenrodYellow}, keywordstyle=\color{Blue},
-emph={ddsudoku, battleship, bokkusu, chaossudoku, hakyuu, hitori, kakuro, kendoku, killersudoku, laserbeam, skyline, slitherlink, lpsudoku, minesweeper, schatzsuche, tentsandtrees, tunnel, bridges, starsandarrows, starbattle, sunandmoon,
+emph={ddsudoku, battleship, bokkusu, chaossudoku, hakyuu, hitori, kakuro, kendoku, killersudoku, laserbeam, skyline, slitherlink, lpsudoku, minesweeper, schatzsuche, tentsandtrees, tunnel, bridges, starsandarrows, starbattle, sunandmoon, fourwinds, numberlink, resuko, magiclabyrinth, masyu, magnets
,minipage, tikzpicture, puzzlebackground, puzzleforeground, center, pgfonlayer, left,
shape, fill, inner, sep, draw, rounded, corners, thick},
emphstyle=\color{Tomato}, emph={[2]Wheat, HotPink, GreenYellow, LightBlue, LightSalmon,
@@ -60,7 +60,11 @@
tunnelH, tunnelV, tube, portal, Mine, Diamond, ShipR, kakurosetup, kakurorow, KKR, Black,
Tent, Tree, definecolor, tentH, tentV, bridgesrow, starbattlecell, starsH, starsV, [, ],
RightDown, Right, LeftDown, LeftUp, Up, RightUp, Left, Star, Cloud, Moon, MoonTL, MoonR,
-MoonT, colorlet, bridge}}
+MoonT, colorlet, bridge, fourwindscell, numberlinkcell, link, resukosetup, resukocell,
+Graveltrap, Cross, StraightV, StraightH, CurveTR, CurveBR, trackH, trackV, track,
+parkinglot, pitlane, xtikzpath, mlline, setcells, magiclabyrinthcell, magnetssetup, minusH,
+minusV, plusH, plusV, magnetsH, magnetsV, PMH, PMV, MPH, MPV, masyucell, masyuline,
+masyusetup, MasyuW, MasyuB}}
\makeatletter
\renewcommand{\maketitle}%
{%
@@ -390,6 +394,42 @@
title = {{Examples \& Solutions (bridges)}},
year = {2013},
}
+
+@misc{bib:ex:fourwinds,
+ author = {Josef Kleber},
+ note = {\href{https://bitbucket.org/kleberj/logicpuzzle/downloads/example-fourwinds.pdf}(https://bitbucket.org/kleberj/logicpuzzle/downloads/example-fourwinds.pdf)},
+ title = {{Examples \& Solutions (fourwinds)}},
+ year = {2013},
+ }
+
+@misc{bib:ex:numberlink,
+ author = {Josef Kleber},
+ note = {\href{https://bitbucket.org/kleberj/logicpuzzle/downloads/example-numberlink.pdf}(https://bitbucket.org/kleberj/logicpuzzle/downloads/example-numberlink.pdf)},
+ title = {{Examples \& Solutions (numberlink)}},
+ year = {2013},
+ }
+
+@misc{bib:ex:magiclabyrinth,
+ author = {Josef Kleber},
+ note = {\href{https://bitbucket.org/kleberj/logicpuzzle/downloads/example-magiclabyrinth.pdf}(https://bitbucket.org/kleberj/logicpuzzle/downloads/example-magiclabyrinth.pdf)},
+ title = {{Examples \& Solutions (magiclabyrinth)}},
+ year = {2013},
+ }
+
+@misc{bib:ex:masyu,
+ author = {Josef Kleber},
+ note = {\href{https://bitbucket.org/kleberj/logicpuzzle/downloads/example-masyu.pdf}(https://bitbucket.org/kleberj/logicpuzzle/downloads/example-masyu.pdf)},
+ title = {{Examples \& Solutions (masyu)}},
+ year = {2013},
+ }
+
+@misc{bib:ex:magnets,
+ author = {Josef Kleber},
+ note = {\href{https://bitbucket.org/kleberj/logicpuzzle/downloads/example-magnets.pdf}(https://bitbucket.org/kleberj/logicpuzzle/downloads/example-magnets.pdf)},
+ title = {{Examples \& Solutions (magnets)}},
+ year = {2013},
+ }
+
\end{filecontents}
\bibliographystyle{plain}
\ddsudokusetup{width=4.5cm,scale=0.85}
@@ -412,11 +452,17 @@
\sunandmoonsetup{width=4.5cm,scale=0.85}
\starsandarrowssetup{width=4.5cm,scale=0.75}
\starbattlesetup{width=4.5cm,scale=0.85}
-\bridgessetup{rows=8,columns=8,scale=0.63,color=orange!40}
+\bridgessetup{width=4.5cm,rows=8,columns=8,scale=0.55,color=orange!40}
+\resukosetup{rows=8,columns=8,width=4cm,fontsize=Huge,scale=.48}
+\numberlinksetup{width=4.5cm,scale=0.89}
+\killersudokusetup{width=4.5cm,scale=0.89}
+\magiclabyrinthsetup{width=4.5cm,scale=0.89}
+\masyusetup{width=4.5cm,scale=0.89,color=Teal}
+\magnetssetup{width=4.5cm,scale=0.55,bgcolor=Teal!50}
\title{\filename}%
\Subtitle{A style file for typesetting logic puzzles}%
\author{Josef Kleber}
-\Fileversion{v2.2}
+\Fileversion{v2.4}
\Refline{\href{mailto:josef.kleber@gmx.de}{\texttt{josef.kleber@gmx.de}}\\\href{https://bitbucket.org/kleberj/logicpuzzle/}{\texttt{https://bitbucket.org/kleberj/logicpuzzle/}}}
\newsavebox\logo
\savebox\logo{%
@@ -461,7 +507,7 @@
Fill every row, every column and each of the two diagonals -- if indicated -- with numbers from 1 to SIZE of the grid.
\subsubsection{Example}
-
+\begin{figure}[htbp]
\begin{center}
\begin{ddsudoku}
\framepuzzle
@@ -484,7 +530,7 @@
\setrow{1}{4,1,2,3,5}
\end{ddsudoku}
\end{center}
-
+\end{figure}
\begin{lstlisting}
\begin{center}
\begin{ddsudoku}
@@ -529,6 +575,7 @@
Try to find the positions of the ships listed below the puzzle. The numbers on the side of the puzzle reveals how many ship segments can be found in the rows and columns. All remaining fields indicate 'water'. Consider the following rules: The ships are arranged horizontally and vertically. No ship touches another ship at any point, not even diagonally.
\subsubsection{Example}
+\begin{figure}[htbp]
\begin{center}
\begin{battleship}
\placesegment{4}{1}{\ShipR}
@@ -547,7 +594,7 @@
\shipV{3,1,4,0,3}
\end{battleship}
\end{center}
-
+\end{figure}
\begin{lstlisting}
\begin{center}
\begin{battleship}
@@ -592,6 +639,7 @@
Black out some of the grid cells. The numbers on the left and the bottom edge of the grid indicate the values of the cells for adding up. The numbers on the right and the top edge of the grid specify the sums of the values of the colored cells.
\subsubsection{Example}
+\begin{figure}[htbp]
\begin{center}
\begin{bokkusu}
\valueH{1,2,3,4,5}
@@ -612,7 +660,7 @@
\fillrow{5}{0,0,1,0,0}
\end{bokkusu}
\end{center}
-
+\end{figure}
\begin{lstlisting}
\begin{center}
\begin{bokkusu}
@@ -657,6 +705,7 @@
\subsubsection{Example}
\colorlet{LP@c@bridge}{Teal}
+\begin{figure}[htbp]
\begin{center}
\begin{bridges}
\framepuzzle
@@ -683,7 +732,7 @@
\bridge{\tikzpath{5}{2}{6,6,6,8,8,8,8,8,8,4,4}}
\end{bridges}
\end{center}
-
+\end{figure}
\begin{lstlisting}
\colorlet{LP@c@bridge}{Teal}
\begin{center}
@@ -733,6 +782,7 @@
\subsection{Chaos Sudoku}
Fill the cells of an area with numbers from 1 to N of the N*N grid. Each number can appear only once - in each area, column, row or diagonal if indicated.
\subsubsection{Example}
+\begin{figure}[htbp]
\begin{center}
\begin{chaossudoku}
\chaossudokucell{1}{1}{3}
@@ -764,7 +814,7 @@
\end{puzzlebackground}
\end{chaossudoku}
\end{center}
-
+\end{figure}
\begin{lstlisting}
\begin{center}
\begin{chaossudoku}
@@ -824,9 +874,75 @@
\optitem{\envoption{cvoffset}}{-23pt}{sets the vertical offset of the counters in the margin.}
\end{optionlist}
+\subsection{Four Winds}
+Fill all cells with light rays. These may not intersect. Cells with numbers represent the lighting system that lits horizontally and vertically. The number indicates how many cells are illuminated. Cells with numbers do not count. No cell must remain empty.
+
+\subsubsection{Example}
+\begin{figure}[htbp]
+\begin{center}
+\begin{fourwinds}
+ \framepuzzle
+ \fourwindscell{1}{2}{2}{}
+ \fourwindscell{1}{5}{2}{}
+ \fourwindscell{2}{4}{3}{}
+ \fourwindscell{3}{3}{3}{}
+ \fourwindscell{4}{1}{4}{}
+ \fourwindscell{5}{5}{5}{}
+\end{fourwinds}
+\hspace{1.5cm}
+\begin{fourwinds}
+ \framepuzzle
+ \fourwindscell{1}{2}{2}{2/1,6/1}
+ \fourwindscell{1}{5}{2}{2/2}
+ \fourwindscell{2}{4}{3}{8/1,6/2}
+ \fourwindscell{3}{3}{3}{4/1,6/1,2/1}
+ \fourwindscell{4}{1}{4}{4/2,6/1,8/1}
+ \fourwindscell{5}{5}{5}{4/2,2/3}
+\end{fourwinds}
+\end{center}
+\end{figure}
+\begin{lstlisting}
+\begin{fourwinds}
+ \framepuzzle
+ \fourwindscell{1}{2}{2}{}
+ \fourwindscell{1}{5}{2}{}
+ \fourwindscell{2}{4}{3}{}
+ \fourwindscell{3}{3}{3}{}
+ \fourwindscell{4}{1}{4}{}
+ \fourwindscell{5}{5}{5}{}
+\end{fourwinds}
+\hspace{1.5cm}
+\begin{fourwinds}
+ \framepuzzle
+ \fourwindscell{1}{2}{2}{2/1,6/1}
+ \fourwindscell{1}{5}{2}{2/2}
+ \fourwindscell{2}{4}{3}{8/1,6/2}
+ \fourwindscell{3}{3}{3}{4/1,6/1,2/1}
+ \fourwindscell{4}{1}{4}{4/2,6/1,8/1}
+ \fourwindscell{5}{5}{5}{4/2,2/3}
+\end{fourwinds}
+\end{lstlisting}
+
+\subsubsection{Options}
+\begin{optionlist}
+ \optitem{\envoption{rows}}{5}{defines the number of rows in the grid.}
+ \optitem{\envoption{columns}}{5}{specifies the number of columns in the grid}
+ \optitem{\envoption{width}}{5.1cm}{sets the width of the minipage, in which the grid is typeset.}
+ \optitem{\envoption{scale}}{1}{scales the size of the grid in the minipage.}
+ \optitem{\envoption{fontsize}}{Large}{specifies the size of the numbers next to the grid. Here, the usual \LaTeX\ sizes are used. Possible values: \texttt{tiny}, \texttt{scriptsize}, \texttt{footnotesize}, \texttt{small}, \texttt{normalsize}, \texttt{large}, \underline{\texttt{Large}}, \texttt{LARGE}, \texttt{huge}, \texttt{Huge}}
+ \optitem{\envoption{title}}{}{sets the title of a puzzle.}
+ \optitem{\envoption{titleindent}}{0cm}{defines the indent of the title.}
+ \optitem{\envoption{titlewidth}}{5.1cm}{specifies the width of the box the title is set in.}
+ \optitem{\envoption{color}}{blue}{sets the color of the lines.}
+ \optitem{\envoption{bgcolor}}{}{sets the background color of the grid.}
+ \optitem{\envoption{counterstyle}}{none}{defines the counter style. Predefined styles: none, left, right}
+ \optitem{\envoption{cvoffset}}{-23pt}{sets the vertical offset of the counters in the margin.}
+\end{optionlist}
+
\subsection{Hakyuu}
Fill the cells of an area with numbers from 1 to SIZE of the area. If there are two cells with the same number N in a row or a column, there must be at least N cells between those two cells.
\subsubsection{Example}
+\begin{figure}[htbp]
\begin{center}
\begin{hakyuu}
\hakyuucell{1}{5}{2}
@@ -863,7 +979,7 @@
\end{puzzlebackground}
\end{hakyuu}
\end{center}
-
+\end{figure}
\begin{lstlisting}
\begin{center}
\begin{hakyuu}
@@ -931,6 +1047,7 @@
\subsection{Hitori}
Black out some cells according to these specifications: In each row and each column a number may only occur once or can be completely blackened. The blackened cells can touch neither horizontal nor vertical. All non blackened cells must remain connected. Each number has its own color, which otherwise has no meaning.
\subsubsection{Example}
+\begin{figure}[htbp]
\begin{center}
\begin{hitori}
\framepuzzle
@@ -950,7 +1067,7 @@
\setcolorrow{1}{0,1,0,2,3}
\end{hitori}
\end{center}
-
+\end{figure}
\begin{lstlisting}
\begin{center}
\begin{hitori}
@@ -993,6 +1110,7 @@
\subsubsection{Example}
\definecolor{kakuro}{RGB}{155,206,167}
\kakurosetup{color=kakuro}
+\begin{figure}[htbp]
\begin{center}
\begin{kakuro}
\framepuzzle
@@ -1012,6 +1130,7 @@
\kakurorow{1}{\Black,\KKR{}{8},7,1,\Black}
\end{kakuro}
\end{center}
+\end{figure}
\begin{lstlisting}
\definecolor{kakuro}{RGB}{155,206,167}
\kakurosetup{color=kakuro}
@@ -1056,6 +1175,7 @@
\subsection{Kendoku}
Fill the cells with the numbers from 1 to SIZE of the puzzle. In the top left corner of a framed area, you will find the result of the specified arithmetic function, which is applied on the entered numbers. The numbers may occur only once in each row and column. The numbers of an area may not necessarily be different when they are in different rows or columns.
\subsubsection{Example}
+\begin{figure}[htbp]
\begin{center}
\begin{kendoku}
\framearea{black}{\tikzpath{1}{1}{8,8,6,2,6,2,4,4}}
@@ -1118,7 +1238,7 @@
\setrow{1}{4,1,2,3,5}
\end{kendoku}
\end{center}
-
+\end{figure}
\begin{lstlisting}
\begin{center}
\begin{kendoku}
@@ -1202,6 +1322,7 @@
\subsection{Killer Sudoku}
Fill the cells with the numbers from 1 to SIZE of the puzzle. The numbers may occur only once in each row, column and colored area if specified. In the top left corner of a framed area, you will find the sum of the entered numbers. The numbers of an area may not necessarily be different, when they are in different rows or columns. But they must be different, when additional colored areas are specified.
\subsubsection{Example}
+\begin{figure}[htbp]
\begin{center}
\begin{killersudoku}[columns=4,rows=4,scale=1.11]
\framearea{black}{\tikzpath{1}{1}{8,8,6,6,2,4,2,4}}
@@ -1245,7 +1366,7 @@
\setrow{1}{1,3,2,4}
\end{killersudoku}
\end{center}
-
+\end{figure}
\begin{lstlisting}
\begin{killersudoku}
\framearea{black}{\tikzpath{1}{1}{8,8,6,6,2,4,2,4}}
@@ -1308,6 +1429,7 @@
\subsection{Laser Beam}
Draw a laser beam in each grid according to the following guidelines. The beam has to enter or to leave the grid at the arrows. At each intersection, a mirror, on which the laser beam must reflect on one side, can be placed horizontally or vertically. The other side must not be touched by the beam. All locations where the laser crosses are given. The numbers to the left and above the grid indicate how many cells are traversed by the beam in the corresponding row or column. The numbers to the right and below reveal, how many mirrors are found in the intersection of the corresponding row or column.
\subsubsection{Example}
+\begin{figure}[htbp]
\begin{center}
\begin{laserbeam}
\laserV{1}
@@ -1338,7 +1460,7 @@
\end{puzzlebackground}
\end{laserbeam}
\end{center}
-
+\end{figure}
\begin{lstlisting}
\begin{center}
\begin{laserbeam}
@@ -1387,9 +1509,187 @@
\optitem{\envoption{cvoffset}}{-38pt}{sets the vertical offset of the counters in the margin.}
\end{optionlist}
+\subsection{Magic Labyrinth}
+Enter the numbers 1 to N into the grid. Each number can appear only once in each column and row. Following the labyrinth from the outside inwards, then the given number sequence must be repeated continuously.
+\subsubsection{Example}
+\begin{figure}[htbp]
+\begin{center}
+\begin{magiclabyrinth}
+ \mlline{\xtikzpath{1}{6}{6/5,2/5,4/5,8/4,6/4,2/3,4/3,8/2,6/2,2/1,4/1}}
+ \setcells{1/1,2/4,4/5}{3}
+ \magiclabyrinthcell{4}{2}{2}
+ \magiclabyrinthcell{5}{4}{1}
+\end{magiclabyrinth}
+\hspace{1.5cm}
+\begin{magiclabyrinth}
+ \mlline{\xtikzpath{1}{6}{6/5,2/5,4/5,8/4,6/4,2/3,4/3,8/2,6/2,2/1,4/1}}
+ \setrow{5}{{},1,2,3}
+ \setrow{4}{2,3,{},{},1}
+ \setrow{3}{{},{},3,1,2}
+ \setrow{2}{1,{},{},2,3}
+ \setrow{1}{3,2,1}
+\end{magiclabyrinth}
+\end{center}
+\end{figure}
+\begin{lstlisting}
+\begin{magiclabyrinth}
+ \mlline{\xtikzpath{1}{6}{6/5,2/5,4/5,8/4,6/4,2/3,4/3,8/2,6/2,
+ 2/1,4/1}}
+ \setcells{1/1,2/4,4/5}{3}
+ \magiclabyrinthcell{4}{2}{2}
+ \magiclabyrinthcell{5}{4}{1}
+\end{magiclabyrinth}
+\hspace{1.5cm}
+\begin{magiclabyrinth}
+ \mlline{\xtikzpath{1}{6}{6/5,2/5,4/5,8/4,6/4,2/3,4/3,8/2,6/2,
+ 2/1,4/1}}
+ \setrow{5}{{},1,2,3}
+ \setrow{4}{2,3,{},{},1}
+ \setrow{3}{{},{},3,1,2}
+ \setrow{2}{1,{},{},2,3}
+ \setrow{1}{3,2,1}
+\end{magiclabyrinth}
+\end{lstlisting}
+
+\subsubsection{Options}
+\begin{optionlist}
+ \optitem{\envoption{rows}}{5}{defines the number of rows in the grid.}
+ \optitem{\envoption{columns}}{5}{specifies the number of columns in the grid}
+ \optitem{\envoption{width}}{5.1cm}{sets the width of the minipage, in which the grid is typeset.}
+ \optitem{\envoption{scale}}{1}{scales the size of the grid in the minipage.}
+ \optitem{\envoption{fontsize}}{Large}{specifies the size of the numbers next to the grid. Here, the usual \LaTeX\ sizes are used. Possible values: \texttt{tiny}, \texttt{scriptsize}, \texttt{footnotesize}, \texttt{small}, \texttt{normalsize}, \texttt{large}, \underline{\texttt{Large}}, \texttt{LARGE}, \texttt{huge}, \texttt{Huge}}
+ \optitem{\envoption{title}}{}{sets the title of a puzzle.}
+ \optitem{\envoption{titleindent}}{0cm}{defines the indent of the title.}
+ \optitem{\envoption{titlewidth}}{5.1cm}{specifies the width of the box the title is set in.}
+ \optitem{\envoption{bgcolor}}{}{sets the background color of the grid.}
+ \optitem{\envoption{counterstyle}}{none}{defines the counter style. Predefined styles: none, left, right}
+ \optitem{\envoption{cvoffset}}{-23pt}{sets the vertical offset of the counters in the margin.}
+\end{optionlist}
+
+\subsection{Magnets}
+Draw magnetic and neutral plates into the grid. The magnetic plates have a positive and a negative pole, neutral plates do not. The same poles must not touch neither horizontal nor vertical. Neutral plates may touch. The numbers to the left and above the grid indicate how many plus or minus poles are present in the respective column or row.
+\subsubsection{Example}
+\begin{figure}[htbp]
+\begin{center}
+\begin{magnets}
+ \minusH{2,1,2,2,1,2}
+ \minusV{2,1,3,1,2,1}
+ \plusH{2,1,2,2,2,1}
+ \plusV{1,2,1,3,2,1}
+ \magnetsH{2/1,2/4,2/5,2/6,3/2,3/3,4/1,4/4,5/5,5/6}
+ \magnetsV{1/1,1/3,1/5,2/2,4/5,5/2,6/1,6/3}
+ \MPH{2/6}
+ \PMH{5/5}
+ \MPV{6/3}
+\end{magnets}
+\hspace{1.5cm}
+\begin{magnets}
+ \minusH{2,1,2,2,1,2}
+ \minusV{2,1,3,1,2,1}
+ \plusH{2,1,2,2,2,1}
+ \plusV{1,2,1,3,2,1}
+ \MPH{2/6,3/2,4/1}
+ \PMH{2/5,5/5,4/4,3/3}
+ \MPV{1/1,1/3,6/3}
+\end{magnets}
+\end{center}
+\end{figure}
+\begin{lstlisting}
+\magnetssetup{bgcolor=Teal!50}
+\begin{magnets}
+ \minusH{2,1,2,2,1,2}
+ \minusV{2,1,3,1,2,1}
+ \plusH{2,1,2,2,2,1}
+ \plusV{1,2,1,3,2,1}
+ \magnetsH{2/1,2/4,2/5,2/6,3/2,3/3,4/1,4/4,5/5,5/6}
+ \magnetsV{1/1,1/3,1/5,2/2,4/5,5/2,6/1,6/3}
+ \MPH{2/6}
+ \PMH{5/5}
+ \MPV{6/3}
+\end{magnets}
+\hspace{1.5cm}
+\begin{magnets}
+ \minusH{2,1,2,2,1,2}
+ \minusV{2,1,3,1,2,1}
+ \plusH{2,1,2,2,2,1}
+ \plusV{1,2,1,3,2,1}
+ \MPH{2/6,3/2,4/1}
+ \PMH{2/5,5/5,4/4,3/3}
+ \MPV{1/1,1/3,6/3}
+\end{magnets}
+\end{lstlisting}
+
+\subsubsection{Options}
+\begin{optionlist}
+ \optitem{\envoption{rows}}{6}{defines the number of rows in the grid.}
+ \optitem{\envoption{columns}}{6}{specifies the number of columns in the grid}
+ \optitem{\envoption{width}}{8.1cm}{sets the width of the minipage, in which the grid is typeset.}
+ \optitem{\envoption{scale}}{1}{scales the size of the grid in the minipage.}
+ \optitem{\envoption{fontsize}}{Large}{specifies the size of the numbers next to the grid. Here, the usual \LaTeX\ sizes are used. Possible values: \texttt{tiny}, \texttt{scriptsize}, \texttt{footnotesize}, \texttt{small}, \texttt{normalsize}, \texttt{large}, \underline{\texttt{Large}}, \texttt{LARGE}, \texttt{huge}, \texttt{Huge}}
+ \optitem{\envoption{title}}{}{sets the title of a puzzle.}
+ \optitem{\envoption{titleindent}}{0cm}{defines the indent of the title.}
+ \optitem{\envoption{titlewidth}}{8.1cm}{specifies the width of the box the title is set in.}
+ \optitem{\envoption{bgcolor}}{}{sets the background color of the grid for indicating the neutral areas.}
+ \optitem{\envoption{counterstyle}}{none}{defines the counter style. Predefined styles: none, left, right}
+ \optitem{\envoption{cvoffset}}{-23pt}{sets the vertical offset of the counters in the margin.}
+\end{optionlist}
+
+\subsection{Masyu}
+Draw a line into the grid. The line can only run horizontally and vertically and must pass through all the circles. In cells with a black circle it have to turn in a 90 degree angle and go straight on for at least another cell. The line must go straight through empty circles, but turn left or right in at least one of the neighboring cells. There is no need to go through all cells.
+\subsubsection{Example}
+\begin{figure}[htbp]
+\begin{center}
+\begin{masyu}
+ \framepuzzle
+ \setcells{1/2,3/3,4/1,4/2,4/5,5/4}{\MasyuW}
+ \masyucell{1}{4}{\MasyuB}
+\end{masyu}
+\hspace{1.5cm}
+\begin{masyu}
+ \framepuzzle
+ \setcells{1/2,3/3,4/1,4/2,4/5,5/4}{\MasyuW}
+ \masyucell{1}{4}{\MasyuB}
+ \masyuline{\xtikzpath{1}{1}{8/3,6/2,8/1,6/2,2/2,4/3,2/1,6/3,2/1,4/4}}
+\end{masyu}
+\end{center}
+\end{figure}
+\begin{lstlisting}
+\masyusetup{color=Teal}
+\begin{masyu}
+ \framepuzzle
+ \setcells{1/2,3/3,4/1,4/2,4/5,5/4}{\MasyuW}
+ \masyucell{1}{4}{\MasyuB}
+\end{masyu}
+\hspace{1.5cm}
+\begin{masyu}
+ \framepuzzle
+ \setcells{1/2,3/3,4/1,4/2,4/5,5/4}{\MasyuW}
+ \masyucell{1}{4}{\MasyuB}
+ \masyuline{\xtikzpath{1}{1}{8/3,6/2,8/1,6/2,2/2,4/3,2/1,6/3,
+ 2/1,4/4}}
+\end{masyu}
+\end{lstlisting}
+
+\subsubsection{Options}
+\begin{optionlist}
+ \optitem{\envoption{rows}}{5}{defines the number of rows in the grid.}
+ \optitem{\envoption{columns}}{5}{specifies the number of columns in the grid}
+ \optitem{\envoption{width}}{5.1cm}{sets the width of the minipage, in which the grid is typeset.}
+ \optitem{\envoption{scale}}{1}{scales the size of the grid in the minipage.}
+ \optitem{\envoption{fontsize}}{Large}{specifies the size of the numbers next to the grid. Here, the usual \LaTeX\ sizes are used. Possible values: \texttt{tiny}, \texttt{scriptsize}, \texttt{footnotesize}, \texttt{small}, \texttt{normalsize}, \texttt{large}, \underline{\texttt{Large}}, \texttt{LARGE}, \texttt{huge}, \texttt{Huge}}
+ \optitem{\envoption{title}}{}{sets the title of a puzzle.}
+ \optitem{\envoption{titleindent}}{0cm}{defines the indent of the title.}
+ \optitem{\envoption{titlewidth}}{5.1cm}{specifies the width of the box the title is set in.}
+ \optitem{\envoption{color}}{green}{sets the color of the line.}
+ \optitem{\envoption{bgcolor}}{}{sets the background color of the grid.}
+ \optitem{\envoption{counterstyle}}{none}{defines the counter style. Predefined styles: none, left, right}
+ \optitem{\envoption{cvoffset}}{-23pt}{sets the vertical offset of the counters in the margin.}
+\end{optionlist}
+
\subsection{Minesweeper}
Draw a mine in some cells of the grid. The number in a cell indicates how many of the eight neighboring cells contain a mine. A numbered cell does not contain a mine.
\subsubsection{Example}
+\begin{figure}[htbp]
\begin{center}
\begin{minesweeper}
\framepuzzle
@@ -1409,6 +1709,7 @@
\setrow{1}{{},2}
\end{minesweeper}
\end{center}
+\end{figure}
\begin{lstlisting}
\begin{center}
\begin{minesweeper}
@@ -1446,9 +1747,179 @@
\optitem{\envoption{cvoffset}}{-23pt}{sets the vertical offset of the counters in the margin.}
\end{optionlist}
+\subsection{Number Link}
+Link all the same numbers or letters in each case by a line. The lines can run horizontally, vertically and in 90 degree angles. Each cell must be traversed by exactly one line. The lines must not intersect.
+
+\subsubsection{Example}
+\begin{figure}[htbp]
+\begin{center}
+\begin{numberlink}
+ \framepuzzle
+ \numberlinkcell{2}{1}{B}
+ \numberlinkcell{5}{1}{C}
+ \numberlinkcell{2}{2}{C}
+ \numberlinkcell{4}{2}{D}
+ \numberlinkcell{3}{3}{A}
+ \numberlinkcell{4}{3}{E}
+ \numberlinkcell{1}{4}{B}
+ \numberlinkcell{1}{5}{A}
+ \numberlinkcell{3}{5}{E}
+ \numberlinkcell{4}{5}{D}
+\end{numberlink}
+\hspace{1.5cm}
+\begin{numberlink}
+ \framepuzzle
+ \numberlinkcell{2}{1}{B}
+ \numberlinkcell{5}{1}{C}
+ \numberlinkcell{2}{2}{C}
+ \numberlinkcell{4}{2}{D}
+ \numberlinkcell{3}{3}{A}
+ \numberlinkcell{4}{3}{E}
+ \numberlinkcell{1}{4}{B}
+ \numberlinkcell{1}{5}{A}
+ \numberlinkcell{3}{5}{E}
+ \numberlinkcell{4}{5}{D}
+ \link{\tikzpath{4}{3}{8,4,8}}
+ \link{\tikzpath{2}{1}{4,8,8,8}}
+ \link{\tikzpath{2}{2}{6,2,6,6}}
+ \link{\tikzpath{1}{5}{6,2,2,6}}
+ \link{\tikzpath{4}{2}{6,8,8,8,4}}
+\end{numberlink}
+\end{center}
+\end{figure}
+\begin{lstlisting}
+\begin{numberlink}
+ \framepuzzle
+ \numberlinkcell{2}{1}{B}
+ \numberlinkcell{5}{1}{C}
+ \numberlinkcell{2}{2}{C}
+ \numberlinkcell{4}{2}{D}
+ \numberlinkcell{3}{3}{A}
+ \numberlinkcell{4}{3}{E}
+ \numberlinkcell{1}{4}{B}
+ \numberlinkcell{1}{5}{A}
+ \numberlinkcell{3}{5}{E}
+ \numberlinkcell{4}{5}{D}
+\end{numberlink}
+\hspace{1.5cm}
+\begin{numberlink}
+ \framepuzzle
+ \numberlinkcell{2}{1}{B}
+ \numberlinkcell{5}{1}{C}
+ \numberlinkcell{2}{2}{C}
+ \numberlinkcell{4}{2}{D}
+ \numberlinkcell{3}{3}{A}
+ \numberlinkcell{4}{3}{E}
+ \numberlinkcell{1}{4}{B}
+ \numberlinkcell{1}{5}{A}
+ \numberlinkcell{3}{5}{E}
+ \numberlinkcell{4}{5}{D}
+ \link{\tikzpath{4}{3}{8,4,8}}
+ \link{\tikzpath{2}{1}{4,8,8,8}}
+ \link{\tikzpath{2}{2}{6,2,6,6}}
+ \link{\tikzpath{1}{5}{6,2,2,6}}
+ \link{\tikzpath{4}{2}{6,8,8,8,4}}
+\end{numberlink}
+\end{lstlisting}
+
+\subsubsection{Options}
+\begin{optionlist}
+ \optitem{\envoption{rows}}{5}{defines the number of rows in the grid.}
+ \optitem{\envoption{columns}}{5}{specifies the number of columns in the grid}
+ \optitem{\envoption{width}}{5.1cm}{sets the width of the minipage, in which the grid is typeset.}
+ \optitem{\envoption{scale}}{1}{scales the size of the grid in the minipage.}
+ \optitem{\envoption{fontsize}}{Large}{specifies the size of the numbers next to the grid. Here, the usual \LaTeX\ sizes are used. Possible values: \texttt{tiny}, \texttt{scriptsize}, \texttt{footnotesize}, \texttt{small}, \texttt{normalsize}, \texttt{large}, \underline{\texttt{Large}}, \texttt{LARGE}, \texttt{huge}, \texttt{Huge}}
+ \optitem{\envoption{title}}{}{sets the title of a puzzle.}
+ \optitem{\envoption{titleindent}}{0cm}{defines the indent of the title.}
+ \optitem{\envoption{titlewidth}}{5.1cm}{specifies the width of the box the title is set in.}
+ \optitem{\envoption{color}}{red}{sets the color of the lines.}
+ \optitem{\envoption{bgcolor}}{}{sets the background color of the grid.}
+ \optitem{\envoption{counterstyle}}{none}{defines the counter style. Predefined styles: none, left, right}
+ \optitem{\envoption{cvoffset}}{-23pt}{sets the vertical offset of the counters in the margin.}
+\end{optionlist}
+
+\subsection{Resuko}
+Complete the given elements in the grid to two race tracks (a race track and a much shorter test track) with pitlane and parking lot. The elements below and to the left of the grid indicate how many straights, curves and intersections are located in the respective columns and rows. The pit lane is always located next to four straights of the circuit on a free area of 1x4 cells. At the end, the parking lot is located on the only free area of 2x2 cells. Both can not be built on a gravel trap.
+
+\subsubsection{Example}
+\begin{figure}[htbp]
+\begin{center}
+\begin{resuko}[width=5.2cm]
+ \resukocell{1}{7}{\Graveltrap}
+ \resukocell{4}{7}{\Graveltrap}
+ \resukocell{7}{3}{\Graveltrap}
+ \resukocell{6}{2}{\Cross}
+ \resukocell{8}{4}{\StraightV}
+ \resukocell{6}{7}{\StraightH}
+ \resukocell{3}{5}{\CurveBR}
+ \resukocell{5}{5}{\CurveTR}
+ \trackH{1/4/0,4/0/0,3/2/0,2/2/0,3/2/0,3/2/1,2/2/2,2/4/0}
+ \trackV{4/2/0,5/2/1,2/0/0,2/4/0,2/4/1,4/2/0,1/2/1,0/2/0}
+ \framepuzzle
+\end{resuko}
+\hspace{1.5cm}
+\begin{resuko}
+ \resukocell{1}{7}{\Graveltrap}
+ \resukocell{4}{7}{\Graveltrap}
+ \resukocell{7}{3}{\Graveltrap}
+ \parkinglot{2}{7}
+ \pitlane{2}{3}{H}
+ \track{\tikzpath{2}{4}{6,8,6,8,4,4,4,2,2,6}}
+ \track{\xtikzpath{2}{1}{6/4,8/3,6/1,8/4,6/1,2/1,4/3,2/2,6/3,2/3,4/7,2/1,6/1}}
+ \framepuzzle
+\end{resuko}
+\end{center}
+\end{figure}
+\begin{lstlisting}
+\resukosetup{rows=8,columns=8,width=5.8cm,fontsize=Huge,
+ scale=.708}
+\begin{resuko}[width=7.4cm]
+ \resukocell{1}{7}{\Graveltrap}
+ \resukocell{4}{7}{\Graveltrap}
+ \resukocell{7}{3}{\Graveltrap}
+ \resukocell{6}{2}{\Cross}
+ \resukocell{8}{4}{\StraightV}
+ \resukocell{6}{7}{\StraightH}
+ \resukocell{3}{5}{\CurveBR}
+ \resukocell{5}{5}{\CurveTR}
+ \trackH{1/4/0,4/0/0,3/2/0,2/2/0,3/2/0,3/2/1,2/2/2,2/4/0}
+ \trackV{4/2/0,5/2/1,2/0/0,2/4/0,2/4/1,4/2/0,1/2/1,0/2/0}
+ \framepuzzle
+\end{resuko}
+\hspace{1.5cm}
+\begin{resuko}
+ \resukocell{1}{7}{\Graveltrap}
+ \resukocell{4}{7}{\Graveltrap}
+ \resukocell{7}{3}{\Graveltrap}
+ \parkinglot{2}{7}
+ \pitlane{2}{3}{H}
+ \track{\tikzpath{2}{4}{6,8,6,8,4,4,4,2,2,6}}
+ \track{\xtikzpath{2}{1}{6/4,8/3,6/1,8/4,6/1,2/1,4/3,2/2,6/3,
+ 2/3,4/7,2/1,6/1}}
+ \framepuzzle
+\end{resuko}
+\end{lstlisting}
+
+\subsubsection{Options}
+\begin{optionlist}
+ \optitem{\envoption{rows}}{5}{defines the number of rows in the grid.}
+ \optitem{\envoption{columns}}{5}{specifies the number of columns in the grid}
+ \optitem{\envoption{width}}{5.1cm}{sets the width of the minipage, in which the grid is typeset.}
+ \optitem{\envoption{scale}}{1}{scales the size of the grid in the minipage.}
+ \optitem{\envoption{fontsize}}{Large}{specifies the size of the numbers next to the grid. Here, the usual \LaTeX\ sizes are used. Possible values: \texttt{tiny}, \texttt{scriptsize}, \texttt{footnotesize}, \texttt{small}, \texttt{normalsize}, \texttt{large}, \underline{\texttt{Large}}, \texttt{LARGE}, \texttt{huge}, \texttt{Huge}}
+ \optitem{\envoption{title}}{}{sets the title of a puzzle.}
+ \optitem{\envoption{titleindent}}{0cm}{defines the indent of the title.}
+ \optitem{\envoption{titlewidth}}{5.1cm}{specifies the width of the box the title is set in.}
+ \optitem{\envoption{color}}{blue}{sets the color of the pitlane and parking lot.}
+ \optitem{\envoption{bgcolor}}{}{sets the background color of the grid.}
+ \optitem{\envoption{counterstyle}}{none}{defines the counter style. Predefined styles: none, left, right}
+ \optitem{\envoption{cvoffset}}{-23pt}{sets the vertical offset of the counters in the margin.}
+\end{optionlist}
+
\subsection{Schatzsuche}
It's a variant of Minesweeper, just with diamonds instead of mines. Draw a diamond in some cells of the grid. The number in a cell indicates how many of the eight neighboring cells contain a diamond. A numbered cell does not contain a diamond.
\subsubsection{Example}
+\begin{figure}[htbp]
\begin{center}
\begin{schatzsuche}
\framepuzzle
@@ -1468,6 +1939,7 @@
\setrow{1}{{},2}
\end{schatzsuche}
\end{center}
+\end{figure}
\begin{lstlisting}
\begin{center}
\begin{schatzsuche}
@@ -1508,6 +1980,7 @@
\subsection{Skyline}
There are skyscrapers located in each cell. Try to find out the height of the skyscraper in the respective cell. There are heights of 1 to MAX in every row, every column, and in each of the two diagonals if indicated. Some cells may be empty (parks). The numbers around the grid indicate how many buildings you can see from this position when you look at the skyscraper lineup. Bear in mind that only those skyscrapers are visible which are higher than the ones in front.
\subsubsection{Example}
+\begin{figure}[htbp]
\begin{center}
\begin{skyline}
\skylineB{3,{},3,1,{}}
@@ -1530,7 +2003,7 @@
\setrow{1}{3,1,2,5,4}
\end{skyline}
\end{center}
-
+\end{figure}
\begin{lstlisting}
\begin{center}
\begin{skyline}
@@ -1558,6 +2031,7 @@
\paragraph{Variants}
\subparagraph{Skyline Sudoku}
+
\begin{center}
\begin{skyline}[sudoku,scale=.4]
\skylineB{4,5,2,5,2,1,2,4,3}
@@ -1629,6 +2103,7 @@
\end{lstlisting}
\subparagraph{Skyline Sudoku (N*N)}
+
\begin{center}
\begin{skyline}[rows=6,columns=6,scale=.58]
\skylineB{4,2,1,3,3,2}
@@ -1748,6 +2223,7 @@
\subsection{Slitherlink}
Draw a closed line into the grid. This line must be on the existing dashed lines, but do not have to go through all grid points. If numbers are present in the grid cells, they indicate how many sides of the cell are touched by the line. The line must not touch or cross itself.
\subsubsection{Example}
+\begin{figure}[htbp]
\begin{center}
\begin{slitherlink}
\setbigcell{1}{1}{4}
@@ -1772,7 +2248,7 @@
\framearea{black}{\tikzpath{3}{1}{8,8,4,4,8,6,6,8,6,2,6,6,2,4,2,4,2,4}}
\end{slitherlink}
\end{center}
-
+\end{figure}
\begin{lstlisting}
\begin{center}
\begin{slitherlink}
@@ -1820,6 +2296,7 @@
Enter exactly one star in each row, each column and each area of the grid. Cells with stars must not touch each other orthogonally or diagonally.
\subsubsection{Example}
+\begin{figure}[htbp]
\begin{center}
\begin{starbattle}
\framepuzzle
@@ -1844,7 +2321,7 @@
\starbattlecell{5}{3}{\Star}
\end{starbattle}
\end{center}
-
+\end{figure}
\begin{lstlisting}
\begin{center}
\begin{starbattle}
@@ -1853,8 +2330,8 @@
4,4}}
\framearea{black}{\tikzpath{1}{2}{8,8,6,2,2,4}}
\framearea{black}{\tikzpath{1}{4}{8,8,6,6,2,6,2,2,4,4,8,4}}
- \framearea{black}{\tikzpath{4}{2}{8,8,8,4,8,6,6,6,2,4,2,2,6,2,
- 4,4}}
+ \framearea{black}{\tikzpath{4}{2}{8,8,8,4,8,6,6,6,2,4,2,2,6,
+ 2,4,4}}
\framearea{black}{\tikzpath{5}{3}{8,8,6,2,2,4}}
\end{starbattle}
\hspace{1.5cm}
@@ -1864,8 +2341,8 @@
4,4}}
\framearea{black}{\tikzpath{1}{2}{8,8,6,2,2,4}}
\framearea{black}{\tikzpath{1}{4}{8,8,6,6,2,6,2,2,4,4,8,4}}
- \framearea{black}{\tikzpath{4}{2}{8,8,8,4,8,6,6,6,2,4,2,2,6,2,
- 4,4}}
+ \framearea{black}{\tikzpath{4}{2}{8,8,8,4,8,6,6,6,2,4,2,2,6,
+ 2,4,4}}
\framearea{black}{\tikzpath{5}{3}{8,8,6,2,2,4}}
\starbattlecell{1}{2}{\Star}
\starbattlecell{2}{4}{\Star}
@@ -1894,6 +2371,7 @@
\subsection{Stars and Arrows}
Enter a star in some empty cells of the grid. Each arrow points to at least one star and every star is referenced by at least one arrow. Arrows point to a whole row, column or diagonal, also through other stars and arrows. The numbers on the left and top of the grid indicate how many stars are located in the row or column.
\subsubsection{Example}
+\begin{figure}[htbp]
\begin{center}
\begin{starsandarrows}
\framepuzzle
@@ -1916,7 +2394,7 @@
\setrow{1}{\RightUp,{},\Star,\LeftUp,\Left}
\end{starsandarrows}
\end{center}
-
+\end{figure}
\begin{lstlisting}
\begin{center}
\begin{starsandarrows}
@@ -1960,6 +2438,7 @@
\subsection{Sudoku}
Well, it's Sudoku -- nothing to explain! Fill each row and column with numbers from 1 to 9.
\subsubsection{Example}
+\begin{figure}[htbp]
\begin{center}
\begin{lpsudoku}
\setrow{9}{{},2,6,{},{},{},{},{},{}}
@@ -1985,7 +2464,7 @@
\setrow{1}{3,1,7,6,2,5,9,4,8}
\end{lpsudoku}
\end{center}
-
+\end{figure}
\begin{lstlisting}
\begin{center}
\begin{lpsudoku}
@@ -2071,6 +2550,7 @@
Enter exactly one star and one dark cloud in each row and each column of the grid, so that the planets are illuminated as specified. The stars shine horizontally or vertically arbitrarily far, but not through a planet or a dark cloud.
\subsubsection{Example}
+\begin{figure}[htbp]
\begin{center}
\begin{sunandmoon}
\framepuzzle
@@ -2090,7 +2570,7 @@
\setrow{1}{\Star,{},\Cloud,\MoonT}
\end{sunandmoon}
\end{center}
-
+\end{figure}
\begin{lstlisting}
\begin{center}
\begin{sunandmoon}
@@ -2131,6 +2611,7 @@
\subsection{Tents and Trees}
Draw tents in the grid. Next to each tree, a tent must be entered in a horizontally or vertically adjacent cell, which is associated with this tree. The numbers next to the grid indicate the quantity of tents in each row or column. No tent can stand directly next to another one, not even diagonally.
\subsubsection{Example}
+\begin{figure}[htbp]
\begin{center}
\begin{tentsandtrees}
\framepuzzle
@@ -2152,6 +2633,7 @@
\setrow{1}{\Tree,\Tent,{},\Tree,\Tent}
\end{tentsandtrees}
\end{center}
+\end{figure}
\begin{lstlisting}
\begin{center}
\begin{tentsandtrees}
@@ -2194,6 +2676,7 @@
\subsection{Tunnel}
Determine the course of the tube. Draw the only possible connection. from the beginning to the end. The numbers indicate how many tube segments (including portals) are present in the corresponding rows and columns. The tube is one cell wide, and does not cross or touch itself!
\subsubsection{Example}
+\begin{figure}[htbp]
\begin{center}
\begin{tunnel}
\framepuzzle
@@ -2212,7 +2695,7 @@
\tube{\tikzpath{1}{1}{6,6,6,6,8,8,4,4,4,4,8,8,6,6,6,6}}
\end{tunnel}
\end{center}
-
+\end{figure}
\begin{lstlisting}
\begin{center}
\begin{tunnel}
@@ -2470,6 +2953,12 @@
With the command \cs{chaossudokucell}\margcs{\cmd\chaossudokucell\{\marg{column}\}\\\{\marg{row}\}\{\marg{number}\}}, you can set the \marg{number} of the grid cell \marg{column} \marg{row}.
\subparagraph{\texttt{chaossudokusetup}}
With the command \cs{chaossudokusetup}\margcs{\cmd\chaossudokusetup\{\marg{options}\}} you can reset the options with global scope.
+\paragraph{Four Winds}
+\label{sec:pscfourwinds}
+\subparagraph{\texttt{fourwindscell}}
+The command \cs{fourwindscell}\margcs{\cmd\fourwindscell\{\marg{column}\}\{\marg{row}\}\\\{\marg{number}\}\{\marg{csv list}\}} sets the \marg{number} into grid cell \marg{column}\marg{row}. Furthermore, it draws lines specified in \marg{csv list} in the \texttt{direction/length} format.
+\subparagraph{\texttt{fourwindssetup}}
+With the command \cs{fourwindssetup}\margcs{\cmd\fourwindssetup\{\marg{options}\}} you can reset the options with global scope.
\paragraph{Hakyuu}
\label{sec:pschakyuu}
\subparagraph{\texttt{hakyuucell}}
@@ -2532,12 +3021,90 @@
You should consider using this command in the \env{puzzlebackground} environment.
\subparagraph{\texttt{laserbeamsetup}}
With the command \cs{laserbeamsetup}\margcs{\cmd\laserbeamsetup\{\marg{options}\}} you can reset the options with global scope.
+\paragraph{Magic Labyrinth}
+\label{sec:pscmagiclabyrinth}
+\subparagraph{\texttt{magiclabyrinthcell}}
+The command \cs{magiclabyrinthcell}\margcs{\cmd\magiclabyrinthcell\\\{\marg{column}\}\{\marg{row}\}\{\marg{number}\}} sets a number into grid cell \marg{column} \marg{row}.
+\subparagraph{\texttt{mlline}}
+The command \cs{mlline}\margcs{\cmd\mlline\{\marg{Ti\textit{k}Z path}\}} draws a line given by \marg{Ti\textit{k}Z path}.
+\subparagraph{\texttt{magiclabyrinthsetup}}
+The \cs{magiclabyrinthsetup}\margcs{\cmd\magiclabyrinthsetup\{\marg{options}\}} command resets the options with global scope.
+\paragraph{Magnets}
+\label{sec:pscmagnets}
+\subparagraph{\texttt{plusH}}
+The command \cs{plusH}\margcs{\cmd\plusH\{\marg{csv list}\}} typesets the numbers above the grid indicating how many positive poles are in the respective column. It expects a comma-separated list as an argument.
+\subparagraph{\texttt{minusH}}
+The command \cs{minusH}\margcs{\cmd\minusH\{\marg{csv list}\}} typesets the numbers above the grid indicating how many negative poles are in the respective column.
+\subparagraph{\texttt{plusV}}
+The command \cs{plusV}\margcs{\cmd\plusV\{\marg{csv list}\}} typesets the numbers left to the grid indicating how many positive poles are in the respective row.
+\subparagraph{\texttt{minusV}}
+The command \cs{minusV}\margcs{\cmd\minusV\{\marg{csv list}\}} typesets the numbers left to the grid indicating how many negative pole ares in the respective row.
+\subparagraph{\texttt{magnetsH}}
+The command \cs{magnetsH}\margcs{\cmd\magnetsH\{\marg{csv list}\}} typesets non-magnetic horizontal plates by using the \texttt{column}/\texttt{row} format in \marg{csv list}.
+\subparagraph{\texttt{magnetsV}}
+The command \cs{magnetsV}\margcs{\cmd\magnetsV\{\marg{csv list}\}} typesets non-magnetic vertical plates by using the \texttt{column}/\texttt{row} format in \marg{csv list}.
+\subparagraph{\texttt{Magnetic plates}}
+The command \cs{PMH}\margcs{\cmd\PMH\{\marg{csv list}\}, \cmd\MPH\{\marg{csv list}\}, \cmd\PMV\{\marg{csv list}\}, \cmd\MPV\{\marg{csv list}\}} draws horizontal magnetic plates with \fbox{$+$ $-$} arrangement. It expects the \texttt{column}/\texttt{row} format in \marg{csv list}. You can typeset the three other magnetic arrangements by using the \cmd\MPH, \cmd\PMV\ and \cmd\MPV\ commands.
+\subparagraph{\texttt{magnetssetup}}
+With the command \cs{magnetssetup}\margcs{\cmd\magnetssetup\{\marg{options}\}} you can reset the options with global scope.
+\paragraph{Masyu}
+\label{sec:pscmasyu}
+\subparagraph{\texttt{masyucell}}
+The command \cs{masyucell}\margcs{\cmd\masyucell\\\{\marg{column}\}\{\marg{row}\}\{\marg{element}\}} sets an element into grid cell \marg{column} \marg{row}.
+\subparagraph{\texttt{MasyuW}}
+The command \cs{MasyuW}\margcs{\cmd\MasyuW} draws an empty (white) circle.
+\subparagraph{\texttt{MasyuB}}
+The command \cs{MasyuB}\margcs{\cmd\MasyuB} draws a black circle.
+\subparagraph{\texttt{masyuline}}
+The command \cs{masyuline}\margcs{\cmd\masyuline\{\marg{Ti\textit{k}Z path}\}} draws a line given by \marg{Ti\textit{k}Z path}.
+\subparagraph{\texttt{masyusetup}}
+The \cs{masyusetup}\margcs{\cmd\masyusetup\{\marg{options}\}} command resets the options with global scope.
\paragraph{Minesweeper}
\label{sec:pscminesweeper}
\subparagraph{\texttt{Mine}}
The command \cs{Mine}\margcs{\cmd\Mine} draws a mine. It can be used in commands like \cmd\setcell\ [see: \ref{sec:setcell}] or \cmd\setrow\ [see: \ref{sec:setrow}]!
\subparagraph{\texttt{minesweepersetup}}
With the command \cs{minesweepersetup}\margcs{\cmd\minesweepersetup\{\marg{options}\}} you can reset the options with global scope.
+\paragraph{Number Link}
+\label{sec:pscnumberlink}
+\subparagraph{\texttt{numberlinkcell}}
+The command \cs{numberlinkcell}\margcs{\cmd\numberlinkcell\\\{\marg{column}\}\{\marg{row}\}\{\marg{element}\}} sets a number or letter into grid cell \marg{column} \marg{row}.
+\subparagraph{\texttt{link}}
+The command \cs{link}\margcs{\cmd\link\{\marg{Ti\textit{k}Z path}\}} draws a line given by \marg{Ti\textit{k}Z path}.
+\subparagraph{\texttt{numberlinksetup}}
+With the command \cs{numberlinksetup}\margcs{\cmd\numberlinksetup\{\marg{options}\}} you can reset the options with global scope.
+\paragraph{Resuko}
+\label{sec:pscresuko}
+\subparagraph{\texttt{resukocell}}
+The command \cs{resukocell}\margcs{\cmd\resukocell\\\{\marg{column}\}\{\marg{row}\}\{\marg{element}\}} sets the \marg{element} into grid cell \marg{column} \marg{row}.
+\subparagraph{\texttt{Track tiles}}
+You can use the following commands to draw different track tiles, e.g. with the \cmd\resukocell\ command:
+
+\begin{center}
+\begin{tabular}{rlrlrl}
+\raisebox{-7pt}{\Straight} & \cmd\Straight & \raisebox{-7pt}{\StraightH} & \cmd\StraightH & \raisebox{-7pt}{\StraightV} & \cmd\StraightV \\
+ & & & & & \\
+\raisebox{-7pt}{\Cross} & \cmd\Cross & \raisebox{-7pt}{\CrossH} & \cmd\CrossH & \raisebox{-7pt}{\CrossV} & \cmd\CrossV \\
+ & & & & & \\
+\raisebox{-7pt}{\CurveTL} & \cmd\CurveTL & \raisebox{-7pt}{\CurveTR} & \cmd\CurveTR & \raisebox{-7pt}{\CurveBL} & \cmd\CurveBL \\
+ & & & & & \\
+\raisebox{-7pt}{\CurveBR} & \cmd\CurveBR & \raisebox{-7pt}{\Graveltrap} & \cmd\Graveltrap & \\
+\end{tabular}
+\end{center}
+
+\subparagraph{\texttt{pitlane}}
+The command \cs{pitlane}\margcs{\cmd\pitlane\{\marg{column}\}\{\marg{row}\}\\\{\marg{direction}\}} draws the pit lane in grid cell \{\marg{column}\}\{\marg{row}\} with \{\marg{direction}\} V or H.
+\subparagraph{\texttt{parkinglot}}
+The command \cs{parkinglot}\margcs{\cmd\parkinglot\{\marg{column}\}\{\marg{row}\}} draws the parking lot in grid cell \{\marg{column}\}\{\marg{row}\}.
+\subparagraph{\texttt{trackH}}
+The command \cs{trackH}\margcs{\cmd\trackH\{\marg{csv list}\}} typesets the track tiles below the grid indicating how many different tiles are in the respective column. It expects a comma-separated list as an argument with the format \texttt{straights/curves/intersections}.
+\subparagraph{\texttt{trackV}}
+The command \cs{trackV}\margcs{\cmd\trackV\{\marg{csv list}\}} typesets the track tiles left to the grid.
+\subparagraph{\texttt{track}}
+The command \cs{track}\margcs{\cmd\track\{\marg{Ti\textit{k}Z path}\}} draws the race track given by \marg{Ti\textit{k}Z path}. The design of the race track is based on \href{http://tex.stackexchange.com/users/3708/frederic}{Fr�d�ric}'s answer to this \href{http://tex.stackexchange.com/questions/115923/crossing-paths-in-tikz-without-intersection}{question} on \TeX.sx. The design with auto-generated bridges will only work, if the path is not constructed with an intersection point. It's recommended to start the path on a standard straight and define the path from corner to corner with \cmd\xtikzpath.
+
+\subparagraph{\texttt{resukosetup}}
+With the command \cs{resukosetup}\margcs{\cmd\resukosetup\{\marg{options}\}} you can reset the options with global scope.
\paragraph{Schatzsuche}
\label{sec:pscschatzsuche}
\subparagraph{\texttt{Diamond}}
@@ -2650,6 +3217,10 @@
\label{sec:setcell}
With\margcs{\cmd\setcell\{\{\marg{column}\}\{\marg{row}\}\\\{\marg{element}\}} the \cmd\setcell\ command, you can set \marg{element} into cell \marg{column}\marg{row} as central node. It is aware of the current values of the surrounding environment options \envoption{rows}, \envoption{columns}, \envoption{scale} and \envoption{fontsize}. Furthermore, a check if \marg{element} is within the grid is applied.
+\subparagraph{\texttt{setcells}}
+\label{sec:setcells}
+With\margcs{\cmd\setcells\{\marg{csv list}\}\{\marg{element}\}} the \cmd\setcells\ command, you can set \marg{element} into several cells by using the \texttt{column}/\texttt{row} format in \marg{csv list}. It works for numbers, letters and most graphical objects, with the exception of commands like \cmd\KKR, which is not a graphic itself, but drawing something into the grid.
+
\subparagraph{\texttt{setbigcell}}
\label{sec:setbigcell}
The\margcs{\cmd\setbigcell[\oarg{fontsize}]\{\{\marg{column}\}\\\{\marg{row}\}\{\marg{element}\}} \cmd\setbigcell\ command sets \marg{element} into a big (\texttt{$2\times2$}) cell \marg{column}\marg{row} as central node. The optional argument \oarg{fontsize} is set to 'Huge' by default.
@@ -2730,6 +3301,15 @@
This command will frame grid cell \texttt{(2,2)} green.
+\subparagraph{\texttt{xtikzpath}}
+\label{sec:xtikzpath}
+The\margcs{\cmd\xtikzpath\{\marg{column}\}\{\marg{row}\}\\\{\marg{csv list}\}} \cmd\xtikzpath\ command is an evolution of the \cmd\tikzpath\ command with slightly different input syntax. In the \marg{csv list} argument, it expects pairs in the form \texttt{direction/length}. Therefore, you can easily define paths from corner to corner.
+
+\begin{lstlisting}
+\framearea{green}{\xtikzpath{2}{2}{8/2,6/2,2/2,4/2}}
+\end{lstlisting}
+
+This command will frame an area defined by the grid cells \texttt{(2,2)} and \texttt{(3,3)} green.
\paragraph{Presentation}
\subparagraph{\texttt{titleformat}}
\label{sec:titleformat}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tlpkg/tlpobj/logicpuzzle.doc.tlpobj new/tlpkg/tlpobj/logicpuzzle.doc.tlpobj
--- old/tlpkg/tlpobj/logicpuzzle.doc.tlpobj 2013-05-20 03:43:29.000000000 +0200
+++ new/tlpkg/tlpobj/logicpuzzle.doc.tlpobj 2013-06-29 03:22:16.000000000 +0200
@@ -1,9 +1,9 @@
name logicpuzzle.doc
category Package
-revision 30558
+revision 31024
shortdesc doc files of logicpuzzle
relocated 1
-docfiles size=145
+docfiles size=172
RELOC/doc/latex/logicpuzzle/CHANGES
RELOC/doc/latex/logicpuzzle/INSTALL
RELOC/doc/latex/logicpuzzle/README
++++++ logicpuzzle.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tex/latex/logicpuzzle/logicpuzzle.sty new/tex/latex/logicpuzzle/logicpuzzle.sty
--- old/tex/latex/logicpuzzle/logicpuzzle.sty 2013-05-19 00:14:40.000000000 +0200
+++ new/tex/latex/logicpuzzle/logicpuzzle.sty 2013-06-29 02:16:40.000000000 +0200
@@ -19,7 +19,7 @@
%%
%% This work consists of all files listed in manifest.txt.
%%
-\ProvidesPackage{logicpuzzle}[2013/05/17 logicpuzzle.sty v2.2 - Josef Kleber (C) 2013]%
+\ProvidesPackage{logicpuzzle}[2013/06/06 logicpuzzle.sty v2.4 - Josef Kleber (C) 2013]%
%
\RequirePackage{xkeyval}%
\RequirePackage{ifthen}%
@@ -27,7 +27,7 @@
\RequirePackage{etoolbox}%
\RequirePackage{marginnote}%
\RequirePackage{tikz}%
-\usetikzlibrary{decorations.pathmorphing,calc,shapes.geometric}%
+\usetikzlibrary{decorations.pathmorphing,decorations.pathreplacing,calc,shapes.geometric}%
\pgfdeclarelayer{LPdump}%
\pgfdeclarelayer{LPbgcolor}%
\pgfdeclarelayer{LPbackgroundtwo}%
@@ -50,6 +50,8 @@
\newcounter{LP@puzzlecounter}%
\setcounter{LP@puzzlecounter}{1}%
%
+\newlength\LP@length%
+%
\newcommand*\LP@counterstyle{none}%
\newcommand*\LP@titleformat{}%
\gdef\LP@env@prefix{}%
@@ -67,6 +69,8 @@
\def\LP@grid@linestyle{}%
\def\LP@draw@opacity{1}%
\def\LP@rel@tikzpath{}%
+\def\LP@tracks@scale{.3}%
+\def\LP@fw@linestyle{-|}%
%
\newcommand*\LP@Pfive{.5}%
%
@@ -170,6 +174,7 @@
\definecolor{LP@c@tunnel@i}{rgb}{.8,.8,.8}%
\definecolor{LP@c@tunnel@ii}{rgb}{.5,.5,.5}%
\LP@definecolor{LP@c@bridge}{1,0,0}%
+\colorlet{LP@c@track}{black!80}%
%
% drawing grids
%
@@ -201,6 +206,27 @@
\fill[color=LP@c@griddots] (\i,\j) circle [radius=3pt];%
\end{pgfonlayer}%
}%
+%
+\newcommand*\LP@magnetsgrid%
+{%
+ \LP@set@LP@fontsize{\LP@env@prefix}%
+ \LP@set@LP@columns{\LP@env@prefix}%
+ \LP@set@LP@rows{\LP@env@prefix}%
+ \setcounter{LP@counti}{\LP@columns}% max column
+ \setcounter{LP@countii}{\LP@rows}% max row
+ \stepcounter{LP@counti}%
+ \stepcounter{LP@countii}%
+ \draw[step=1cm,line width=\LP@normallines] (-1,1) grid (1,\arabic{LP@countii});%
+ \draw[step=1cm,line width=\LP@normallines] (1,\arabic{LP@countii}) grid ++(\LP@columns,2);%
+ \draw[line width=\LP@normallines] (0,\arabic{LP@countii}) -- ++(0,1) -- ++(1,0);%
+ \draw[line width=\LP@thicklines] (-1,1) rectangle (1,\arabic{LP@countii});%
+ \draw[line width=\LP@thicklines] (1,\arabic{LP@countii}) rectangle ++(\LP@columns,2);%
+ \draw[line width=\LP@thicklines] (1,\arabic{LP@countii}) rectangle ++(-2,2);%
+ \node[font=\LP@fontsize\bfseries] at (0.5,\arabic{LP@counti}.5) {$-$};%
+ \stepcounter{LP@counti}%
+ \node[font=\LP@fontsize\bfseries] at (-0.5,\arabic{LP@counti}.5) {$+$};%
+}%
+%
\newcommand*\LP@drawsudokugrid%
{%
\draw[line width=\LP@thicklines,draw opacity=\LP@draw@opacity] (1,1) -- (1,10);%
@@ -407,6 +433,19 @@
\LP@setcellcontent{#1}{#2}{\LP@fontsize#3}%
}%
%
+\newcommand*\setcells[2]%
+{%
+ \LP@set@LP@scale{\LP@env@prefix}%
+ \LP@set@LP@fontsize{\LP@env@prefix}%
+ \LP@set@LP@rows{\LP@env@prefix}%
+ \LP@set@LP@columns{\LP@env@prefix}%
+ \foreach \LP@sc@column/\LP@sc@row in {#1}%
+ {%
+ \LP@ingrid{\LP@sc@column}{\LP@sc@row}{\LP@columns}{\LP@rows}{\LP@package}%
+ \LP@setcellcontent{\LP@sc@column}{\LP@sc@row}{\LP@fontsize#2}%
+ };%
+}%
+%
\newcommand*\setbigcell[4][Huge]%
{%
\LP@set@LP@scale{\LP@env@prefix}%
@@ -641,6 +680,38 @@
};%
}%
%
+\newcommand*\xtikzpath[3]%
+{%
+ (#1\LP@rel@tikzpath,#2\LP@rel@tikzpath)%
+ \foreach \LP@dir/\LP@plength in {#3}%
+ {%
+ \ifnum\LP@dir=1%
+ --++(-\LP@plength,-\LP@plength)%
+ \fi%
+ \ifnum\LP@dir=2%
+ --++(0,-\LP@plength)%
+ \fi%
+ \ifnum\LP@dir=3%
+ --++(\LP@plength,-\LP@plength)%
+ \fi%
+ \ifnum\LP@dir=4%
+ --++(-\LP@plength,0)%
+ \fi%
+ \ifnum\LP@dir=6%
+ --++(\LP@plength,0)%
+ \fi%
+ \ifnum\LP@dir=7%
+ --++(-\LP@plength,\LP@plength)%
+ \fi%
+ \ifnum\LP@dir=8%
+ --++(0,\LP@plength)%
+ \fi%
+ \ifnum\LP@dir=9%
+ --++(\LP@plength,\LP@plength)%
+ \fi%
+ };%
+}%
+%
\newcommand*\filldiagonals[1][yellow!20]%
{%
\LP@set@LP@columns{\LP@env@prefix}%
@@ -679,9 +750,9 @@
\stepcounter{LP@counti}%
\stepcounter{LP@countii}%
\draw[line width=\LP@thicklines,color=#1] (1,1)--(1,\arabic{LP@countii});%
- \draw[line width=\LP@thicklines,color=#1] (1,\arabic{LP@countii})--(\arabic{LP@countii},\arabic{LP@countii});%
- \draw[line width=\LP@thicklines,color=#1] (\arabic{LP@countii},\arabic{LP@countii})--(\arabic{LP@countii},1);%
- \draw[line width=\LP@thicklines,color=#1] (\arabic{LP@countii},1)--(1,1);%
+ \draw[line width=\LP@thicklines,color=#1] (1,\arabic{LP@countii})--(\arabic{LP@counti},\arabic{LP@countii});%
+ \draw[line width=\LP@thicklines,color=#1] (\arabic{LP@counti},\arabic{LP@countii})--(\arabic{LP@counti},1);%
+ \draw[line width=\LP@thicklines,color=#1] (\arabic{LP@counti},1)--(1,1);%
}%
%
\newcommand*\placecross[2]%
@@ -1065,16 +1136,22 @@
\def\LP@Line@linecolor{#1}%
}%
%
+\define@key{LP@Line}{linewidth}[1mm]%
+{%
+ \def\LP@Line@linewidth{#1}%
+}%
+%
\newcommand*\LP@Line[2][]%
{%
\def\LP@Line@double{}%
\def\LP@Line@linecolor{LP@c@bridge}%
+ \def\LP@Line@linewidth{1mm}%
\setkeys{LP@Line}{#1}%
\LP@set@LP@scale{\LP@env@prefix}%
\begin{pgfonlayer}{LPbackgroundtwo}%
\ifthenelse{\equal{\LP@Line@double}{double}}%
- {\draw[double,double distance=.1cm*\LP@scale,color=\LP@Line@linecolor, line width=.1cm*\LP@scale] #2;}%
- {\draw[color=\LP@Line@linecolor, line width=.1cm*\LP@scale] #2;}%
+ {\draw[double,double distance=\LP@Line@linewidth*\LP@scale,color=\LP@Line@linecolor, line width=\LP@Line@linewidth*\LP@scale] #2;}%
+ {\draw[color=\LP@Line@linecolor, line width=\LP@Line@linewidth*\LP@scale] #2;}%
\end{pgfonlayer}%
}%
%
@@ -1083,6 +1160,307 @@
\LP@Line[#1]{#2}%
}%
%
+\newcommand*\LP@trackC%
+{%
+ \LP@set@LP@scale{\LP@env@prefix}%
+ \begin{tikzpicture}[scale=\LP@scale]%
+ \pgfsetcornersarced{\pgfpoint{4mm*\LP@scale}{4mm*\LP@scale}}%
+ \draw[color=LP@c@track, line width=.3cm*\LP@scale] (0,.5)--(.5,.5)--(.5,0);%
+ \end{tikzpicture}%
+}%
+%
+\newcommand*\LP@G@trackC[1][0]%
+{%
+ \LP@set@LP@scale{\LP@env@prefix}%
+ \begin{tikzpicture}[scale=\LP@scale,rotate=#1]%
+ \clip (0,0) rectangle (1,1);%
+ \pgfsetcornersarced{\pgfpoint{4mm*\LP@scale}{4mm*\LP@scale}}%
+ \draw[color=LP@c@track, line width=.3cm*\LP@scale] (0,.5)--(.5,.5)--(.5,0);%
+ \end{tikzpicture}%
+}%
+%
+\let\CurveBL\LP@G@trackC%
+\newcommand*\CurveBR{\LP@G@trackC[90]}%
+\newcommand*\CurveTR{\LP@G@trackC[180]}%
+\newcommand*\CurveTL{\LP@G@trackC[270]}%
+%
+\newcommand*\LP@trackS%
+{%
+ \LP@set@LP@scale{\LP@env@prefix}%
+ \begin{tikzpicture}[scale=\LP@scale]%
+ \draw[draw opacity=0] (.2,0) -- (.8,1);%
+ \draw[color=LP@c@track, line width=.3cm*\LP@scale] (.5,0)--(.5,1);%
+ \end{tikzpicture}%
+}%
+%
+\newcommand*\LP@G@trackS[1][0]%
+{%
+ \LP@set@LP@scale{\LP@env@prefix}%
+ \begin{tikzpicture}[scale=\LP@scale,rotate=#1]%
+ \clip (0,0) rectangle (1,1);%
+ \draw[color=LP@c@track, line width=.3cm*\LP@scale] (.5,0)--(.5,1);%
+ \end{tikzpicture}%
+}%
+%
+\newcommand*\StraightV{\LP@G@trackS}%
+\newcommand*\StraightH{\LP@G@trackS[90]}%
+\let\Straight\StraightV%
+%
+\newcommand*\LP@trackCR%
+{%
+ \LP@set@LP@scale{\LP@env@prefix}%
+ \begin{tikzpicture}[scale=\LP@scale]%
+ \draw[color=LP@c@track, line width=.3cm*\LP@scale] (0,0.5)--(1,.5);%
+ \draw[color=LP@c@track, line width=.3cm*\LP@scale] (0.5,0)--(.5,.2);%
+ \draw[color=LP@c@track, line width=.3cm*\LP@scale] (0.5,1)--(.5,.8);%
+ \end{tikzpicture}%
+}%
+%
+\newcommand*\LP@G@trackCR[1][0]%
+{%
+ \LP@set@LP@scale{\LP@env@prefix}%
+ \begin{tikzpicture}[scale=\LP@scale,rotate=#1]%
+ \clip (0,0) rectangle (1,1);%
+ \draw[color=LP@c@track, line width=.3cm*\LP@scale] (0,0.5)--(1,.5);%
+ \draw[color=LP@c@track, line width=.3cm*\LP@scale] (0.5,0)--(.5,.2);%
+ \draw[color=LP@c@track, line width=.3cm*\LP@scale] (0.5,1)--(.5,.8);%
+ \end{tikzpicture}%
+}%
+%
+\newcommand*\CrossH{\LP@G@trackCR}%
+\newcommand*\CrossV{\LP@G@trackCR[90]}%
+\let\Cross\CrossH%
+%
+\newcommand*\LP@graveltrap%
+{%
+ \LP@set@LP@scale{\LP@env@prefix}%
+ \begin{tikzpicture}[scale=\LP@scale]%
+ \clip (0,0) rectangle (1,1);%
+ \fill[color=LP@c@track] (.5,.5) circle (.1cm);%
+ \end{tikzpicture}%
+}%
+%
+\let\Graveltrap\LP@graveltrap%
+%
+\newcommand*\parkinglot[2]%
+{%
+ \LP@set@LP@scale{\LP@env@prefix}%
+ \LP@set@LP@color{\LP@env@prefix}%
+ \LP@set@LP@bgcolor{\LP@env@prefix}%
+ \LP@set@LP@fontsize{\LP@env@prefix}%
+ \ifthenelse{\equal{\LP@color}{}}%
+ {\gdef\LP@c@parkinglot{black}}%
+ {\gdef\LP@c@parkinglot{\LP@color}}%
+ \ifthenelse{\equal{\LP@bgcolor}{}}%
+ {\gdef\LP@c@bg@parkinglot{white}}%
+ {\gdef\LP@c@bg@parkinglot{\LP@bgcolor}}%
+ \setcounter{LP@counti}{#1}%
+ \setcounter{LP@countii}{#2}%
+ \stepcounter{LP@counti}%
+ \stepcounter{LP@countii}%
+ \draw[color=\LP@c@parkinglot,line width=\LP@normallines,fill=\LP@c@bg@parkinglot] (#1,#2) rectangle ++(2,2);%
+ \node[color=\LP@c@parkinglot,font=\sffamily\bfseries\LP@fontsize] at (\arabic{LP@counti},\arabic{LP@countii}){P};%
+}%
+%
+\newcommand*\pitlane[3]%
+{%
+ \LP@set@LP@scale{\LP@env@prefix}%
+ \LP@set@LP@color{\LP@env@prefix}%
+ \ifthenelse{\equal{\LP@color}{}}%
+ {\gdef\LP@c@pitlane{black}}%
+ {\gdef\LP@c@pitlane{\LP@color}}%
+ \ifthenelse{\equal{#3}{V}}%
+ {\draw[color=black,line width=\LP@normallines,fill=\LP@c@pitlane] (#1,#2) rectangle ++(1,4);}%
+ {\draw[color=black,line width=\LP@normallines,fill=\LP@c@pitlane] (#1,#2) rectangle ++(4,1);}%
+}%
+%
+\newcommand*\LP@trackline[3]%
+{%
+ \LP@set@LP@scale{\LP@env@prefix}%
+ \pgfmathsetlength{\LP@length}{.1cm*\LP@scale}%
+ \scalebox{\LP@tracks@scale}%
+ {%
+ \hspace{\LP@length}%
+ \setcounter{LP@whiledo@i}{#1}%
+ \whiledo{\arabic{LP@whiledo@i}>0}%
+ {%
+ \LP@trackS%
+ \addtocounter{LP@whiledo@i}{-1}%
+ }%
+ \setcounter{LP@whiledo@i}{#2}%
+ \whiledo{\arabic{LP@whiledo@i}>0}%
+ {%
+ \LP@trackC%
+ \addtocounter{LP@whiledo@i}{-1}%
+ }%
+ \hspace{\LP@length}%
+ \setcounter{LP@whiledo@i}{#3}%
+ \whiledo{\arabic{LP@whiledo@i}>0}%
+ {%
+ \LP@trackCR%
+ \addtocounter{LP@whiledo@i}{-1}%
+ }%
+ }%
+}%
+%
+\newcommand*\trackV[1]%
+{%
+ \LP@set@LP@columns{\LP@env@prefix}%
+ \setcounter{LP@counti}{\LP@columns}%
+ \stepcounter{LP@counti}%
+ \setcounter{LP@countii}{1}%
+ \foreach \LP@c@straight/\LP@c@curve/\LP@c@cross in {#1}%
+ {%
+ \node[anchor=west] at (\arabic{LP@counti},\arabic{LP@countii}.5) {\LP@trackline{\LP@c@straight}{\LP@c@curve}{\LP@c@cross}};%
+ \stepcounter{LP@countii}%
+ };%
+}%
+%
+\newcommand*\trackH[1]%
+{%
+ \setcounter{LP@counti}{1}%
+ \setcounter{LP@countii}{1}%
+ \foreach \LP@c@straight/\LP@c@curve/\LP@c@cross in {#1}%
+ {%
+ \node[anchor=west,rotate=-90] at (\arabic{LP@counti}.5,\arabic{LP@countii}) {\LP@trackline{\LP@c@straight}{\LP@c@curve}{\LP@c@cross}};%
+ \stepcounter{LP@counti}%
+ };%
+}%
+%
+\newcommand*\track[1]%
+{%
+ \LP@set@LP@scale{\LP@env@prefix}%
+ \LP@set@LP@bgcolor{\LP@env@prefix}%
+ \ifthenelse{\equal{\LP@bgcolor}{}}%
+ {\gdef\LP@c@bg@track{white}}%
+ {\gdef\LP@c@bg@track{\LP@bgcolor}}%
+ \bgroup%
+ \def\LP@rel@tikzpath{.5}%
+ \begin{pgfonlayer}{LPbackgroundtwo}%
+ \pgfsetcornersarced{\pgfpoint{4.9mm*\LP@scale}{4.9mm*\LP@scale}}%
+ \draw[decorate,decoration={show path construction,%
+ lineto code={%
+ \draw [\LP@c@bg@track,line width=0.15cm*\LP@scale,double=LP@c@track,double distance=.3cm*\LP@scale]%
+ (\tikzinputsegmentfirst) -- (\tikzinputsegmentlast);},%
+ curveto code={%
+ \draw [LP@c@track,line width=0.3cm*\LP@scale] (\tikzinputsegmentfirst) .. controls%
+ (\tikzinputsegmentsupporta) and (\tikzinputsegmentsupportb)%
+ ..(\tikzinputsegmentlast);}}] #1;%
+ \end{pgfonlayer}%
+ \egroup%
+}%
+%
+\newcommand*\link[2][]%
+{%
+ \LP@set@LP@color{\LP@env@prefix}%
+ \bgroup%
+ \def\LP@rel@tikzpath{.5}%
+ \LP@Line[color=\LP@color,#1]{#2}%
+ \egroup%
+}%
+%
+\newcommand*\mlline[1]%
+{%
+ \draw[color=black, line width=\LP@thicklines] #1;%
+}%
+%
+\newcommand*\MasyuW%
+{%
+ \begin{tikzpicture}[scale=0.7*\LP@scale]%
+ \draw[color=black,fill=white] (0.5,0.5) circle (0.5cm);%
+ \end{tikzpicture}%
+}%
+%
+\newcommand*\MasyuB%
+{%
+ \begin{tikzpicture}[scale=0.7*\LP@scale]%
+ \fill[color=black] (0.5,0.5) circle (0.5cm);%
+ \end{tikzpicture}%
+}%
+%
+\newcommand*\masyuline[1]%
+{%
+ \LP@set@LP@color{\LP@env@prefix}%
+ \begin{puzzleforeground}%
+ \bgroup%
+ \def\LP@rel@tikzpath{.5}%
+ \draw[color=\LP@color, line width=\LP@thicklines] #1;%
+ \egroup%
+ \end{puzzleforeground}%
+}%
+%
+\newcommand*\PMH[1]%
+{%
+ \LP@set@LP@fontsize{\LP@env@prefix}%
+ \foreach \LP@fe@column/\LP@fe@row in {#1}%
+ {%
+ \setcounter{LP@counti}{\LP@fe@column}%
+ \setcounter{LP@countii}{\LP@fe@row}%
+ \draw[line width=\LP@thicklines,fill=white] (\arabic{LP@counti},\arabic{LP@countii}) rectangle ++(2,1);%
+ \node[font=\LP@fontsize\bfseries] at (\arabic{LP@counti}.5,\arabic{LP@countii}.5) {$+$};%
+ \stepcounter{LP@counti}
+ \node[font=\LP@fontsize\bfseries] at (\arabic{LP@counti}.5,\arabic{LP@countii}.5) {$-$};%
+ };%
+}%
+%
+\newcommand*\MPH[1]%
+{%
+ \LP@set@LP@fontsize{\LP@env@prefix}%
+ \foreach \LP@fe@column/\LP@fe@row in {#1}%
+ {%
+ \setcounter{LP@counti}{\LP@fe@column}%
+ \setcounter{LP@countii}{\LP@fe@row}%
+ \draw[line width=\LP@thicklines,fill=white] (\arabic{LP@counti},\arabic{LP@countii}) rectangle ++(2,1);%
+ \node[font=\LP@fontsize\bfseries] at (\arabic{LP@counti}.5,\arabic{LP@countii}.5) {$-$};%
+ \stepcounter{LP@counti}
+ \node[font=\LP@fontsize\bfseries] at (\arabic{LP@counti}.5,\arabic{LP@countii}.5) {$+$};%
+ };%
+}%
+%
+\newcommand*\PMV[1]%
+{%
+ \LP@set@LP@fontsize{\LP@env@prefix}%
+ \foreach \LP@fe@column/\LP@fe@row in {#1}%
+ {%
+ \setcounter{LP@counti}{\LP@fe@column}%
+ \setcounter{LP@countii}{\LP@fe@row}%
+ \draw[line width=\LP@thicklines,fill=white] (\arabic{LP@counti},\arabic{LP@countii}) rectangle ++(1,2);%
+ \node[font=\LP@fontsize\bfseries] at (\arabic{LP@counti}.5,\arabic{LP@countii}.5) {$+$};%
+ \stepcounter{LP@countii}
+ \node[font=\LP@fontsize\bfseries] at (\arabic{LP@counti}.5,\arabic{LP@countii}.5) {$-$};%
+ };%
+}%
+%
+\newcommand*\MPV[1]%
+{%
+ \LP@set@LP@fontsize{\LP@env@prefix}%
+ \foreach \LP@fe@column/\LP@fe@row in {#1}%
+ {%
+ \setcounter{LP@counti}{\LP@fe@column}%
+ \setcounter{LP@countii}{\LP@fe@row}%
+ \draw[line width=\LP@thicklines,fill=white] (\arabic{LP@counti},\arabic{LP@countii}) rectangle ++(1,2);%
+ \node[font=\LP@fontsize\bfseries] at (\arabic{LP@counti}.5,\arabic{LP@countii}.5) {$-$};%
+ \stepcounter{LP@countii}
+ \node[font=\LP@fontsize\bfseries] at (\arabic{LP@counti}.5,\arabic{LP@countii}.5) {$+$};%
+ };%
+}%
+%
+\newcommand*\magnetsH[1]%
+{%
+ \foreach \LP@fe@column/\LP@fe@row in {#1}%
+ {%
+ \draw[line width=\LP@thicklines,fill=white] (\LP@fe@column,\LP@fe@row) rectangle ++(2,1);%
+ };%
+}%
+%
+\newcommand*\magnetsV[1]%
+{%
+ \foreach \LP@fe@column/\LP@fe@row in {#1}%
+ {%
+ \draw[line width=\LP@thicklines,fill=white] (\LP@fe@column,\LP@fe@row) rectangle ++(1,2);%
+ };%
+}%
+%
% get package options with prefix
%
\newcommand*\LP@set@LP@scale[1]%
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tex/latex/logicpuzzle/lpenv.sty new/tex/latex/logicpuzzle/lpenv.sty
--- old/tex/latex/logicpuzzle/lpenv.sty 2013-05-19 00:14:40.000000000 +0200
+++ new/tex/latex/logicpuzzle/lpenv.sty 2013-06-29 02:16:40.000000000 +0200
@@ -20,7 +20,7 @@
%% This work consists of all files listed in manifest.txt.
%%
%
-\ProvidesPackage{lpenv}[2013/05/17 lpenv.sty v2.2 - Josef Kleber (C) 2013]%
+\ProvidesPackage{lpenv}[2013/06/06 lpenv.sty v2.4 - Josef Kleber (C) 2013]%
%
% battleship environment and options
%
@@ -440,6 +440,75 @@
\end{minipage}%
}%
%
+% fourwinds environment and options
+%
+\newcommand*\LP@FW@init@prefix{LP@FW}%
+\newcommand*\LP@FW@init@package{fourwinds}%
+%
+\LP@define@key{\LP@FW@init@prefix}{\LP@FW@init@package}{rows}{5}%
+\LP@define@key{\LP@FW@init@prefix}{\LP@FW@init@package}{columns}{5}%
+\LP@define@key{\LP@FW@init@prefix}{\LP@FW@init@package}{scale}{1}%
+\LP@define@key{\LP@FW@init@prefix}{\LP@FW@init@package}{counterstyle}{none}%
+\LP@define@key{\LP@FW@init@prefix}{\LP@FW@init@package}{bgcolor}{}%
+\LP@define@key{\LP@FW@init@prefix}{\LP@FW@init@package}{color}{blue}%
+\LP@define@key{\LP@FW@init@prefix}{\LP@FW@init@package}{width}{5.1cm}%
+\LP@define@key{\LP@FW@init@prefix}{\LP@FW@init@package}{cvoffset}{-23pt}%
+\LP@define@key{\LP@FW@init@prefix}{\LP@FW@init@package}{title}{}%
+\LP@define@key{\LP@FW@init@prefix}{\LP@FW@init@package}{titleindent}{0cm}%
+\LP@define@key{\LP@FW@init@prefix}{\LP@FW@init@package}{titlewidth}{5.1cm}%
+\LP@define@choicekey@fontsize{\LP@FW@init@prefix}{\LP@FW@init@package}{Large}%
+%
+\newcommand*\fourwindscell[4]%
+{%
+ \LP@set@LP@fontsize{\LP@env@prefix}%
+ \LP@set@LP@color{\LP@env@prefix}%
+ \LP@set@LP@bgcolor{\LP@env@prefix}%
+ \LP@set@LP@scale{\LP@env@prefix}%
+ \ifthenelse{\equal{\LP@bgcolor}{}}%
+ {\gdef\LP@c@bg@fw{white}}%
+ {\gdef\LP@c@bg@fw{\LP@bgcolor}}%
+ \foreach \LP@fw@dir/\LP@fw@length in {#4}%
+ {%
+ \begin{pgfonlayer}{LPbackgroundtwo}%
+ \def\LP@rel@tikzpath{.5}%
+ \draw[\LP@fw@linestyle,color=\LP@color,line width=.1cm*\LP@scale,shorten >=-3mm*\LP@scale]%
+ \xtikzpath{#1}{#2}{\LP@fw@dir/\LP@fw@length};%
+ \end{pgfonlayer}%
+ };%
+ \begin{puzzlebackground}%
+ \node[fill=\LP@c@bg@fw,font=\LP@fontsize] at (#1.5,#2.5) {#3};%
+ \end{puzzlebackground}%
+}%
+%
+\newcommand*\fourwindssetup[1]%
+{%
+ \setkeys{fourwinds.sty}{#1}%
+}%
+%
+\newenvironment{fourwinds}[1][]%
+{%
+ \setkeys{fourwinds}{#1}%
+ \LP@set@package{fourwinds}%
+ \LP@set@env@prefix{LP@FW}%
+ \setcounter{LP@rows}{\LP@FW@rows}%
+ \setcounter{LP@columns}{\LP@FW@columns}%
+ \stepcounter{LP@rows}%
+ \stepcounter{LP@columns}%
+ \begin{minipage}[t]{\LP@FW@width}%
+ \ifthenelse{\equal{\LP@FW@title}{}}%
+ {\par\enspace\par}% empty
+ {\enspace\par\noindent\hspace{\LP@FW@titleindent}\parbox{\LP@FW@titlewidth}{\strut\LP@titleformat\LP@FW@title}\vspace{3mm}\par}%
+ \begin{tikzpicture}[scale=\LP@FW@scale]%
+ \LP@drawbackground{1}{1}{\LP@FW@columns}{\LP@FW@rows}{\LP@FW@bgcolor}%
+ \LP@drawgrid{1}{1}{\LP@FW@columns}{\LP@FW@rows}{1cm}%
+}%
+{%
+ \end{tikzpicture}%
+ \LP@drawcounter{\LP@FW@counterstyle}%
+ \stepcounter{LP@puzzlecounter}%
+ \end{minipage}%
+}%
+%
% hakyuu environment and options
%
\newcommand*\LP@HY@init@prefix{LP@HY}%
@@ -812,6 +881,181 @@
\end{minipage}%
}%
%
+% magiclabyrinth environment and options
+%
+\newcommand*\LP@ML@init@prefix{LP@ML}%
+\newcommand*\LP@ML@init@package{magiclabyrinth}%
+%
+\LP@define@key{\LP@ML@init@prefix}{\LP@ML@init@package}{rows}{5}%
+\LP@define@key{\LP@ML@init@prefix}{\LP@ML@init@package}{columns}{5}%
+\LP@define@key{\LP@ML@init@prefix}{\LP@ML@init@package}{scale}{1}%
+\LP@define@key{\LP@ML@init@prefix}{\LP@ML@init@package}{counterstyle}{none}%
+\LP@define@key{\LP@ML@init@prefix}{\LP@ML@init@package}{bgcolor}{}%
+\LP@define@key{\LP@ML@init@prefix}{\LP@ML@init@package}{width}{5.1cm}%
+\LP@define@key{\LP@ML@init@prefix}{\LP@ML@init@package}{cvoffset}{-23pt}%
+\LP@define@key{\LP@ML@init@prefix}{\LP@ML@init@package}{title}{}%
+\LP@define@key{\LP@ML@init@prefix}{\LP@ML@init@package}{titleindent}{0cm}%
+\LP@define@key{\LP@ML@init@prefix}{\LP@ML@init@package}{titlewidth}{5.1cm}%
+\LP@define@choicekey@fontsize{\LP@ML@init@prefix}{\LP@ML@init@package}{Large}%
+%
+\let\magiclabyrinthcell\setcell%
+%
+\newcommand*\magiclabyrinthsetup[1]%
+{%
+ \setkeys{magiclabyrinth.sty}{#1}%
+}%
+%
+\newenvironment{magiclabyrinth}[1][]%
+{%
+ \setkeys{magiclabyrinth}{#1}%
+ \LP@set@package{magiclabyrinth}%
+ \LP@set@env@prefix{LP@ML}%
+ \setcounter{LP@rows}{\LP@ML@rows}%
+ \setcounter{LP@columns}{\LP@ML@columns}%
+ \stepcounter{LP@rows}%
+ \stepcounter{LP@columns}%
+ \begin{minipage}[t]{\LP@ML@width}%
+ \ifthenelse{\equal{\LP@ML@title}{}}%
+ {\par\enspace\par}% empty
+ {\enspace\par\noindent\hspace{\LP@ML@titleindent}\parbox{\LP@ML@titlewidth}{\strut\LP@titleformat\LP@ML@title}\vspace{3mm}\par}%
+ \begin{tikzpicture}[scale=\LP@ML@scale]%
+ \LP@drawbackground{1}{1}{\LP@ML@columns}{\LP@ML@rows}{\LP@ML@bgcolor}%
+ \LP@drawgrid{1}{1}{\LP@ML@columns}{\LP@ML@rows}{1cm}%
+}%
+{%
+ \end{tikzpicture}%
+ \LP@drawcounter{\LP@ML@counterstyle}%
+ \stepcounter{LP@puzzlecounter}%
+ \end{minipage}%
+}%
+%
+% magnets environment and options
+%
+\newcommand*\LP@MN@init@prefix{LP@MN}%
+\newcommand*\LP@MN@init@package{magnets}%
+%
+\LP@define@key{\LP@MN@init@prefix}{\LP@MN@init@package}{rows}{6}%
+\LP@define@key{\LP@MN@init@prefix}{\LP@MN@init@package}{columns}{6}%
+\LP@define@key{\LP@MN@init@prefix}{\LP@MN@init@package}{scale}{1}%
+\LP@define@key{\LP@MN@init@prefix}{\LP@MN@init@package}{counterstyle}{none}%
+\LP@define@key{\LP@MN@init@prefix}{\LP@MN@init@package}{bgcolor}{}%
+\LP@define@key{\LP@MN@init@prefix}{\LP@MN@init@package}{width}{8.1cm}%
+\LP@define@key{\LP@MN@init@prefix}{\LP@MN@init@package}{cvoffset}{-23pt}%
+\LP@define@key{\LP@MN@init@prefix}{\LP@MN@init@package}{title}{}%
+\LP@define@key{\LP@MN@init@prefix}{\LP@MN@init@package}{titleindent}{0cm}%
+\LP@define@key{\LP@MN@init@prefix}{\LP@MN@init@package}{titlewidth}{8.1cm}%
+\LP@define@choicekey@fontsize{\LP@MN@init@prefix}{\LP@MN@init@package}{Large}%
+%
+\let\magnetscell\setcell%
+%
+\let\minusH\LP@toprow%
+\let\minusV\LP@leftcolumn%
+%
+\newcommand*\plusV[1]%
+{%
+ \LP@set@LP@fontsize{\LP@env@prefix}%
+ \setcounter{LP@counti}{1}%
+ \foreach \LP@element in{#1}%
+ {%
+ \node at (-0.5,\arabic{LP@counti}\LP@Pfive){\LP@fontsize\LP@element};%
+ \stepcounter{LP@counti}%
+ };%
+}%
+%
+\newcommand*\plusH[1]%
+{%
+ \LP@set@LP@fontsize{\LP@env@prefix}%
+ \LP@set@LP@rows{\LP@env@prefix}%
+ \setcounter{LP@counti}{1}%
+ \setcounter{LP@countii}{\LP@rows}%
+ \addtocounter{LP@countii}{2}%
+ \foreach \LP@element in{#1}%
+ {%
+ \node at (\arabic{LP@counti}\LP@Pfive,\arabic{LP@countii}\LP@Pfive){\LP@fontsize\LP@element};%
+ \stepcounter{LP@counti}%
+ };%
+}%
+%
+\newcommand*\magnetssetup[1]%
+{%
+ \setkeys{magnets.sty}{#1}%
+}%
+%
+\newenvironment{magnets}[1][]%
+{%
+ \setkeys{magnets}{#1}%
+ \LP@set@package{magnets}%
+ \LP@set@env@prefix{LP@MN}%
+ \setcounter{LP@rows}{\LP@MN@rows}%
+ \setcounter{LP@columns}{\LP@MN@columns}%
+ \stepcounter{LP@rows}%
+ \stepcounter{LP@columns}%
+ \begin{minipage}[t]{\LP@MN@width}%
+ \ifthenelse{\equal{\LP@MN@title}{}}%
+ {\par\enspace\par}% empty
+ {\enspace\par\noindent\hspace{\LP@MN@titleindent}\parbox{\LP@MN@titlewidth}{\strut\LP@titleformat\LP@MN@title}\vspace{3mm}\par}%
+ \begin{tikzpicture}[scale=\LP@MN@scale]%
+ \LP@drawbackground{1}{1}{\LP@MN@columns}{\LP@MN@rows}{\LP@MN@bgcolor}%
+ \LP@drawgrid{1}{1}{\LP@MN@columns}{\LP@MN@rows}{1cm}%
+ \LP@magnetsgrid%
+ \framepuzzle%
+}%
+{%
+ \end{tikzpicture}%
+ \LP@drawcounter{\LP@MN@counterstyle}%
+ \stepcounter{LP@puzzlecounter}%
+ \end{minipage}%
+}%
+%
+% masyu environment and options
+%
+\newcommand*\LP@MY@init@prefix{LP@MY}%
+\newcommand*\LP@MY@init@package{masyu}%
+%
+\LP@define@key{\LP@MY@init@prefix}{\LP@MY@init@package}{rows}{5}%
+\LP@define@key{\LP@MY@init@prefix}{\LP@MY@init@package}{columns}{5}%
+\LP@define@key{\LP@MY@init@prefix}{\LP@MY@init@package}{scale}{1}%
+\LP@define@key{\LP@MY@init@prefix}{\LP@MY@init@package}{counterstyle}{none}%
+\LP@define@key{\LP@MY@init@prefix}{\LP@MY@init@package}{color}{green}%
+\LP@define@key{\LP@MY@init@prefix}{\LP@MY@init@package}{bgcolor}{}%
+\LP@define@key{\LP@MY@init@prefix}{\LP@MY@init@package}{width}{5.1cm}%
+\LP@define@key{\LP@MY@init@prefix}{\LP@MY@init@package}{cvoffset}{-23pt}%
+\LP@define@key{\LP@MY@init@prefix}{\LP@MY@init@package}{title}{}%
+\LP@define@key{\LP@MY@init@prefix}{\LP@MY@init@package}{titleindent}{0cm}%
+\LP@define@key{\LP@MY@init@prefix}{\LP@MY@init@package}{titlewidth}{5.1cm}%
+\LP@define@choicekey@fontsize{\LP@MY@init@prefix}{\LP@MY@init@package}{Large}%
+%
+\let\masyucell\setcell%
+%
+\newcommand*\masyusetup[1]%
+{%
+ \setkeys{masyu.sty}{#1}%
+}%
+%
+\newenvironment{masyu}[1][]%
+{%
+ \setkeys{masyu}{#1}%
+ \LP@set@package{masyu}%
+ \LP@set@env@prefix{LP@MY}%
+ \setcounter{LP@rows}{\LP@MY@rows}%
+ \setcounter{LP@columns}{\LP@MY@columns}%
+ \stepcounter{LP@rows}%
+ \stepcounter{LP@columns}%
+ \begin{minipage}[t]{\LP@MY@width}%
+ \ifthenelse{\equal{\LP@MY@title}{}}%
+ {\par\enspace\par}% empty
+ {\enspace\par\noindent\hspace{\LP@MY@titleindent}\parbox{\LP@MY@titlewidth}{\strut\LP@titleformat\LP@MY@title}\vspace{3mm}\par}%
+ \begin{tikzpicture}[scale=\LP@MY@scale]%
+ \LP@drawbackground{1}{1}{\LP@MY@columns}{\LP@MY@rows}{\LP@MY@bgcolor}%
+ \LP@drawgrid{1}{1}{\LP@MY@columns}{\LP@MY@rows}{1cm}%
+}%
+{%
+ \end{tikzpicture}%
+ \LP@drawcounter{\LP@MY@counterstyle}%
+ \stepcounter{LP@puzzlecounter}%
+ \end{minipage}%
+}%
+%
% minesweeper environment and options
%
\newcommand*\LP@MS@init@prefix{LP@MS}%
@@ -859,6 +1103,108 @@
\stepcounter{LP@puzzlecounter}%
\end{minipage}%
}%
+%
+% numberlink environment and options
+%
+\newcommand*\LP@NL@init@prefix{LP@NL}%
+\newcommand*\LP@NL@init@package{numberlink}%
+%
+\LP@define@key{\LP@NL@init@prefix}{\LP@NL@init@package}{rows}{5}%
+\LP@define@key{\LP@NL@init@prefix}{\LP@NL@init@package}{columns}{5}%
+\LP@define@key{\LP@NL@init@prefix}{\LP@NL@init@package}{scale}{1}%
+\LP@define@key{\LP@NL@init@prefix}{\LP@NL@init@package}{counterstyle}{none}%
+\LP@define@key{\LP@NL@init@prefix}{\LP@NL@init@package}{bgcolor}{}%
+\LP@define@key{\LP@NL@init@prefix}{\LP@NL@init@package}{color}{red}%
+\LP@define@key{\LP@NL@init@prefix}{\LP@NL@init@package}{width}{5.1cm}%
+\LP@define@key{\LP@NL@init@prefix}{\LP@NL@init@package}{cvoffset}{-23pt}%
+\LP@define@key{\LP@NL@init@prefix}{\LP@NL@init@package}{title}{}%
+\LP@define@key{\LP@NL@init@prefix}{\LP@NL@init@package}{titleindent}{0cm}%
+\LP@define@key{\LP@NL@init@prefix}{\LP@NL@init@package}{titlewidth}{5.1cm}%
+\LP@define@choicekey@fontsize{\LP@NL@init@prefix}{\LP@NL@init@package}{Large}%
+%
+\newcommand*\numberlinkcell[3]%
+{%
+ \fourwindscell{#1}{#2}{#3}{}%
+}%
+%
+%
+\newcommand*\numberlinksetup[1]%
+{%
+ \setkeys{numberlink.sty}{#1}%
+}%
+%
+\newenvironment{numberlink}[1][]%
+{%
+ \setkeys{numberlink}{#1}%
+ \LP@set@package{numberlink}%
+ \LP@set@env@prefix{LP@NL}%
+ \setcounter{LP@rows}{\LP@NL@rows}%
+ \setcounter{LP@columns}{\LP@NL@columns}%
+ \stepcounter{LP@rows}%
+ \stepcounter{LP@columns}%
+ \begin{minipage}[t]{\LP@NL@width}%
+ \ifthenelse{\equal{\LP@NL@title}{}}%
+ {\par\enspace\par}% empty
+ {\enspace\par\noindent\hspace{\LP@NL@titleindent}\parbox{\LP@NL@titlewidth}{\strut\LP@titleformat\LP@NL@title}\vspace{3mm}\par}%
+ \begin{tikzpicture}[scale=\LP@NL@scale]%
+ \LP@drawbackground{1}{1}{\LP@NL@columns}{\LP@NL@rows}{\LP@NL@bgcolor}%
+ \LP@drawgrid{1}{1}{\LP@NL@columns}{\LP@NL@rows}{1cm}%
+}%
+{%
+ \end{tikzpicture}%
+ \LP@drawcounter{\LP@NL@counterstyle}%
+ \stepcounter{LP@puzzlecounter}%
+ \end{minipage}%
+}%
+%
+% resuko environment and options
+%
+\newcommand*\LP@RSK@init@prefix{LP@RSK}%
+\newcommand*\LP@RSK@init@package{resuko}%
+%
+\LP@define@key{\LP@RSK@init@prefix}{\LP@RSK@init@package}{rows}{5}%
+\LP@define@key{\LP@RSK@init@prefix}{\LP@RSK@init@package}{columns}{5}%
+\LP@define@key{\LP@RSK@init@prefix}{\LP@RSK@init@package}{scale}{1}%
+\LP@define@key{\LP@RSK@init@prefix}{\LP@RSK@init@package}{counterstyle}{none}%
+\LP@define@key{\LP@RSK@init@prefix}{\LP@RSK@init@package}{bgcolor}{}%
+\LP@define@key{\LP@RSK@init@prefix}{\LP@RSK@init@package}{color}{blue}%
+\LP@define@key{\LP@RSK@init@prefix}{\LP@RSK@init@package}{width}{5.1cm}%
+\LP@define@key{\LP@RSK@init@prefix}{\LP@RSK@init@package}{cvoffset}{-23pt}%
+\LP@define@key{\LP@RSK@init@prefix}{\LP@RSK@init@package}{title}{}%
+\LP@define@key{\LP@RSK@init@prefix}{\LP@RSK@init@package}{titleindent}{0cm}%
+\LP@define@key{\LP@RSK@init@prefix}{\LP@RSK@init@package}{titlewidth}{5.1cm}%
+\LP@define@choicekey@fontsize{\LP@RSK@init@prefix}{\LP@RSK@init@package}{Large}%
+%
+\let\resukocell\setcell%
+%
+\newcommand*\resukosetup[1]%
+{%
+ \setkeys{resuko.sty}{#1}%
+}%
+%
+\newenvironment{resuko}[1][]%
+{%
+ \setkeys{resuko}{#1}%
+ \LP@set@package{resuko}%
+ \LP@set@env@prefix{LP@RSK}%
+ \setcounter{LP@rows}{\LP@RSK@rows}%
+ \setcounter{LP@columns}{\LP@RSK@columns}%
+ \stepcounter{LP@rows}%
+ \stepcounter{LP@columns}%
+ \begin{minipage}[t]{\LP@RSK@width}%
+ \ifthenelse{\equal{\LP@RSK@title}{}}%
+ {\par\enspace\par}% empty
+ {\enspace\par\noindent\hspace{\LP@RSK@titleindent}\parbox{\LP@RSK@titlewidth}{\strut\LP@titleformat\LP@RSK@title}\vspace{3mm}\par}%
+ \begin{tikzpicture}[scale=\LP@RSK@scale]%
+ \LP@drawbackground{1}{1}{\LP@RSK@columns}{\LP@RSK@rows}{\LP@RSK@bgcolor}%
+ \LP@drawgrid{1}{1}{\LP@RSK@columns}{\LP@RSK@rows}{1cm}%
+}%
+{%
+ \end{tikzpicture}%
+ \LP@drawcounter{\LP@RSK@counterstyle}%
+ \stepcounter{LP@puzzlecounter}%
+ \end{minipage}%
+}%
%
% schatzsuche environment and options
%
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tlpkg/tlpobj/logicpuzzle.tlpobj new/tlpkg/tlpobj/logicpuzzle.tlpobj
--- old/tlpkg/tlpobj/logicpuzzle.tlpobj 2013-05-20 03:43:29.000000000 +0200
+++ new/tlpkg/tlpobj/logicpuzzle.tlpobj 2013-06-29 03:22:16.000000000 +0200
@@ -1,6 +1,6 @@
name logicpuzzle
category Package
-revision 30558
+revision 31024
shortdesc Typeset (grid-based) logic puzzles.
relocated 1
longdesc The package allows the user to typeset various logic puzzles.
@@ -8,21 +8,25 @@
longdesc (aka Magiequadrat, Diagon, ...), - Battleship (aka Bimaru,
longdesc Marinespiel, Batalla Naval, ...), - Bokkusu (aka Kakurasu,
longdesc Feldersummenratsel, ...), - Bridges (akak Bruckenbau, Hashi,
-longdesc ...), - Chaos Sudoku, - Hakyuu (aka Seismic, Ripple Effect,
-longdesc ...), - Hitori, - Kakuro, - Kendoku (aka Mathdoku, Calcudoku,
-longdesc Basic, MiniPlu, Ken Ken, Square Wisdom, Sukendo, Caldoku, ...,
-longdesc - Killer Sudoku (aka Samunapure, Sum Number Place, Sumdoku,
+longdesc ...), - Chaos Sudoku, - Four Winds (aka Eminent Domain,
+longdesc Lichtstrahl, ...), - Hakyuu (aka Seismic, Ripple Effect, ...),
+longdesc - Hitori, - Kakuro, - Kendoku (aka Mathdoku, Calcudoku, Basic,
+longdesc MiniPlu, Ken Ken, Square Wisdom, Sukendo, Caldoku, ..., -
+longdesc Killer Sudoku (aka Samunapure, Sum Number Place, Sumdoku,
longdesc Gebietssummen, ...), - Laser Beam (aka Laserstrahl, ...), -
-longdesc Minesweeper (aka Minensuche, ...), - Schatzsuche, - Skyline
-longdesc (aka Skycrapers, Wolkenkratzer, Hochhauser, ...), including
-longdesc Skyline Sudoku and Skyline Sudoku (N*N) variants, - Slitherlink
-longdesc (aka Fences, Number Line, Dotty Dilemma, Sli-Lin, Takegaki,
-longdesc Great Wall of China, Loop the Loop, Rundweg, Gartenzaun, ...),
-longdesc - Star Battle (aka Sternenschlacht, ...), - Stars and Arrows
-longdesc (aka Sternenhimmel, ...), - Sudoku, - Sun and Moon (aka
-longdesc Sternenhaufen, Munraito, ...), - Tents and Trees (aka
+longdesc Magic Labyrinth (aka Magic Spiral, Magisches Labyrinth, ...), -
+longdesc Magnets (aka Magnetplatte, Magnetfeld, ...), - Masyu (aka
+longdesc Mashi, {White|Black} Pearls, ...), - Minesweeper (aka
+longdesc Minensuche, ...), - Number Link, - Resuko, - Schatzsuche, -
+longdesc Skyline (aka Skycrapers, Wolkenkratzer, Hochhauser, ...),
+longdesc including Skyline Sudoku and Skyline Sudoku (N*N) variants, -
+longdesc Slitherlink (aka Fences, Number Line, Dotty Dilemma, Sli-Lin,
+longdesc Takegaki, Great Wall of China, Loop the Loop, Rundweg,
+longdesc Gartenzaun, ...), - Star Battle (aka Sternenschlacht, ...), -
+longdesc Stars and Arrows (aka Sternenhimmel, ...), - Sudoku, - Sun and
+longdesc Moon (aka Sternenhaufen, Munraito, ...), - Tents and Trees (aka
longdesc Zeltlager, Zeltplatz, Camping, ...), and - Tunnel.
-runfiles size=36
+runfiles size=43
RELOC/scripts/logicpuzzle/createlpsudoku
RELOC/scripts/logicpuzzle/lpsmag
RELOC/scripts/logicpuzzle/simple.smc
@@ -41,6 +45,6 @@
RELOC/tex/latex/logicpuzzle/skyline.sty
RELOC/tex/latex/logicpuzzle/slitherlink.sty
catalogue-ctan /graphics/pgf/contrib/logicpuzzle
-catalogue-date 2013-05-18 17:41:16 +0200
+catalogue-date 2013-06-07 00:26:22 +0200
catalogue-license lppl1.3
-catalogue-version 2.2
+catalogue-version 2.4
++++++ lshort-czech.doc.tar.xz ++++++
++++++ lshort-english.doc.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/doc/latex/lshort-english/CHANGES new/doc/latex/lshort-english/CHANGES
--- old/doc/latex/lshort-english/CHANGES 2011-04-07 01:40:31.000000000 +0200
+++ new/doc/latex/lshort-english/CHANGES 2014-04-26 23:56:51.000000000 +0200
@@ -1,3 +1,17 @@
+5.03 2014.4.25
+--------------
+* fixed fixes in appendix
+
+5.02 2014.4.21
+--------------
+* better example for spaceing
+* fix spelling of Photoshop and AUCTeX
+* correctly spell greek technology
+* fix CTAN links
+* mention booktabs package
+* minor typos
+* improved logic in appendix on installation
+
5.01 2011.4.6
------------
* many minor wording fixes by Robert Funnell
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/doc/latex/lshort-english/README new/doc/latex/lshort-english/README
--- old/doc/latex/lshort-english/README 2007-07-16 18:14:40.000000000 +0200
+++ new/doc/latex/lshort-english/README 2014-04-22 23:15:31.000000000 +0200
@@ -21,12 +21,12 @@
or
vpp -dest=etzd96 lshort-book.ps
- b) Print the lshort2e.dvi file with a dvi-driver. (You need to
+ b) Print the lshort.dvi file with a dvi-driver. (You need to
have the AMS math fonts installed your system. If you don't,
your dvi-driver will complain.)
c) Rebuild the whole document from scratch by LaTeXing
- lshort2e.tex. (If you don't have the AMS classes installed, the
+ lshort.tex. (If you don't have the AMS classes installed, the
relevant parts of the document will be left out, but it
will format without problem. After latexing the document twice,
you should use makeindex to generate a new index file.
@@ -38,7 +38,7 @@
The preformatted versions of the document are set for double sided
printing on A4 paper. If you want a single sided version, you need to
replace "twoside" by "oneside" in the parameters list of the
- \documentclass command in lshort2e.tex. To produce a small booklet (A5)
+ \documentclass command in lshort.tex. To produce a small booklet (A5)
you can use the pre generated ps file of you can use your dvi-driver to
shrink the output and then use pstops to paste the resulting pages
together in the right order.
@@ -49,7 +49,7 @@
*) dvips -x800 -P?? -olshort.ps lshort.dvi
(?? is the name of the printer you want to print the booklet)
- *) psbook lshort2e.ps out.ps
+ *) psbook lshort.ps out.ps
*) pstops "4:0L(27.8cm,-1.5cm)+1L(27.8cm,13.3cm)" out.ps p1.ps
(p1.ps now contains the front pages)
Files old/doc/latex/lshort-english/lshort-5.01.src.tar.gz and new/doc/latex/lshort-english/lshort-5.01.src.tar.gz differ
Files old/doc/latex/lshort-english/lshort-5.03.src.tar.gz and new/doc/latex/lshort-english/lshort-5.03.src.tar.gz differ
Files old/doc/latex/lshort-english/lshort.pdf and new/doc/latex/lshort-english/lshort.pdf differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tlpkg/tlpobj/lshort-english.doc.tlpobj new/tlpkg/tlpobj/lshort-english.doc.tlpobj
--- old/tlpkg/tlpobj/lshort-english.doc.tlpobj 2011-04-07 04:19:05.000000000 +0200
+++ new/tlpkg/tlpobj/lshort-english.doc.tlpobj 2014-04-27 03:25:45.000000000 +0200
@@ -1,10 +1,10 @@
name lshort-english.doc
category Package
-revision 22002
+revision 33687
shortdesc doc files of lshort-english
relocated 1
-docfiles size=559
+docfiles size=465
RELOC/doc/latex/lshort-english/CHANGES
RELOC/doc/latex/lshort-english/README
- RELOC/doc/latex/lshort-english/lshort-5.01.src.tar.gz
+ RELOC/doc/latex/lshort-english/lshort-5.03.src.tar.gz
RELOC/doc/latex/lshort-english/lshort.pdf
++++++ lshort-persian.doc.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/doc/latex/lshort-persian/README new/doc/latex/lshort-persian/README
--- old/doc/latex/lshort-persian/README 2009-08-07 02:48:44.000000000 +0200
+++ new/doc/latex/lshort-persian/README 2013-07-28 23:51:45.000000000 +0200
@@ -1,4 +1,4 @@
- Persian Translation of "The not so Short Introduction to LaTeX, Ver 4.26"
+ Persian Translation of "The not so Short Introduction to LaTeX, Ver 5.01"
------------------------------------------------------------------------
by Mehdi Omidali
@@ -7,8 +7,11 @@
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
- This document has been prepared with xelatex. You need to have the following free fonts:
- XB Niloofar, XB Kayhan, Linux Libertine, Adobe Arabic, Scheherazade, IranNastaliq
+ This document has been prepared with xelatex. You need to change
+ fonts to available fonts on your system.
+
+ Changes July 2013
+ Updated to lshort version 5.01 compatible with the xepersian v12.8 and bidi v13.5.
Changes Aug. 4 2009
Hyperref links and PDF bookmarks are now working properly.
\ No newline at end of file
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/doc/latex/lshort-persian/appendix.tex new/doc/latex/lshort-persian/appendix.tex
--- old/doc/latex/lshort-persian/appendix.tex 2009-07-20 02:35:04.000000000 +0200
+++ new/doc/latex/lshort-persian/appendix.tex 2013-07-28 23:51:45.000000000 +0200
@@ -1,9 +1,9 @@
\appendix
-\chapter{Installing \LaTeX}
+\chapter{نصب لاتک}
\begin{intro}
-Knuth has published the source to \TeX{} back in a time when nobody knew
-about OpenSource and or Free Software. The License that comes with \TeX{}
-lets you do whatever you want with the source. But you can only call the
+Knuth published the source to \TeX{} back in a time when nobody knew
+about OpenSource and/or Free Software. The License that comes with \TeX{}
+lets you do whatever you want with the source, but you can only call the
result of your work \TeX{} if the program passes a set of tests Knuth has
also provided. This has lead to a situation where we have free \TeX{}
implementations for almost every Operating System under the Sun. In this chapter
@@ -13,20 +13,20 @@
\section{What to Install}
-For using LaTeX on any computer system, you need 3 essential pieces of
-software:
+For using LaTeX on any computer system, you need several programs.
\begin{enumerate}
-\item a text editor for editing your LaTeX source files.
-
-\item the \TeX{}/\LaTeX{} program for processing your \LaTeX{} source files
+\item The \TeX{}/\LaTeX{} program for processing your \LaTeX{} source files
into typeset PDF or DVI documents.
-\item a PDF/DVI viewer program for previewing and printing your
+\item A text editor for editing your LaTeX source files. Some products even let
+you start the latex program from within the editor.
+
+\item A PDF/DVI viewer program for previewing and printing your
documents.
-\item a program to handle PostScript files and images for inclusion into
+\item A program to handle \PSi{} files and images for inclusion into
your documents.
\end{enumerate}
@@ -37,27 +37,34 @@
\section{\TeX{} on Mac OS X}
-\subsection{Picking an Editor}
-
-Base your LaTeX environment on the \wi{TextMate} editor! TextMate is not
-only a highly customizable, general purpose text editor, it also provides
-excellent LaTeX support and integrates tightly with the PDFView previewer.
-This combination of tools, lets you use LaTeX in a convenient and Mac-like
-manner. You can download a free trial version from the Textmate website on
-\url{http://macromates.com/} and purchase a full version for 39 EUR. If you
-know an equivalent OpenSource tool for the Mac, please let us know.
-
\subsection{Get a \TeX{} Distribution}
+Just download \wi{MacTeX}. It is a
+pre-compiled LaTeX distribution for OS X. \wi{MacTeX} provides a full LaTeX
+installation plus a number of additional tools. Get MaxTeX from
+\url{http://www.tug.org/mactex/}.
+
If you are already using Macports or Fink for installing Unix software under
OS X, install LaTeX using these package managers. Macport users install
-LaTeX with \framebox{\texttt{port install tetex}},
-Fink users use the command \framebox{\texttt{fink install tetex}}.
+LaTeX with \framebox{\texttt{port install texlive}},
+Fink users use the command \framebox{\texttt{fink install texlive}}.
-If you are neither using Macports nor Fink, download \wi{MacTeX}, which is a
-precompiled LaTeX distribution for OS X. \wi{MacTeX} provides a full LaTeX
-installation plus a number of additional tools. Get MaxTeX from
-\url{http://www.tug.org/mactex/}.
+\subsection{Picking an Editor}
+
+The most popular open source editor for \LaTeX{} on the mac seems to be
+\TeX{}shop. Get a copy from \url{http://www.uoregon.edu/~koch/texshop}. It
+is also contained in the \wi{MacTeX} distribution.
+
+Another fine editor is Texmaker. Apart from being a useful editor it has the
+advantage of running on Windows, Mac and Unix/Linux equally well. Go to
+\url{http://www.xm1math.net/texmaker} for further Information. Note there is
+also a forked version of Texmaker called TexmakerX on
+\url{http://texmakerx.sourceforge.net/} it promises additional functionality.
+
+Recent \TeX Live distributions contain the \TeX{}works editor
+\url{http://texworks.org/} which is a multi-platform editor based on the \TeX{}Shop
+design. Since \TeX{}works uses the Qt toolkit, it is available on any platform
+supported by this toolkit (MacOS X, Windows, Linux.)
\subsection{Treat yourself to \wi{PDFView}}
@@ -73,31 +80,47 @@
\subsection{Getting \TeX{}}
-First, get a copy of the excellent \wi{MiKTeX} distribution from\\
+First, get a copy of the excellent MiK\TeX\index{MiKTeX@MiK\TeX} distribution from\\
\url{http://www.miktex.org/}. It contains all the basic programs and files
-required to compile \LaTeX{} documents. The coolest feature in my eyes is,
+required to compile \LaTeX{} documents. The coolest feature in my eyes, is
that MiKTeX will download missing \LaTeX{} packages on the fly and install them
-magically while compiling a document.
+magically while compiling a document. Alternatively you can also use
+the TeXlive distribution which exists for Windows, Unix and Mac OS to
+get your base setup going \url{http://www.tug.org/texlive/}.
\subsection{A \LaTeX{} editor}
\LaTeX{} is a programming language for text documents. \wi{TeXnicCenter}
uses many concepts from the programming-world to provide a nice and
efficient \LaTeX{} writing environment in Windows. Get your copy from\\
-\url{http://www.toolscenter.org}. TeXnicCenter integrates nicely with
-MiKTeX.
+\url{http://http://www.texniccenter.org/}. TeXnicCenter integrates nicely with
+MiKTeX. Version 2.0 of TeXnicCenter will support Unicode, the recent alpha version
+seems to be quite stable.
+
+Other excellent choice is the editor provided by the LEd project available
+on \url{http://www.latexeditor.org}.
-An another excellent choice is the editor provided by the LEd project available on
-\url{http://www.latexeditor.org}
+See the note on Texmaker in the Mac section above for a third choice.
+
+Recent \TeX Live distributions contain the \TeX{}works Editor
+\url{http://texworks.org/}. It supports Unicode and requires at least Windows XP.
+
+\subsection{Document Preview}
+
+You will most likely be using Yap for DVI preview as it gets installed with
+MikTeX. For PDF you may want to look at Sumatra
+PDF \url{http://blog.kowalczyk.info/software/sumatrapdf/}. I mention Sumatra PDF
+because it lets you jump from any position in the pdf document back into
+corresponding position in your source document.
\subsection{Working with graphics}
-Working with high quality graphics in \LaTeX{} means, that you have to use
-Postscript (eps) or PDF as your picture format. The program that helps you
+Working with high quality graphics in \LaTeX{} means that you have to use
+\EPSi{} (eps) or PDF as your picture format. The program that helps you
deal with this is called \wi{GhostScript}. You can get it, together with its
-own front-end \wi{GhostView} from \url{http://www.cs.wisc.edu/~ghost/}.
+own front-end \wi{GhostView}, from \url{http://www.cs.wisc.edu/~ghost/}.
-If you deal with bitmap graphics (photos and scanned material). You may want
+If you deal with bitmap graphics (photos and scanned material), you may want
to have a look at the open source photoshop alternative \wi{Gimp} available
from \url{http://gimp-win.sourceforge.net/}.
@@ -108,12 +131,18 @@
setup. Use your package manager to install the following packages:
\begin{itemize}
-\item tetex or texlive -- the base \TeX{}/\LaTeX{} setup.
+\item texlive -- the base \TeX{}/\LaTeX{} setup.
\item emacs (with auctex) -- a Linux editor that integrates tightly with \LaTeX{} through the add-on AucTeX package.
-\item ghostscript -- a PostScript preview program.
+\item ghostscript -- a \PSi{} preview program.
\item xpdf and acrobat -- a PDF preview program.
\item imagemagick -- a free program for converting bitmap images.
\item gimp -- a free photoshop look-a-like.
\item inkscape -- a free illustrator/corel draw look-a-like.
\end{itemize}
+If you are looking for a more windows like graphical editing environment,
+check out Texmaker or \TeX{}works. See the note in the Mac section above.
+
+Most Linux distros insist on splitting up their \TeX{} environments into a
+large number of optional packages, so if something is missing after your
+first install, go check again.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/doc/latex/lshort-persian/biblio.tex new/doc/latex/lshort-persian/biblio.tex
--- old/doc/latex/lshort-persian/biblio.tex 2009-07-20 02:35:04.000000000 +0200
+++ new/doc/latex/lshort-persian/biblio.tex 2013-07-28 23:51:45.000000000 +0200
@@ -3,19 +3,10 @@
% File: biblio.tex (lshort2e.tex)
% $Id: biblio.tex 172 2008-09-25 05:26:50Z oetiker $
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-{\makeatletter
-\def\@makeschapterhead#1{%
- \vspace*{50\p@}%
- {\parindent \z@ \raggedleft
- \normalfont
- \interlinepenalty\@M
- \Huge \bfseries #1\par\nobreak
- \vskip 40\p@
- }
-\makeatother }
-\begin{thebibliography}{99}
\addcontentsline{toc}{chapter}{\bibname}
-\Latin
+\setLTRbibitems
+\begin{thebibliography}{99}
+\resetlatinfont
\bibitem{manual} Leslie Lamport. \newblock \emph{{\LaTeX:} A Document
Preparation System}. \newblock Addison-Wesley, Reading,
Massachusetts, second edition, 1994, ISBN~0-201-52983-1.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/doc/latex/lshort-persian/custom.tex new/doc/latex/lshort-persian/custom.tex
--- old/doc/latex/lshort-persian/custom.tex 2009-08-07 02:48:44.000000000 +0200
+++ new/doc/latex/lshort-persian/custom.tex 2013-07-28 23:51:45.000000000 +0200
@@ -410,7 +410,7 @@
{\farsifontsayeh قلمهای بیشتری}
{\farsifontpook در نوشتار}
{\farsifontscheherazade استفاده کنید}
-\nastaliq{نوشتار شما زیباتر خواهد شد.}
+\nastaliq{نوشتار شما زیباتر و خواناتر خواهد شد.}
\end{quote}
\section{فاصلهگذاری}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/doc/latex/lshort-persian/graphic.tex new/doc/latex/lshort-persian/graphic.tex
--- old/doc/latex/lshort-persian/graphic.tex 2009-08-07 02:48:44.000000000 +0200
+++ new/doc/latex/lshort-persian/graphic.tex 2013-07-28 23:51:45.000000000 +0200
@@ -10,8 +10,7 @@
\section{مرور}
-محیط \ei{picture} امکان برنامهنویسی برای تولید شکل در لاتک را فراهم میکند. توضیح کامل را در
-\manual ببینید. از یک طرف، چندین محدودیت وجود دارد که از آن جمله محدودیت شیب خطها و شعاع دایرهها است. از طرف دیگر، محیط \ei{picture} از لاتک به همراه فرمان \ci{qbezier} همراه است، \lr{``\texttt{q}''} به معنای
+محیط \ei{picture} امکان برنامهنویسی برای تولید شکل در لاتک را فراهم میکند. توضیح کامل را در \manual ببینید. از یک طرف، چندین محدودیت وجود دارد که از آن جمله محدودیت شیب خطها و شعاع دایرهها است. از طرف دیگر، محیط \ei{picture} از لاتک به همراه فرمان \ci{qbezier} همراه است، \lr{``\texttt{q}''} به معنای
\lr{``quadratic''}\footnote{مترجم: به معنای خم درجه دوم است.}
است. بسیاری از خمها مانند دایره، بیضی، یا ترکیبی از این خمها را میتوان با تقریب خمهای درجهٔ دوم بزیه رسم کرد، هرچند که این کار نیازمند محاسبات ریاضی است. به علاوه، اگر یک زبان برنامهنویسی مانند جاوا برای تولید بلوکهای \ci{qbezier} مورد استفاده قرار گیرد، محیط \ei{picture} بسیار قدرتمند خواهد شد.
@@ -415,8 +414,7 @@
فرض کنید $P_1=(x_1,\,y_1),\,P_2=(x_2,\,y_2)$ نقاط انتهایی باشند، و $m_1,\,m_2$ به ترتیب شیبهای خمهای بزیه باشند. نقطهٔ کنترل کنندهٔ میانی
$S=(x,\,y)$ با رابطهٔ
-%Here we need to change equation numbers direction
-\makeatletter\def\tagform@#1{\maketag@@@{\if@RTL)\else(\fi\ignorespaces\beginR#1\endR\unskip\@@italiccorr\if@RTL(\else)\fi}}\makeatother
+
\begin{equation} \label{zwischenpunkt}
\left\{
\begin{array}{rcl}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/doc/latex/lshort-persian/lshort-base.tex new/doc/latex/lshort-persian/lshort-base.tex
--- old/doc/latex/lshort-persian/lshort-base.tex 2009-08-07 02:48:44.000000000 +0200
+++ new/doc/latex/lshort-persian/lshort-base.tex 2013-07-28 23:51:45.000000000 +0200
@@ -58,6 +58,7 @@
\DeclareMathOperator*{\nut}{Nut}
\begin{document}
+\SplitFootnoteRule
\frontmatter
\include{title}
%\include{contrib}
Files old/doc/latex/lshort-persian/lshort.pdf and new/doc/latex/lshort-persian/lshort.pdf differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/doc/latex/lshort-persian/lshort.sty new/doc/latex/lshort-persian/lshort.sty
--- old/doc/latex/lshort-persian/lshort.sty 2009-08-07 02:48:44.000000000 +0200
+++ new/doc/latex/lshort-persian/lshort.sty 2013-07-28 23:51:45.000000000 +0200
@@ -1,3 +1,5 @@
+% !TeX root= lshort.tex
+% !TEX TS-program=xelatex
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Contents: Special Commands for the LShort2e Introduction
% $Id: lshort.sty,v 1.2 2003/03/19 20:57:45 oetiker Exp $
@@ -9,7 +11,7 @@
%save pageref an label
\let\lsspageref\pageref
\ProvidesPackage{lshort}
-%\RequirePackage[english,frenchb,german]{babel}
+
\RequirePackage{mflogo}
\RequirePackage{verbatim}
%\RequirePackage{fancyhea}
@@ -28,18 +30,11 @@
%\RequirePackage{aeguill}
% some packages which draw a euro
\RequirePackage{textcomp}
-\RequirePackage{setspace}
+\RequirePackage[onehalfspacing]{setspace}
\RequirePackage{hyperref}
-%\NoHyper
+
\hypersetup{colorlinks=true,linkcolor=red,citecolor=green,filecolor=magneta,urlcolor=cyan}
-%\RequirePackage[para*,perpage]{ednotes}
-%%Lets have two layer of footnotes
-%\SetFootnoteHook{\@RTLfalse}%--> must appear immediately before \DeclareNewFootnote
-%\DeclareNewFootnote[para]{C}[fnsymbol]
-%\renewcommand{\extrafootnoterule}{}
-%\SelectFootnoteRule[0]{extra}
-%\let\Footnote=\footnoteC
-\newcommand{\Footnote}[1]{\LTRfootnote{#1}}
+
% need some magic here to keep the original definition of rightarrow
\newcommand{\org@Rightarrow}{}
@@ -193,8 +188,6 @@
{\\\hline\end{tabular}\par\nopagebreak\addvspace{3.2ex plus 0.8ex
minus 0.2ex}%
\vskip -\parskip\end{latin}}
-\let\originalemph\emph
-\renewcommand{\emph}[1]{\originalemph{\lr{#1}}}
%
% Type setting Code Fragments
%
@@ -288,8 +281,10 @@
%\ifx\pdfoutput\undefined % We're not running pdftex
%\ifodd\lsspageref{exa\theexacnt}\hspace*{0pt}\else\hspace*{-\outdent}\fi%
%\else
-%% HyPsd@pageref internal hyperref command v6.69c
- \ifodd\HyPsd@pageref{exa\theexacnt}\hspace*{0pt}\else\hspace*{-\outdent}\fi%
+%% HyPsd@pageref internal hyperref command v6.69c<<<<<<< HEAD
+% \if@twoside\ifodd\HyPsd@pageref{exa\theexacnt}\hspace*{-\outdent}\else\hspace*{0pt}\fi\fi
+ %=======
+ \ifodd\HyPsd@pageref{exa\theexacnt}\hspace*{-\outdent}\else\if@twoside\hspace*{0pt}\else\hspace*{-\outdent}\fi\fi%>>>>>>> 404cfb64c15599f79b0868b6d9ef8d43d8850358
%\fi
\fi
\makebox[\textwidth][l]{%
@@ -329,34 +324,33 @@
{\clearpage\if@twoside \ifodd\c@page\else
\hbox{}\thispagestyle{empty}\newpage\if@twocolumn\hbox{}\newpage\fi\fi\fi}
-\def\setLR{\@RTLfalse}
-\def\setRL{\@RTLtrue}
-\let\unsetRL=\setLR
+
\newcommand{\graphicscompanion}{\cite{graphicscompanion} }
\newcommand{\hobby}{\cite{metapost} }
\newcommand{\hoenig}{\cite{unbound} }
\newcommand{\graphicsinlatex}{\cite{ursoswald} }
-%\usepackage{bidi}
\usepackage{xepersian}
-\numberwithin{table}{chapter}
-\numberwithin{figure}{chapter}
-\numberwithin{equation}{chapter}
+
+\@ifundefined{Footnote}{\let\Footnote\LTRfootnote}{}
\newcommand{\romanindex}[1]{\index{\lr{#1}}}
-\newcommand\emp[1]{\lr{''}#1\lr{``}}
+\newcommand\emp[1]{«#1»}
\newcommand\femph[1]{{\it #1}}
+\let\originalemph\emph
+\renewcommand{\emph}[1]{\originalemph{\lr{#1}}}
+
% \DeclareMathOperator{\argh}{argh}
% \DeclareMathOperator*{\nut}{Nut}
-\onehalfspacing
+
%%%%%%%%%%%%%%%%%%%End of titlesec definitions%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\settextfont[Scale=1]{XB Niloofar}
+\settextfont[UprightFont={ALotus},BoldFont={ALotusBold},ItalicFont={ALotusItalic},Scale=1]{ALotus}
\setlatintextfont[Scale=1]{Linux Libertine}
-\defpersianfont\farsifontsayeh[Scale=1]{XB Kayhan Sayeh}
-\defpersianfont\farsifontpook[Scale=1]{XB Kayhan Pook}
-\defpersianfont\farsifontnavaar[Scale=1]{XB Kayhan Navaar}
-\defpersianfont\farsifontshafigh[Scale=1.1]{Adobe Arabic}
+\defpersianfont\farsifontsayeh[Scale=1.1]{ATitr}
+\defpersianfont\farsifontpook[Scale=1]{AKufiOutline}
+\defpersianfont\farsifontnavaar[Scale=1]{AHoma}
+\defpersianfont\farsifontshafigh[Scale=1]{AMitra}
\defpersianfont\farsifontscheherazade[Scale=1.1]{Scheherazade}
\defpersianfont\nastaliq[Scale=2]{IranNastaliq}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/doc/latex/lshort-persian/lshort.tex new/doc/latex/lshort-persian/lshort.tex
--- old/doc/latex/lshort-persian/lshort.tex 2009-07-20 02:35:04.000000000 +0200
+++ new/doc/latex/lshort-persian/lshort.tex 2013-07-28 23:51:45.000000000 +0200
@@ -1,3 +1,4 @@
+% !TEX TS-program=xelatex
\documentclass[11pt,a4paper,twoside]{book}
\usepackage{mylayout}
\input{lshort-base.tex}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/doc/latex/lshort-persian/lssym.tex new/doc/latex/lshort-persian/lssym.tex
--- old/doc/latex/lshort-persian/lssym.tex 2009-07-20 02:35:04.000000000 +0200
+++ new/doc/latex/lshort-persian/lssym.tex 2013-07-28 23:51:45.000000000 +0200
@@ -368,11 +368,7 @@
\end{symbols}
\end{table}
%
-%Now we return to xepersian adaption
-\makeatletter
-\def\tagform@#1{\maketag@@@{)\ignorespaces\@@text{#1}\unskip\@@italiccorr(}}
-\makeatother
-%
+
% Local Variables:
% TeX-master: "lshort"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/doc/latex/lshort-persian/math.tex new/doc/latex/lshort-persian/math.tex
--- old/doc/latex/lshort-persian/math.tex 2009-08-07 02:48:44.000000000 +0200
+++ new/doc/latex/lshort-persian/math.tex 2013-07-28 23:51:45.000000000 +0200
@@ -3,10 +3,8 @@
% $Id: math.tex 169 2008-09-24 07:32:13Z oetiker $
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\chapter{حروفچینی فرمولهای ریاضی}
-%We beed to switch to the original formula numbers
-\makeatletter
-\def\tagform@#1{\maketag@@@{\lr{(\ignorespaces\@@text{#1}\unskip\@@italiccorr)}}}
-\makeatother
+
+
%At the end of this chapter we will return to xepersian adaption
\begin{intro}
@@ -45,6 +43,7 @@
فرمولهای ریاضی {\femph درون}
متن \romanindex{equation} یک پاراگراف در میان دو نماد \texttt{\$} وارد میشوند:
+
\begin{example}
Add $a$ squared and $b$ squared
to get $c$ squared. Or, using
@@ -151,7 +150,6 @@
در صفحه
\pageref{sec:fontsz} را ببینید).
\end{enumerate}
-\makeatletter\def\text#1{\@@text{#1}}\makeatother%We need to remove some damage produces by farsixetex.tex
\begin{example}
$\forall x \in \mathbf{R}:
\qquad x^{2} \geq 0$
@@ -161,7 +159,7 @@
\text{for all }x\in\mathbf{R}$
\end{example}
-ریاضیدانها از نمادهای پیچیدهای استفاده میکنند: مناسب است که در اینجا از قلـــــم \wi{\lr{blackboard bold}} استفاده کنیم،
+ریاضیدانها از نمادهای پیچیدهای استفاده میکنند: مناسب است که در اینجا از قلم \wi{\lr{blackboard bold}} استفاده کنیم،
\romanindex{bold symbols} که با استفاده از \ci{mathbb} از بسته \pai{amssymb} بدست میآید.\footnote{\pai{amssymb} قسمتی از کلاف \lr{} نیست، اما ممکن است هنوز قسمتی از توزیع لاتک شما باشد. توزیع خود را بررسی کنید یا به \texttt{CTAN:/fonts/amsfonts/latex/} بروید و آن را دریافت کنید.}
\ifx\mathbb\undefined\else
آخرین مثال عبارت است از
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/doc/latex/lshort-persian/mylayout.sty new/doc/latex/lshort-persian/mylayout.sty
--- old/doc/latex/lshort-persian/mylayout.sty 2009-07-20 02:35:04.000000000 +0200
+++ new/doc/latex/lshort-persian/mylayout.sty 2013-07-28 23:51:45.000000000 +0200
@@ -1,3 +1,6 @@
+% !TeX root= lshort.tex
+% !TEX TS-program=xelatex
+
%%
%% This is file `mylayout.sty', generated
%% on <1995/7/3> with the docstrip utility (2.2i).
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/doc/latex/lshort-persian/overview.tex new/doc/latex/lshort-persian/overview.tex
--- old/doc/latex/lshort-persian/overview.tex 2009-07-20 02:35:04.000000000 +0200
+++ new/doc/latex/lshort-persian/overview.tex 2013-07-28 23:51:45.000000000 +0200
@@ -1,3 +1,6 @@
+% !TeX root= lshort.tex
+% !TEX TS-program=xelatex
+
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Contents: Who contributed to this Document
% $Id: overview.tex 169 2008-09-24 07:32:13Z oetiker $
@@ -76,7 +79,7 @@
\vspace{\stretch{1}}
\noindent
-اگر نظری برای اضافه یا کم کردن این مقدمه دارید، لطفاً مرا مطلع سازید. در این رابطه که چه قسمت از این مقدمه مناسب است و چه قسمت باید بیشتر توضیح داده شود، بسیار مایل هستم که دیدگاههای افراد تازهکار رابدانم.
+اگر نظری برای اضافه یا کم کردن این مقدمه دارید، لطفاً مرا آگاه سازید. در این رابطه که چه قسمت از این مقدمه مناسب است و چه قسمت باید بیشتر توضیح داده شود، بسیار مایل هستم که دیدگاههای افراد تازهکار رابدانم.
\bigskip
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/doc/latex/lshort-persian/spec.tex new/doc/latex/lshort-persian/spec.tex
--- old/doc/latex/lshort-persian/spec.tex 2009-07-20 02:35:04.000000000 +0200
+++ new/doc/latex/lshort-persian/spec.tex 2013-07-28 23:51:45.000000000 +0200
@@ -1,3 +1,6 @@
+% !TeX root= lshort.tex
+% !TEX TS-program=xelatex
+
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Contents: Specialities of the LaTeX system
% $Id: spec.tex 172 2008-09-25 05:26:50Z oetiker $
@@ -116,17 +119,7 @@
\emph{label} استفاده کنید، هر فقره به طور خودکار شمارهگذاری میشود. پارامتر بعد از \verb|\begin{thebibliography}| مشخص میکند که چه مقدار فضا باید برای برچسبها در نظر گرفته شود. در مثال زیر،
\verb|{99}| به لاتک میگوید که هیچکدام از شمارههای فقرهها گستردهتر از عدد \lr{99} نیست.
-{{\makeatletter
-\def\@makeschapterhead#1{%
- \vspace*{50\p@}%
- {\parindent \z@ \raggedright
- \normalfont
- \interlinepenalty\@M
- \Huge \bfseries #1\par\nobreak
- \vskip 40\p@
- }
-\makeatother }
-%\def\bibname{Bibliography}
+
%\enlargethispage{2cm}
\begin{example}
Partl~\cite{pa} has
@@ -172,7 +165,7 @@
\end{lscommand}
\noindent
مشخص میشود، که
-\emph{key}
+\emph{key}
فقرهٔ نمایه است. فرمان نمایه را در مکانی از متن وارد میکنید که میخواهید نمایه به آنجا ارجاع داشته باشد. جدول
\ref{index}
%\LRE{\hyperref[index]{2.5}}
@@ -590,7 +583,7 @@
هنگامی ظاهر میشود که یک شمارنده از نو مقداردهی شود، به عنوان مثال هنگام استفاده از فرمان \ci{mainmatter} که توسط طبقهٔ نوشتار کتاب تعریف میشود. این فرمان شمارندهٔ صفحه را قبل از اولین فصل کتاب برابر با ۱ میکند. ولی از آنجا که اولین صفحهٔ پیشگفتار نیز دارای شمارهٔ ۱ است، تمام اتصالها به صفحهٔ ۱ بهطور یکتا مشخص نمیشود، بنابراین توجه داشته باشید شمارندهٔ چندگانه بیتاثیر است.
اندازهگیر شمارندهها را میتوان با گزینهٔ \lr{\texttt{plainpages=false}} در گزینههای \lr{hyperref} قرار داد. متأسفانه این کار تنها در شمارهٔ صفحهها کمک میکند.
-حتی یک راه حل بنیادی میتواند استفاده از گزینهٔ \texttt{hypertexnames=false} است، اما این کار باعث میشود اتصالهای صفحات قابل استفاده نباشند.
+حتی یک راه حل بنیادی میتواند استفاده از گزینهٔ \texttt{hypertexnames = false} است، اما این کار باعث میشود اتصالهای صفحات قابل استفاده نباشند.
\subsection{مشکلات چوب الف}
متنی که در چوب الف نمایش داده میشود همواره آن چیزی نیست که انتظار آن را دارید. زیرا چوب الفها تنها متن هستند و حروف کمتری برای نمایش آنها نسبت به لاتک موجود است. \lr{Hyperref} این مشکل را میشناسد و پیغام اخطار مناسب میدهد:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/doc/latex/lshort-persian/things.tex new/doc/latex/lshort-persian/things.tex
--- old/doc/latex/lshort-persian/things.tex 2009-08-07 02:48:44.000000000 +0200
+++ new/doc/latex/lshort-persian/things.tex 2013-07-28 23:51:45.000000000 +0200
@@ -1,3 +1,5 @@
+% !TeX root= lshort.tex
+% !TEX TS-program=xelatex
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Contents: Things you need to know
% $Id: things.tex 172 2008-09-25 05:26:50Z oetiker $
@@ -317,9 +319,9 @@
\end{figure}
%\setRL
\section{یک دوره خط فرمان}
-شرط میبندم داری بالبال میزنی که مثال جمعوجور صفحه
+شرط میبندمتصمیم گرفتهاید مثال جمعوجور صفحه
\pageref{mini}
- را شخصاً انجام بدهی. چند راهنمایی: خود لاتک بدون هیچ رابط کاربر گرافیکی\Footnote{GUI}
+ را شخصاً انجام بدهید. چند راهنمایی: خود لاتک بدون هیچ رابط کاربر گرافیکی\Footnote{GUI}
یا کلیدهای تجملی ارائه میشود. لاتک فقط یک برنامه است که فایل ورودی را پردازش میکند. بعضی از توزیعهای لاتک دارای رابط کاربری هستند که با فشردن یک دکمه میتوانید فایل خود را پردازش کنید. در غیر این صورت باید در یک خط فرمان چند فرمان را تایپ کنید تا لاتک فایل ورودی را پردازش کند. پس اجازه دهید این کار را کمی توضیح دهیم. توجه: این توضیحات بر این فرض استوار است که شما لاتک را روی سیستم خود داشته باشید.\footnote{لاتک روی تمام سیستمهای لینوکس که کامل نصب شده باشند وجود دارد، و \ldots مردها با لینوکس کار میکنند، بنابراین (\lr{-};}
\begin{enumerate}
\item
@@ -349,9 +351,9 @@
\section{طرحبندی نوشتار}
-\subsection{طبقهٔ نوشتار}\label{sec:documentclass}
+\subsection{سبک نوشتار}\label{sec:documentclass}
-وقتی که لاتک یک فایل ورودی را پردازش میکند اولین اطلاعاتی را که باید بداند طبقهٔ نوشتار است. این موضوع با فرمان
+وقتی که لاتک یک فایل ورودی را پردازش میکند اولین اطلاعاتی را که باید بداند سبک نوشتار است. این موضوع با فرمان
\ci{documentclass}
مشخص میشود.
@@ -362,41 +364,41 @@
\noindent
در اینجا
\emph{class}
-طبقهٔ نوشتار را معرفی میکند. جدول
+سبک نوشتار را معرفی میکند. جدول
\ref{documentclasses}
%\LR{\hyperref[documentclasses]{1.2}}
-طبقههای نوشتاری را نشان میدهد که در این مقدمه شرح داده خواهند شد.
-توزیع لاتک طبقههای نوشتار دیگری مانند
+سبکهای نوشتاری را نشان میدهد که در این مقدمه شرح داده خواهند شد.
+توزیع لاتک سبکهای نوشتار دیگری مانند
\lr{letter} و \lr{slide}
را نیز شامل است. پارامترهای گزینه
(\emph{\wi{\lr{options}}})
-رفتار طبقهٔ نوشتار را کنترل میکنند.
-پارامترها توسط ویرگول از یکدیگر جدا میشوند. معمولترین گزینهها برای طبقههای نوشتار استاندارد در جدول
+رفتار سبک نوشتار را کنترل میکنند.
+پارامترها توسط ویرگول از یکدیگر جدا میشوند. معمولترین گزینهها برای سبکهای نوشتار استاندارد در جدول
\ref{options}
%\LR{\hyperref[options]{2.2}}
آورده شده است.
\begin{table}[!bp]
-\caption{طبقههای نوشتار} \label{documentclasses}
+\caption{سبکهای نوشتار} \label{documentclasses}
\begin{center}
\vspace{1em}
\begin{lined}{\textwidth}
\begin{tabular}{lp{.80\textwidth}}
\texttt{article}& برای مقالات مجلهها، ارائهها، گزارشهای کوتاه، اسناد برنامهها، دعوتنامه، \ldots
- \romanindex{article class}\index{طبقهٔ مقاله} \\
+ \romanindex{article class}\index{سبک مقاله} \\
\texttt{proc}&
-طبقهای برای گزارش پیشرفت برپایهٔ طبقهٔ
-\lr{article} \romanindex{proc class}\index{طبقهٔ پیشرفت} \\
+سبکی برای گزارش پیشرفت برپایهٔ سبک
+\lr{article} \romanindex{proc class}\index{سبک پیشرفت} \\
\texttt{minimal}& کوچکترین چیزی که میتوان قرار داد. تنها شامل یک صفحه و یک قلم است. عموماً به منظور غلطیابی به کار میرود.
- \romanindex{minimal class}\index{طبقهٔ کوچکترین}\\
+ \romanindex{minimal class}\index{سبک کمینه}\\
\texttt{report}& برای گزارشهای مفصلتر که شامل چند فصل هستند، کتاب، پایاننامه، \ldots
- \romanindex{report class}\index{طبقهٔ گزارش}\\
+ \romanindex{report class}\index{سبک گزارش}\\
\texttt{book}& برای کتابهای کامل
-\romanindex{book class}\index{طبقهٔ کتاب}\\
-\texttt{slides}&برای اسلاید. این طبقه از حروف بزرگ سانز سریف استفاده میکند. به جای آن ممکن است بخواهید از فویلتک استفاده کنید.
+\romanindex{book class}\index{سبک کتاب}\\
+\texttt{slides}&برای اسلاید. این سبک از حروف بزرگ سانز سریف استفاده میکند. به جای آن ممکن است بخواهید از فویلتک استفاده کنید.
\footnote{%
\lr{\CTANref|macros/latex/contrib/supported/foiltex|}}
- \romanindex{slides class}\romanindex{foiltex}\index{طبقهٔ اسلاید}\index{فویلتک}\\
+ \romanindex{slides class}\romanindex{foiltex}\index{سبک اسلاید}\index{فویلتک}\\
&\\
\end{tabular}
\end{lined}
@@ -405,7 +407,7 @@
\begin{table}[!bp]
-\caption{گزینههای طبقهٔ نوشتار} \label{options}
+\caption{گزینههای سبک نوشتار} \label{options}
\begin{center}
\vspace{1em}
\begin{lined}{\textwidth}
@@ -422,17 +424,17 @@
\\
\lr{\texttt{titlepage}, \texttt{notitlepage}}&مشخص میکند که آیا صفحهای جدید بعد از \wi{صفحهٔ عنوان} شروع شود یا نه.
-طبقهٔ \texttt{article} صفحهای جدید به صورت پیشفرض شروع نمیکند در حالی که طبقههای \texttt{report} و \texttt{book} این کار را انجام میدهند. \romanindex{title}\index{عنوان}
+سبک \texttt{article} صفحهای جدید به صورت پیشفرض شروع نمیکند در حالی که سبکهای \texttt{report} و \texttt{book} این کار را انجام میدهند. \romanindex{title}\index{عنوان}
\\
\lr{\texttt{onecolumn}, \texttt{twocolumn}}& لاتک را راهنمایی میکنند که نوشتار را در\wi{یک ستون}
یا در \wi{دو ستون} حروفچینی کند.\\
-\lr{\texttt{twoside, oneside}}& مشخص میکند که خروجی به صورت یکرو است یا دورو. به صورت پیشفرض طبقههای \texttt{article} و \texttt{report}
-\wi{یکرو}هستند و طبقهٔ \texttt{book} \wi{دورو}است. توجه کنید که این گزینه فقط به سبک نوشتار مربوط است. گزینه \texttt{twoside} به چاپگر فرمان چاپ دورو نمیدهد.\\
+\lr{\texttt{twoside, oneside}}& مشخص میکند که خروجی به صورت یکرو است یا دورو. به صورت پیشفرض سبکهای \texttt{article} و \texttt{report}
+\wi{یکرو}هستند و سبک \texttt{book} \wi{دورو}است. توجه کنید که این گزینه فقط به سبک نوشتار مربوط است. گزینه \texttt{twoside} به چاپگر فرمان چاپ دورو نمیدهد.\\
\texttt{landscape}& سبک نوشتار را به صورت افقی (\lr{landscape}) تبدیل میکند.
\\
\lr{\texttt{openright}, \texttt{openany}} &
-باعث میشود فصلها در صفحههای سمت راست یا در صفحه بعدی شروع شوند. این گزینه با طبقهٔ \texttt{article} کار نمیکند زیرا در این طبقه فصل وجود ندارد. طبقهٔ \texttt{report} به صورت پیشفرض فصلها را در صفحهٔ بعدی و طبقهٔ \texttt{book} آنها را در صفحات سمت راست شروع میکند.
+باعث میشود فصلها در صفحههای سمت راست یا در صفحه بعدی شروع شوند. این گزینه با سبک \texttt{article} کار نمیکند زیرا در این سبک فصل وجود ندارد. سبک \texttt{report} به صورت پیشفرض فصلها را در صفحهٔ بعدی و سبک \texttt{book} آنها را در صفحات سمت راست شروع میکند.
\\
&\\
\end{tabular}
@@ -577,7 +579,7 @@
\item[\eei{.ins}] فایل نصب کنندهٔ فایلهای موجود در فایل \textrm{.dtx}. اگر بستهای را از اینترنت دانلود کنید به طور نرمال شامل یک فایل \lr{.dtx} و یک فایل
\lr{.ins} است. فایل \lr{.ins} را توسط لاتک پردازش کنید تا فایل \lr{.dtx} را باز کنید.
-\item[\eei{.cls}] فایلهای کلاس که طبقهٔ نوشتار را مشخص میکنند. این فایلها را با فـــــــــرمــــــــــــــان \ci{documentclass} فراخوانی میکنیم.
+\item[\eei{.cls}] فایلهای کلاس که سبک نوشتار را مشخص میکنند. این فایلها را با فرمان \ci{documentclass} فراخوانی میکنیم.
\item[\eei{.fd}] فایلهای قلم که لاتک را از آنها آگاه میسازد.
\end{description}
وقتی که لاتک فایل را پردازش میکند فایلهای زیر را تولید میکند:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/doc/latex/lshort-persian/title.tex new/doc/latex/lshort-persian/title.tex
--- old/doc/latex/lshort-persian/title.tex 2009-07-20 02:35:04.000000000 +0200
+++ new/doc/latex/lshort-persian/title.tex 2013-07-28 23:51:45.000000000 +0200
@@ -9,7 +9,7 @@
%\addtolength{\textwidth}{-\centeroffset}
\thispagestyle{empty}
\vspace*{\stretch{1}}
-\noindent\hspace*{\centeroffset}\makebox[0pt][l]{\begin{minipage}{\textwidth}
+\noindent\hspace*{\centeroffset}\makebox[0pt][r]{\begin{minipage}{\textwidth}
\flushleft
{\nastaliq\Huge\bfseries مقدمهای نه چندان کوتاه بر \\
\lr{\LaTeXe}
@@ -20,12 +20,12 @@
\end{minipage}}
\vspace{\stretch{1}}
-\noindent\hspace*{\centeroffset}\makebox[0pt][l]{\begin{minipage}{\textwidth}
+\noindent\hspace*{\centeroffset}\makebox[0pt][r]{\begin{minipage}{\textwidth}
\flushleft
{\bfseries
\lr{by Tobias Oetiker\\[1.5ex]
\lr{Hubert Partl, Irene Hyna and Elisabeth Schlegl}\\[3ex]}}
-\lr{Version~4.26, September 25, 2008}\\
+\lr{Version~5.01, April 6, 2011}\\
\lr{\bfseries Translator: Mehdi Omidali}\\
{مترجم: مهدی امیدعلی}
\end{minipage}}
@@ -38,7 +38,7 @@
\thispagestyle{empty}
\begin{small}
\begin{latin}
- Copyright \copyright 1995-2005 Tobias Oetiker and Contributers. All rights reserved.
+ Copyright \copyright 1995-2011 Tobias Oetiker and Contributers. All rights reserved.
This document is free; you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by
@@ -57,7 +57,7 @@
\end{latin}
\medskip
-حق مؤلف ۱۹۹۵-۲۰۰۵ \lr{\copyright} توبیاس اوتیکر و دیگران. تمام حقوق محفوظ است.
+حق مؤلف ۱۹۹۵-۲۰۱۱ \lr{\copyright} توبیاس اوتیکر و دیگران. تمام حقوق محفوظ است.
این نوشتار آزاد است، تحت اجازهنامهٔ عمومی گنو (نسخهٔ ۲ یا نسخههای جدیدتر)، میتوانید آن را پخش و/یا تغییر دهید.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/doc/latex/lshort-persian/transpreface.tex new/doc/latex/lshort-persian/transpreface.tex
--- old/doc/latex/lshort-persian/transpreface.tex 2009-08-07 02:48:44.000000000 +0200
+++ new/doc/latex/lshort-persian/transpreface.tex 2013-07-28 23:51:45.000000000 +0200
@@ -1,5 +1,8 @@
+% !TeX root= lshort.tex
+% !TEX TS-program=xelatex
+
\chapter{پیشگفتار مترجم}
-امروزه اکثر مجلههای علمی و پژوهشی از نویسندگان خود انتظار دارند که مقالهٔ خود را با لاتک تهیه کنند. مشهور است که کسانی که اولین بار با لاتک متنی را آماده میکنند، در میانهٔ کار میگویند که دیگر از این نرمافزار استفاده نخواهند کرد؛ اما بعد از اتمام کار به خود میگویند دیگر به هیچ عنوان به سراغ نرمافزارهایی مانند \lr{word} نخواهند رفت. دلیل این کار واضح است؛ لاتک برای هر منظور، فرمانی دارد که باید این فرمانها را بدانید تا بتوانید به طور بهینه از آن استفاده کنید. اگر در ابتدا زمان کافی برای یادگیری این فرمانها صرف نکنید، در آینده چندین برابر این زمان را برای رفع مشکلات نوشتار خود باید صرف کنید. این کتاب به این امید ترجمه شده است که بتواند به شما در یادگیری فرمانهای لاتک کمک کند.
+امروزه بیشتر مجلههای علمی و پژوهشی از نویسندگان خود انتظار دارند مقالهٔ خود را با لاتک تهیه کنند. مشهور است که کسانی که اولین بار با لاتک متنی را آماده میکنند، در میانهٔ کار میگویند که دیگر از این نرمافزار استفاده نخواهند کرد؛ اما بعد از پایان کار به خود میگویند دیگر به هیچ عنوان به سراغ نرمافزارهایی مانند \lr{word} نخواهند رفت. دلیل این کار روشن است؛ لاتک برای هر منظور، فرمانی دارد که باید این فرمانها را بدانید تا بتوانید به طور بهینه از آن استفاده کنید. اگر در ابتدا زمان کافی برای یادگیری این فرمانها صرف نکنید، در آینده چندین برابر این زمان را برای رفع مشکلات نوشتار خود باید صرف کنید. این کتاب به این امید ترجمه شده است که بتواند به شما در یادگیری فرمانهای لاتک کمک کند.
به تازگی نرمافزار زیتک به بازار ارائه شده است که توانایی استفاده از قلمهای مختلف را فراهم کرده است. زیلاتک، که همان لاتک بر پایهٔ زیتک است، تمامی امکانات قوی لاتک را برای تهیهٔ هر نوع مستندی، از جمله مستندات فارسی، ارائه کرده است. به همین منظور بستهای با نام \lr{\XePersian} توسط آقای وفا خلیقی تهیه شده است که این ترجمه با استفاده از این بسته و به منظور بررسی سازگاری آن تهیه شده است. آقای وفا خلیقی دانشجوی دکتری ریاضی دانشگاه سیدنی هستند که واقعاً با تلاش غیرقابل توصیف کار تهیهٔ این بسته را به عهده گرفتند و بدون چشمداشتی این کار بزرگ را انجام دادند. وظیفهٔ خود میدانم که از طرف جامعهٔ علمی کشور از ایشان کمال تشکر را داشته باشم و با افتخار این ترجمهٔ ناچیز را به خود ایشان تقدیم کنم.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/doc/latex/lshort-persian/typeset.tex new/doc/latex/lshort-persian/typeset.tex
--- old/doc/latex/lshort-persian/typeset.tex 2009-07-20 02:35:04.000000000 +0200
+++ new/doc/latex/lshort-persian/typeset.tex 2013-07-28 23:51:45.000000000 +0200
@@ -1,3 +1,5 @@
+% !TeX root=lshort.tex
+% !TEX TS-program=xelatex
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Contents: Typesetting Part of LaTeX2e Introduction
% $Id: typeset.tex 169 2008-09-24 07:32:13Z oetiker $
@@ -7,25 +9,20 @@
بعد از مطالعهٔ فصل پیش، چیزهای ابتدایی را میدانید که لاتک با آنها سروکار دارد. در این فصل مطالب دیگری را خواهید آموخت که برای تولید نوشتههای واقعی مفید هستند.
\end{intro}
\section{ساختار متن و زبان}
- انتقال اطلاعات و ایدهها به خواننده مهمترین نکتهٔ نوشتن یک متن است. اگر مطالب به درستی ساختاربندی شده باشند خواننده به راحتی مطالب را میفهمد و این مطلب موقعی اتفاق میافتد که ساختار حروفچینی متن انعکاس دهنده ساختار محتوای متن باشد.
+ انتقال اطلاعات و ایدهها به خواننده مهمترین نکتهٔ نوشتن یک متن است. اگر نوشتار به درستی ساختاربندی شده باشند خواننده به راحتی مطالب را میفهمد و این مطلب موقعی اتفاق میافتد که ساختار حروفچینی متن انعکاس دهنده ساختار محتوای متن باشد.
تفاوت لاتک با دیگر سیستمهای حروفچینی در این است که تنها باید ساختار منطقی و زیبایی نوشتار را به لاتک معرفی کرد. آنگاه لاتک با استفاده از قوانینی که در متن و در فایلهای الصاقی ارائه شده است حروفچینی نوشتار را انجام میدهد.
-مهمرین واحد در لاتک
-(و در حروفچینی)
-پاراگراف
+مهمرین واحد در لاتک (و در حروفچینی) پاراگراف
\index{بیی@پاراگراف}\romanindex{paragraph} است. ما به آن \emp{واحد متن}
میگوییم زیرا پاراگراف قسمت بههم چسبیدهای است که یک ایده را بازگو میکند. در این بخش یاد میگیریم که چگونه خط را با فرمان \texttt{\bs\bs}،
و پاراگراف را با خالی گذاشتن یک خط بشکنیم. بنابراین اگر مطلب جدیدی قرار است که شروع شود باید پاراگراف جدید نیز شروع شود.
-اگر در مورد شکستن پاراگراف مطمئن نیستید، نوشتار را به عنوان حامل ایدهها درنظر بگیرید. اگر در نقطهای شکست پاراگراف دارید
-ولی ایدۀ قبلی هنوز ادامه دارد، شکست را باید از بین ببرید. اگر ایدۀ کاملاً جدیدی در یک خط وارد شده است، آنگاه باید یک شکست پاراگراف داشته باشید.
+اگر در مورد شکستن پاراگراف مطمئن نیستید، نوشتار را به عنوان حامل ایدهها درنظر بگیرید. اگر در نقطهای شکست پاراگراف دارید ولی ایدۀ قبلی هنوز ادامه دارد، شکست را باید از بین ببرید. اگر ایدۀ کاملاً جدیدی در یک خط وارد شده است، آنگاه باید یک شکست پاراگراف داشته باشید.
-بعضی از افراد به کلی اهمیت دانستن محل دقیق شکستن پاراگرافها را نمیدانند. خیلی از افراد حتی مفهوم شکستن یک پاراگراف را نمیدانند، یا، به خصوص در لاتک،
-پاراگرافهای جدید ایجاد میکنند بدون این که بدانند چنین کاری کردهاند. این اشتباه به خصوص اگر در متن فرمول وجود داشته باشد، بیشتر اتفاق میافتد.
-به مثالهای زیر توجه کنید و سعی کنید دریابید که چرا گاهی اوقات خط خالی
-(شکست پاراگراف)
+بعضی از افراد به کلی اهمیت دانستن محل دقیق شکستن پاراگرافها را نمیدانند. خیلی از افراد حتی مفهوم شکستن یک پاراگراف را نمیدانند، یا، به خصوص در لاتک، پاراگرافهای جدید ایجاد میکنند بدون این که بدانند چنین کاری کردهاند. این اشتباه به خصوص اگر در متن فرمول وجود داشته باشد، بیشتر اتفاق میافتد.
+به مثالهای زیر توجه کنید و سعی کنید دریابید که چرا گاهی اوقات خط خالی (شکست پاراگراف)
قبل یا بعد از یک فرمول قرار میگیرد و گاهی اوقات قرار نمیگیرد.
-(اگر هنوز تمامی فرمانهای این مثالها را متوجه نمیشوید، این فصل و فصل بعد را مطالعه کنید و دوباره این بخش را مرور کنید.)
+(اگر هنوز همهٔ فرمانهای این مثالها را متوجه نمیشوید، این فصل و فصل بعد را مطالعه کنید و دوباره این بخش را مرور کنید.)
\begin{code}
\begin{verbatim}
@@ -64,9 +61,7 @@
ساختار متن حتی به داخل جملات نیز رسوخ میکند. بسیاری از زبانها دارای آیین نگارش پیچیدهای هستند، اما در بسیاری از زبانها
(مثلاً آلمانی و انگلیسی\footnote{مترجم: و صد البته فارسی})،
ویرگول را میتوان با به خاطر سپردن یک اصل ساده در محل درست قرار دهید: در محلهایی که متن دارای توقف کوچک است.
-اگر مطمئن نیستید در کجا ویرگول قرار دهید، جمله را با صدای بلند بخوانید و در هر نقطهای که یک ویرگول دارید یک نفس کوتاه بگیرید. اگر از این کار احساس مطبوعی نداشتید آن ویرگول راحذف کنید؛ اگر در نقطهای احساس نیاز به یک نفس تازه
-(یا یک توقف کوتاه)
-داشتید، در آن نقطه یک ویرگول وارد کنید.
+اگر مطمئن نیستید در کجا ویرگول قرار دهید، جمله را با صدای بلند بخوانید و در هر نقطهای که یک ویرگول دارید یک نفس کوتاه بگیرید. اگر از این کار احساس خوبی نداشتید آن ویرگول را حذف کنید؛ اگر در نقطهای احساس نیاز به یک نفس تازه (یا یک توقف کوتاه) داشتید، در آن نقطه یک ویرگول وارد کنید.
دست آخر این که پاراگرافها را باید بهطور منطقی در فصلها، بخشها، زیربخشها، و غیره قرار دهید. با این وجود، تأثیر حروفچینی به صورت
\begin{code}
@@ -74,7 +69,7 @@
\end{code}
آنقدر واضح است که تقریباً مشخص میکند این ساختاربندی چگونه انجام میشود.
\section{شکستن خط و صفحه}
-\subsection{پاراگرافهای همشکل}
+\subsection{ترازش پاراگرافها}
کتابها معمولاً به این صورت حروفچینی میشوند که تمام خطها دارای طول یکسان هستند. لاتک خطها را به صورت مناسب میشکند \index{شکستن خط}
و فاصلهٔ مناسب بین کلمات را رعایت میکند تا محتوای پاراگرافها را بهینه کند. اگر لازم باشد حتی کلمات را در انتهای خطها میشکند.
اینکه پاراگرافها چگونه حروفچینی میشوند بستگی به طبقهٔ نوشتار دارد. به طور نرمال اولین خط یک پاراگراف دارای تورفتگی است،
@@ -173,19 +168,17 @@
\vspace{2ex}
\noindent
-{\let\today=\oldtoday
\begin{center}
\begin{tabular}{rlll@{}}
توضیح&مثال&فرمان\\
\hline
زمان جاری
- & \lr{\originaltoday} & \ci{today}\\
+ & \lr{\latintoday} & \ci{today}\\
حروفچین مورد علاقهٔ شما & \lr{\TeX} &\ci{TeX}\\
عنوان بازی & \lr{\LaTeX} &\ci{LaTeX}\\
شکل کنونی& \lr{\LaTeXe} &\ci{LaTeXe} \\
\end{tabular}
\end{center}
-}
\section{حروف و نمادهای ویژه}
\subsection{علامت نقل قول}
@@ -199,10 +192,10 @@
``Please press the `x' key.''
\end{example}
-میدانم که تعبیر مناسبی نیست که از \lr{\textasciigrave} برای شروع نقل قول و از \lr{\textquotesingle} برای اتمام آن استفاده کرد.
+میدانم که روش مناسبی نیست که از \lr{\textasciigrave} برای شروع نقل قول و از \lr{\textquotesingle} برای اتمام آن استفاده کرد.
\subsection{فاصلهٔ کلمات و شکستن}
-لاتک چهار نوع فاصلهٔ بین کلمات را میشناسد. \romanindex{dash} سه تا از این فاصلهها را میتوان با نوشتن چند دَش پشت سر هم تولید کرد. علامت چهارم دش نیست و در حقیقت همان علامت منهای ریاضی است: \romanindex{-}
+لاتک چهار نوع فاصلهٔ بین کلمات را میشناسد. \romanindex{dash} سه تا از این فاصلهها را میتوان با نوشتن چند دَش (خط تیره) پشت سر هم تولید کرد. علامت چهارم دش نیست و در حقیقت همان علامت منهای ریاضی است: \romanindex{-}
\romanindex{--} \romanindex{---} \lr{\index{-@$-$}} \index{\lr{mathematical}!\lr{minus}}
@@ -219,7 +212,7 @@
\lr{`$-$' \wi{\lr{minus sign}}}.
\subsection{\texorpdfstring{تیلدا ($\sim$)}{تیلدا}}
\romanindex{www}\romanindex{URL}\romanindex{tilde}
-کاراکتری که معمولاً در صفحات وب ظاهر میشود علامت تیلدا است. برای تولید این کاراکتر لاتک میتوانید از \verb|\~| کمک بگیرد ولی حاصل آن \~{}
+کاراکتری که معمولاً در صفحات وب ظاهر میشود علامت تیلدا است. برای تولید این کاراکتر در لاتک میتوانید از \verb|\~| کمک بگیرد ولی حاصل آن \~{}
است که دقیقاً آن چیزی نیست که میخواهید. به جای آن از روش زیر استفاده کنید:
@@ -227,7 +220,13 @@
http://www.rich.edu/\~{}bush \\
http://www.clever.edu/$\sim$demo
\end{example}
-
+
+\subsection{\texorpdfstring{اسلش (/)}{اسلش}}
+\index{اسلش}
+برای نمایش اسلش بین دو واژه، میتوان بهسادگی نوشت، برای نمونه
+\texttt{read/write}،
+ولی این کار باعث میشود لاتک هر دو واژه را چسبیده نمایش دهد. شکست واژهها برای این دو واژه ناپویا میشود و ممکن است خطای «سرریز» دریافت کنید. برای رفع این مشکل \ci{slash} را بکار ببرید. برای نمونه بنویسید `\LR{\verb|read\slash write|}' که شکست کلمهها را ممکن میکند. ولی `\texttt{/}' نرمال هنوز میتواند برای کسر و واحدها بکار رود، ب.ن.\ \texttt{5 MB/s}.
+
\subsection{\texorpdfstring{علامت درجه ($\circ$)}{علامت درجه}}
مثال زیر نشان میدهد چگونه میتوان \wi{علامت درجه}
\romanindex{degree symbol} را در لاتک نوشت:
@@ -386,6 +385,34 @@
\end{latin}
\end{table}
+
+
+\section{پشتیبانی زبانهای دیگر}
+\index{زبانهای دیگر}
+\subsection{گزینهٔ یونیکد}
+
+%\secby{Axel Kielhorn}{A.Kielhorn@web.de}
+اگر میخواهید نوشتاری از چندین زبان بنویسید، یونیکد راه آن است، به ویژه اگر این زبانها از خط لاتین استفاده نکنند. دو موتور تک هستند که توانایی پردازش ورودیهای یونیکد را دارند:
+
+\begin{description}
+\item[زیلاتک]
+برای سیستم مک گسترش یافت اما اکنون برای همهٔ سیستمها در دسترس است. نخستین بار در تکلایو ۲۰۰۷ ارائه شد.
+\item[لواتک] نسخهٔ آیندهٔ پیدیافتک است. نخستین بار در تکلایو ۲۰۰۸ ارائه شد.
+\end{description}
+
+نوشتهٔ زیر زیلاتک ارائه شده در تکلایو ۲۰۱۰ را توضیح میدهد.
+
+
+\subsubsection{زبانها راست به چپ}
+
+بستهٔ \pai{xepersian}\index{xepersia} از زبان پارسی پشتیبانی میکند. این بسته دستورهای فارسی لاتک را فراهم میکند که به این ترتیب میتوانید دستورهایی مانند \verb|\section| را به پارسی بکار ببرید، که این ویژگی برای پارسی زبانان جذاب است. \pai{xepersian} تنها بستهای است که از کشیدگی حرفها پشتیبانی میکند. بستهٔ همانندی برای زبان سریانی در حال گسترش است.
+
+قلم نستعلیق، که توسط شورای عالی اطلاع رسانی درست شده است، از تارنمای آنها دردسترس است
+
+\lr{\url{http://www.scict.ir/Portal/Home/Default.aspx}. }
+
+
+
\section{فاصله بین کلمات}
برای این که در خروجی، حاشیه سمت راست به صورت منظم ظاهر شود، لاتک فاصله مناسب بین کلمات ایجاد میکند تا خط را پر کنند.
همچنین لاتک فاصلهٔ بیشتری را در انتهای یک خط قرار میدهد، زیرا این کار باعث خوانایی بهتر متن میشود. لاتک فرض میکند انتهای
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tlpkg/tlpobj/lshort-persian.doc.tlpobj new/tlpkg/tlpobj/lshort-persian.doc.tlpobj
--- old/tlpkg/tlpobj/lshort-persian.doc.tlpobj 2010-06-10 18:35:06.000000000 +0200
+++ new/tlpkg/tlpobj/lshort-persian.doc.tlpobj 2013-07-29 03:19:22.000000000 +0200
@@ -1,9 +1,9 @@
name lshort-persian.doc
category Package
-revision 15878
+revision 31296
shortdesc doc files of lshort-persian
relocated 1
-docfiles size=376
+docfiles size=288
RELOC/doc/latex/lshort-persian/README
RELOC/doc/latex/lshort-persian/appendix.tex
RELOC/doc/latex/lshort-persian/biblio.tex
++++++ lshort-slovak.doc.tar.xz ++++++
++++++ ltxfileinfo.doc.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/texmf-dist/doc/support/ltxfileinfo/README new/texmf-dist/doc/support/ltxfileinfo/README
--- old/texmf-dist/doc/support/ltxfileinfo/README 2013-02-05 00:11:21.000000000 +0100
+++ new/texmf-dist/doc/support/ltxfileinfo/README 2014-04-24 22:56:00.000000000 +0200
@@ -1,26 +1,17 @@
-This is release 2.00 of the ltxfileinfo script
-License: GPL
+ script: ltxfileinfo - print version information for a LaTeX file
+ type: bash
+ author: Wybo Dekker
+ email: wybo@dekkerdocumenten.nl
+version: 2.01
+license: Released under the GNU General Public License
+--------------------------------------------------------------------------------
+ltxfileinfo displays version information for LaTeX files. If no path
+information is given, the file is searched using kpsewhich. As an extra,
+for developers, the script will (use the |--star| or |--color| options)
+check the valididity of the |\Provides...| statement in the files.
+The script uses code from Uwe Lück's |readprov.sty|.
-Short description:
-ltxfileinfo is a bash script; it prints information about a latex class,
-style and other files to standard output.
-The script is based on Uwe Lueck's readprov.sty, so it prints information
-only for files that contain a \ProvidesFile, \ProvidesClass or
-\ProvidesPackage statement.
-The script tries to correct errors in these \Provides... statements and it
-has options, useful for developers, to make errors in those statements visible.
+Changes with respect to version 2.00:
+- Documentation adapted to gendoc
+- Syntactically beautified
-Usage example:
-
-$ ltxfileinfo article.cls
-name: article.cls
-date: 2007/10/19
-vers: v1.4h
-info: Standard LaTeX document class
-loca: /usr/local/texlive/2009/texmf-dist/tex/latex/base/article.cls
-
-major changes of release 2.00 relative to 1.1
-- completely rewritten as a bash script, using code from readprov.sty
-- now also can evaluate xelatex oriented files
-- can now handle any LaTeX file containing a \Provides... statement
-- options for \Provides... statement validation
Files old/texmf-dist/doc/support/ltxfileinfo/ltxfileinfo.pdf and new/texmf-dist/doc/support/ltxfileinfo/ltxfileinfo.pdf differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tlpkg/tlpobj/ltxfileinfo.doc.tlpobj new/tlpkg/tlpobj/ltxfileinfo.doc.tlpobj
--- old/tlpkg/tlpobj/ltxfileinfo.doc.tlpobj 2013-03-12 04:38:14.000000000 +0100
+++ new/tlpkg/tlpobj/ltxfileinfo.doc.tlpobj 2014-04-26 03:25:32.000000000 +0200
@@ -1,7 +1,7 @@
name ltxfileinfo.doc
category Package
-revision 29349
+revision 33670
shortdesc doc files of ltxfileinfo
-docfiles size=14
+docfiles size=11
texmf-dist/doc/support/ltxfileinfo/README
texmf-dist/doc/support/ltxfileinfo/ltxfileinfo.pdf
++++++ ltxfileinfo.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/texmf-dist/scripts/ltxfileinfo/ltxfileinfo new/texmf-dist/scripts/ltxfileinfo/ltxfileinfo
--- old/texmf-dist/scripts/ltxfileinfo/ltxfileinfo 2013-03-12 01:01:41.000000000 +0100
+++ new/texmf-dist/scripts/ltxfileinfo/ltxfileinfo 2014-04-24 22:56:00.000000000 +0200
@@ -1,33 +1,34 @@
#!/bin/bash
-<<'LATEX'
-= ltxfileinfo - print version information for a LaTeX file
-
-== Synopsis
+version=2.01
+myname=$(basename $0)
- ltxfileinfo [options] filename
+<<'DOC'
+= ltxfileinfo - print version information for a LaTeX file
-== Options
+= Synopsis
+ltxfileinfo [options] filename
- Options:
- -h, --help print this help
- -d, --date print file's date only
- -v, --version print file's version only
- -i, --info print file's description text only
- -l, --location print file's full path only (same output as kpsewhich)
- -f, --flat output as 1 line with 4 tab-separated file, date, version and info fields
- -s, --star mark mal-formatted data with a star
- -c, --color mark mal-formatted data with red color (ANSI coloring)
+Options:
+-h,--help print this help and exit
+-H,--Help print full documentation via less and exit
+-V print this script's version and exit
+-d,--date print file's date only
+-v,--version print file's version only
+-i,--info print file's description text only
+-l,--location print file's full path only (same output as kpsewhich)
+-f,--flat output as 1 line with 4 tab-separated file, date, version and info fields
+-s,--star mark mal-formatted data with a star
+-c,--color mark mal-formatted data with red color (ANSI coloring)
-== Description
-\B{ltxfileinfo} displays version information for LaTeX files. If no path
+= Description
+ltxfileinfo displays version information for LaTeX files. If no path
information is given, the file is searched using kpsewhich. As an extra,
for developers, the script will (use the |--star| or |--color| options)
check the valididity of the |\Provides...| statement in the files.
The script uses code from Uwe Lück's |readprov.sty|.
Without an option, the output will be of the form:
-
$ ltxfileinfo ctable.sty
name: ctable.sty
date: 2012/08/23
@@ -36,7 +37,6 @@
loca: /usr/local/texlive/2012/../texmf-local/tex/latex/ctable/ctable.sty
Missing information is represented by |--|:
-
$ ltxfileinfo yhmath.sty
name: yhmath.sty
date: --
@@ -44,7 +44,7 @@
info: --
loca: /usr/local/texlive/2012/texmf-dist/tex/latex/yhmath/yhmath.sty
-\B{ltxfileinfo} tries to detect (and report) mal-formatted dates and versions;
+ltxfileinfo tries to detect (and report) mal-formatted dates and versions;
use the |--star| option to mark such fields with a star, of use the |--color|
option to color invalid fields red, if you work in a terminal with ANSI-coloring
capabilities.
@@ -62,7 +62,7 @@
We see here, that the |\ProvidesPackage| statement has an incorrect first
argument and has no version information.
-== Other output formats
+= Other output formats
With the |--date| option, only the file's date will be shown, unlabeled.
The |--version|, |--location|, |--info| options are treated analogously.
@@ -78,7 +78,7 @@
The date is starred, because its format is not yyyy/mm/dd (and the |--star|
option is given.)
-== Bugs
+= Bugs
On my system, I have a total of 8699 kpsewhich-detectable files that contain a |\Provides...| statement.
I ran them all through |ltxfileinfo| and made the following summary of detected errors:
@@ -113,35 +113,27 @@
99 had no version
52 had a mal-formatted version
468 had a \Provides... first argument different from the filename
-LATEX
-
-VERSION=2.00
-MYNAME=`basename $0`
-# print error message, remove temporary files, and exit
-function die {
- echo "$arg `mark error:` $*"
- exit 1
-}
-
-function help {
- cat <<-EOF
- This is ltxfileinfo version $VERSION
-
- ltxfileinfo [options] filename
-
- Options:
- -h, --help print this help
- -d, --date print file's date only
- -v, --version print file's version only
- -i, --info print file's description text only
- -l, --location print file's full path only (same output as kpsewhich)
- -f, --flat output as 1 line with 4 tab-separated file, date, version and info fields
- -s, --star mark improvements with respect to nicefilelist.sty with a star
- -c, --color mark improvements with respect to nicefilelist.sty with red color
- -D, --debug don't remove temporary files
- EOF
-}
+= Changes
+Changes with respect to version 2.00:
+- Documentation adapted to gendoc
+- Syntactically beautified
+
+= Author and copyright
+Author Wybo Dekker
+Email U{Wybo@dekkerdocumenten.nl}{wybo@dekkerdocumenten.nl}
+License Released under the U{www.gnu.org/copyleft/gpl.html}{GNU General Public License}
+DOC
+
+ die() { echo -e "$myname: $Err$@$Nor" 1>&2; exit 1; }
+ help() { sed -n '/^= Synopsis/,/^= /p' $0|sed '1s/.*/Usage:/;/^= /d'; exit; }
+helpall() { sed -n '/^<<.DOC.$/,/^DOC$/p' $0|sed -n '1d;$d;p'|less; exit; }
+version() { echo $version; exit; }
+install() { which instscript>&/dev/null && instscript -zp $myname; exit; }
+
+Nor='\e[0m' # reset color ]
+Err='\e[31;1m' # light red ]
+test ${BASH_VERSINFO[0]} -ge 4 || die "Need bash version >= 4 (you have $BASH_VERSION)"
# remove leading and trailing whitespace from a string
function trim {
@@ -159,7 +151,7 @@
# special treatment for .mbs and .bst files:
function dombsbst {
# look at the first \ProvidesFile only:
- out="File: "`grep '\\ProvidesFile{' $loca |head -1 |sed 's/^[ %]*\\\\ProvidesFile{//;s/}\[/ /;s/\]$//'`
+ out="File: "$(grep '\ProvidesFile{' $loca |head -1 |sed 's/^[ %]*\\ProvidesFile{//;s/}\[/ /;s/\]$//')
}
# unpack the fields
@@ -217,20 +209,20 @@
# display the results
function display {
# file should be equal to arg (the argument)
- test $file != $arg && file="$arg (`mark $file`)"
+ test $file != $arg && file="$arg ($(mark $file))"
# to be correct, date must be of the form yyyy/mm/dd
if [[ ! "$date" =~ ^[[:digit:]]{4}/[[:digit:]]{2}/[[:digit:]]{2}$ ]]; then
- date=`mark $date`
+ date=$(mark $date)
else
# also, the number must be valid:
if [ "$( date -d "$date" +%arg 2>&1 | grep invalid )" != "" ] ; then
- date=`mark $date`
+ date=$(mark $date)
fi
fi
# version should be 1.2 or 1.2.3, maybe prefixed with v and suffixed with zero or more lower case letters
- if [[ ! "$vers" =~ ^v?[[:digit:]]+.[[:digit:]]+(.[[:digit:]]+)?[[:lower:]]*$ ]]; then vers=`mark $vers`; fi
+ if [[ ! "$vers" =~ ^v?[[:digit:]]+.[[:digit:]]+(.[[:digit:]]+)?[[:lower:]]*$ ]]; then vers=$(mark $vers); fi
if [ ! "$key" ]; then
if [ $flat ]; then
@@ -249,22 +241,27 @@
fi
}
-if ! options=$(getopt -o hdvlifcsDI \
- -l help,date,version,location,info,flat,star,color,debug -- "$@"); then exit 1; fi
+if ! options=$(getopt\
+ -n $myname \
+ -o hHiVIdvlifcsD \
+ -l help,Help,date,version,location,info,flat,star,color,debug -- "$@"
+); then exit 1; fi
eval set -- "$options"
-
+debug=false
while [ $# -gt 0 ]; do
case $1 in
- -h|--help) help; exit 0;;
- -d|--date) key=date;;
- -v|--version) key=vers;;
- -i|--info) key=info;;
- -l|--location) key=loca;;
- -f|--flat) flat=1;;
- -s|--star) mark1=''; mark2='*';;
- -c|--color) mark1='[1;31m'; mark2='[0m';;
- -D|--debug) debug=1;;
- -I) instscript $MYNAME; exit 0;; # not for general use
+ (-h|--help) help;;
+ (-H|--Help) helpall;;
+ (-V) version;;
+ (-I) install;;
+ (-d|--date) key=date;;
+ (-v|--version) key=vers;;
+ (-i|--info) key=info;;
+ (-l|--location) key=loca;;
+ (-f|--flat) flat=1;;
+ (-s|--star) mark1=''; mark2='*';;
+ (-c|--color) mark1='[1;31m'; mark2='[0m';;
+ (-D|--debug) debug=true;;
(--) shift; break;;
(*) break;;
esac
@@ -272,28 +269,28 @@
done
arg=$1
-test "$arg" = "" && help
-loca=`kpsewhich "$arg"`
-test "$loca" = "" && die not found by kpsewhich
-prov=`grep '\\\\Provides' "$loca"`
-test "$prov" = "" && die no \\Provides...
-test "$prov" = "${prov/ProvidesExplPackage//}" || die 'Latex3 package (not handled yet)'
+case $arg in
+(*/*) loca=$arg
+ test -e $loca || die "$loca: file does not exist";;
+('') help;;
+(*) loca=$(kpsewhich $arg) || die "$arg: not found by kpsewhich"
+esac
+loca=$(kpsewhich "$arg")
+prov=$(grep '\\Provides' "$loca") || die "no \\Provides..."
+[[ $prov =~ ExplPackage ]] && die 'Latex3 package (not handled yet)'
# the file must contain a \ProvidesXXX statement, where XXX is Class, Package, or File:
-for i in Class Package File; do
- if [[ "$prov" =~ \\Provides$i[[:space:]]*\{ ]]; then found=1; break; fi
-done
-test $found || die Found no \\ProvidesClass/Package/File statement
+[[ $prov =~ \\Provides(Class|Package|File)[[:space:]]*\{ ]] ||
+ die "Found no \\ProvidesClass/Package/File statement"
# readprov.sty does not work on .mbs and .bst files: special treatment;
# \ProvideFile statements in them mostly refer to merlin.mbs, or other names
-if [[ $arg =~ \.mbs$ || $arg =~ \.bst$ ]]; then dombsbst; fi
+[[ $arg =~ \.(mbs|bst)$ ]] && dombsbst
-DIR=`mktemp -d`
-test $debug || trap "rm -rf $DIR" 0 1 2 15
-test $debug && echo $DIR
-cp "$loca" $DIR
-cd $DIR
+dir=$(mktemp -d)
+$debug && echo Running in $dir || trap "rm -rf $dir" 0 1 2 15
+cp "$loca" $dir
+cd $dir
# The following code is mostly from Uwe Lueck's readprov.sty:
echo '
@@ -330,7 +327,8 @@
pdflatex -interaction=batchmode ltxfileinfo.tex >& /dev/null
IFS= # do not remove any whitespace
-base=${arg%.*} # strip the extension
+base=${arg##*/} # strip the path
+base=${base%.*} # strip the extension
shopt -s nocasematch # MS people don't pay attention to case differences in file names...
while read line; do
if [[ "$line" =~ ^File:.$base ]]; then
@@ -346,10 +344,10 @@
# if the \Provides statement is not recognized, try to find out why, and die:
if [ "$out" = "" ]; then
- read -r provtype provarg <<<`sed -n '/\\Provides\(Class\|Package\|File\)\s*{[^}]*}/s/.*\(Class\|Package\|File\)\s*{\([^}]*\)}.*/\1 \2/p' "$loca"`
+ read -r provtype provarg <<<$(sed -n '/\Provides\(Class\|Package\|File\)\s*{[^}]*}/s/.*\(Class\|Package\|File\)\s*{\([^}]*\)}.*/\1 \2/p' "$loca")
if [[ "$provarg" = "" || "$provarg" =~ '\\' ]]; then die Unidentified problem with \\ProvidesPackage statement; fi
case $provtype in
- Package)
+ (Package)
if [[ ! "$arg" =~ \.(sty|dtx)$ ]]; then
die \\ProvidesPackage used in file without a .sty extension
elif [[ "$provarg" =~ \.sty$ ]]; then
@@ -360,7 +358,7 @@
die Unidentified problem with \\ProvidesPackage statement
fi
;;
- Class)
+ (Class)
if [[ ! "$arg" =~ \.(cls|dtx)$ ]]; then
die \\ProvidesClass used in file without a .cls extension
elif [[ "$provarg" =~ \.cls$ ]]; then
@@ -371,14 +369,14 @@
die Unidentified problem with \\ProvidesPackage statement
fi
;;
- File)
+ (File)
if [ "$arg" != "$provarg" ]; then
die "Argument of \\ProvidesFile ($provarg) not equal to file's name ($arg)"
else
die Unidentified problem with \\ProvidesPackage statement
fi
;;
- *)
+ (*)
die Found \\Provides$provarg statement - cannot handle it
;;
esac
@@ -390,7 +388,7 @@
# template for README file:
<<'README'
-This is release %VERSION% of the ltxfileinfo script
+This is release %version% of the ltxfileinfo script
License: GPL
Short description:
@@ -411,7 +409,7 @@
info: Standard LaTeX document class
loca: /usr/local/texlive/2009/texmf-dist/tex/latex/base/article.cls
-major changes of release %VERSION% relative to 1.1
+major changes of release %version% relative to 1.1
- completely rewritten as a bash script, using code from readprov.sty
- now also can evaluate xelatex oriented files
- can now handle any LaTeX file containing a \Provides... statement
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tlpkg/tlpobj/ltxfileinfo.tlpobj new/tlpkg/tlpobj/ltxfileinfo.tlpobj
--- old/tlpkg/tlpobj/ltxfileinfo.tlpobj 2013-03-12 04:38:14.000000000 +0100
+++ new/tlpkg/tlpobj/ltxfileinfo.tlpobj 2014-04-26 03:25:32.000000000 +0200
@@ -1,6 +1,6 @@
name ltxfileinfo
category Package
-revision 29349
+revision 33670
shortdesc Print version info for latex class or style file.
longdesc The bash script ltxfileinfo prints information about a LaTeX
longdesc class, style and other files to standard output. The script is
@@ -13,6 +13,6 @@
runfiles size=4
texmf-dist/scripts/ltxfileinfo/ltxfileinfo
catalogue-ctan /support/ltxfileinfo
-catalogue-date 2013-02-05 06:50:41 +0100
+catalogue-date 2014-04-24 15:36:27 +0200
catalogue-license gpl
-catalogue-version 2.00
+catalogue-version 2.01
++++++ luabibentry.doc.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/doc/lualatex/luabibentry/News new/doc/lualatex/luabibentry/News
--- old/doc/lualatex/luabibentry/News 2011-08-07 01:40:52.000000000 +0200
+++ new/doc/lualatex/luabibentry/News 2013-09-27 23:38:55.000000000 +0200
@@ -1,2 +1,6 @@
-2011/06/27
- * Initial version
+2012/02/02 - v0.1a
+ * luabibentry.lua is now found in the lua search path.
+ * Replaced dofile by require as suggested by Ulrike Fischer.
+
+2011/06/27 - v0.1
+ * Initial version
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/doc/lualatex/luabibentry/README new/doc/lualatex/luabibentry/README
--- old/doc/lualatex/luabibentry/README 2011-08-07 01:40:52.000000000 +0200
+++ new/doc/lualatex/luabibentry/README 2013-09-27 23:38:55.000000000 +0200
@@ -1,11 +1,11 @@
-LuaLaTeX package luaindex v0.1, 2001-06-27.
-Copyright (c) Oliver Kopp, 2011
+LuaLaTeX package luabibentry v0.1a, 2012-02-02.
+Copyright (c) Oliver Kopp, 2012
Summary
-------
-luabibentry is a reimplementation of bibentry.sty by Patrick W.\ Daly. It
-provides the command \bibentry{<BibTeXKey>} to print the bibliographic entry in
-the main document.
+luabibentry is a reimplementation of bibentry.sty by Patrick W. Daly.
+It provides the command \bibentry{<BibTeXKey>} to print the
+bibliographic entry in the main document.
Generating the package
Files old/doc/lualatex/luabibentry/luabibentry.pdf and new/doc/lualatex/luabibentry/luabibentry.pdf differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tlpkg/tlpobj/luabibentry.doc.tlpobj new/tlpkg/tlpobj/luabibentry.doc.tlpobj
--- old/tlpkg/tlpobj/luabibentry.doc.tlpobj 2011-08-07 04:15:16.000000000 +0200
+++ new/tlpkg/tlpobj/luabibentry.doc.tlpobj 2013-09-28 03:21:07.000000000 +0200
@@ -1,6 +1,6 @@
name luabibentry.doc
category Package
-revision 23435
+revision 31783
shortdesc doc files of luabibentry
relocated 1
docfiles size=41
++++++ luabibentry.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tex/lualatex/luabibentry/luabibentry.lua new/tex/lualatex/luabibentry/luabibentry.lua
--- old/tex/lualatex/luabibentry/luabibentry.lua 2011-08-07 01:40:52.000000000 +0200
+++ new/tex/lualatex/luabibentry/luabibentry.lua 2013-09-27 23:38:55.000000000 +0200
@@ -6,7 +6,7 @@
---
--- luabibentry.dtx (with options: `lua')
---
---- Copyright (c) 2011 by Oliver Kopp
+--- Copyright (c) 2012 by Oliver Kopp
---
--- This file was generated from file(s) of luabibentry distribution.
--- -----------------------------------------------------------------
@@ -29,8 +29,8 @@
if (luatexbase and (luatexbase.provides_module)) then
luatexbase.provides_module({
name = "luabibentry",
- date = "2011/06/27",
- version = "0.1",
+ date = "2012/02/02",
+ version = "0.1a",
description = "LuaLaTeX Package to Place Bibliography Entries in Text",
author = "Oliver Kopp",
licence = "LPPL v1.3c or later"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tex/lualatex/luabibentry/luabibentry.sty new/tex/lualatex/luabibentry/luabibentry.sty
--- old/tex/lualatex/luabibentry/luabibentry.sty 2011-08-07 01:40:52.000000000 +0200
+++ new/tex/lualatex/luabibentry/luabibentry.sty 2013-09-27 23:38:55.000000000 +0200
@@ -8,7 +8,7 @@
%%
%%
%%
-%% Copyright (c) 2011 by Oliver Kopp
+%% Copyright (c) 2012 by Oliver Kopp
%%
%% This file was generated from file(s) of luabibentry distribution.
%% -----------------------------------------------------------------
@@ -38,7 +38,7 @@
%%
\NeedsTeXFormat{LaTeX2e}[1995/06/01]
\ProvidesPackage{luabibentry}
-[2011/06/27 v0.1 LuaLaTeX Package to place bibliography entries in text]
+[2012/02/02 v0.1a LuaLaTeX Package to place bibliography entries in text]
\RequirePackage{ifluatex}
\ifluatex\else
@@ -48,7 +48,7 @@
See documentation of `luabibentry' for further information.}%
\expandafter\expandafter\expandafter\csname endinput\endcsname
\fi
-\directlua{dofile("luabibentry.lua")}
+\directlua{require("luabibentry.lua")}
\newcommand{\setupbibentry}[1]{\directlua{luabibentry.builddata{"#1.bbl"}}}
\newcommand{\bibentry}[1]{\nocite{#1}\directlua{luabibentry.bibentry{"#1"}}}
\endinput
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tlpkg/tlpobj/luabibentry.tlpobj new/tlpkg/tlpobj/luabibentry.tlpobj
--- old/tlpkg/tlpobj/luabibentry.tlpobj 2011-08-07 04:15:16.000000000 +0200
+++ new/tlpkg/tlpobj/luabibentry.tlpobj 2013-09-28 03:21:07.000000000 +0200
@@ -1,6 +1,6 @@
name luabibentry
category Package
-revision 23435
+revision 31783
shortdesc Repeat BibTeX entries in a LuaLaTeX document body.
relocated 1
longdesc The package reimplements bibentry, for use in LuaLaTeX.
@@ -8,6 +8,6 @@
RELOC/tex/lualatex/luabibentry/luabibentry.lua
RELOC/tex/lualatex/luabibentry/luabibentry.sty
catalogue-ctan /macros/luatex/latex/luabibentry
-catalogue-date 2011-06-30 18:17:02 +0200
+catalogue-date 2013-09-27 07:27:17 +0200
catalogue-license lppl1.3
-catalogue-version 0.1
+catalogue-version 0.1a
++++++ luaintro.doc.tar.xz ++++++
++++ 1950 lines of diff (skipped)
++++++ lualatex-math.doc.tar.xz ++++++
Files old/doc/lualatex/lualatex-math/lualatex-math-de.pdf and new/doc/lualatex/lualatex-math/lualatex-math-de.pdf differ
Files old/doc/lualatex/lualatex-math/lualatex-math.pdf and new/doc/lualatex/lualatex-math/lualatex-math.pdf differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tlpkg/tlpobj/lualatex-math.doc.tlpobj new/tlpkg/tlpobj/lualatex-math.doc.tlpobj
--- old/tlpkg/tlpobj/lualatex-math.doc.tlpobj 2013-03-12 04:38:16.000000000 +0100
+++ new/tlpkg/tlpobj/lualatex-math.doc.tlpobj 2013-08-09 03:20:47.000000000 +0200
@@ -1,6 +1,6 @@
name lualatex-math.doc
category Package
-revision 29346
+revision 31389
shortdesc doc files of lualatex-math
relocated 1
docfiles size=87
++++++ lualatex-math.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tex/lualatex/lualatex-math/lualatex-math.lua new/tex/lualatex/lualatex-math/lualatex-math.lua
--- old/tex/lualatex/lualatex-math/lualatex-math.lua 2012-08-25 01:39:25.000000000 +0200
+++ new/tex/lualatex/lualatex-math/lualatex-math.lua 2013-08-09 01:28:29.000000000 +0200
@@ -8,7 +8,7 @@
--
-- This is a generated file.
--
--- Copyright 2011, 2012 Philipp Stephani
+-- Copyright 2011, 2012, 2013 Philipp Stephani
--
-- This file may be distributed and/or modified under the
-- conditions of the LaTeX Project Public License, either
@@ -22,28 +22,28 @@
--
require("luatexbase.modutils")
require("luatexbase.cctb")
+lualatex = lualatex or {}
+lualatex.math = lualatex.math or {}
local err, warn, info, log = luatexbase.provides_module({
name = "lualatex-math",
- date = "2011/05/05",
- version = 0.1,
+ date = "2013/08/03",
+ version = 1.3,
description = "Patches for mathematics typesetting with LuaLaTeX",
author = "Philipp Stephani",
licence = "LPPL v1.3+"
})
-local unpack = unpack
-local string = string
-local tex = tex
+local unpack = unpack or table.unpack
local cctb = luatexbase.catcodetables
-module("lualatex.math")
-function print_fam_slot(char)
+function lualatex.math.print_fam_slot(char)
local code = tex.getmathcode(char)
local class, family, slot = unpack(code)
local result = string.format("%i %i ", family, slot)
tex.sprint(cctb.string, result)
end
-function print_class_fam_slot(char)
+function lualatex.math.print_class_fam_slot(char)
local code = tex.getmathcode(char)
local class, family, slot = unpack(code)
local result = string.format("%i %i %i ", class, family, slot)
tex.sprint(cctb.string, result)
end
+return lualatex.math
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tex/lualatex/lualatex-math/lualatex-math.sty new/tex/lualatex/lualatex-math/lualatex-math.sty
--- old/tex/lualatex/lualatex-math/lualatex-math.sty 2013-03-12 00:24:28.000000000 +0100
+++ new/tex/lualatex/lualatex-math/lualatex-math.sty 2013-08-09 01:28:29.000000000 +0200
@@ -8,7 +8,7 @@
%%
%% This is a generated file.
%%
-%% Copyright 2011, 2012 Philipp Stephani
+%% Copyright 2011, 2012, 2013 Philipp Stephani
%%
%% This file may be distributed and/or modified under the
%% conditions of the LaTeX Project Public License, either
@@ -22,12 +22,12 @@
%%
\NeedsTeXFormat{LaTeX2e}[2009/09/24]
\RequirePackage{expl3}[2012/08/14]
-\ProvidesExplPackage{lualatex-math}{2013/01/13}{1.2}%
+\ProvidesExplPackage{lualatex-math}{2013/08/03}{1.3}%
{Patches for mathematics typesetting with LuaLaTeX}
\RequirePackage { etoolbox } [ 2007/10/08 ]
\RequirePackage { luatexbase } [ 2010/05/27 ]
\RequirePackage { filehook } [ 2011/03/09 ]
-\RequireLuaModule { lualatex-math } [ 2011/05/05 ]
+\RequireLuaModule { lualatex-math } [ 2013/08/03 ]
\cs_new_nopar:Npn \__lltxmath_restore_catcode:N #1 {
\char_set_catcode:nn { \int_eval:n { `#1 } }
{ \char_value_catcode:n { `#1 } }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tlpkg/tlpobj/lualatex-math.tlpobj new/tlpkg/tlpobj/lualatex-math.tlpobj
--- old/tlpkg/tlpobj/lualatex-math.tlpobj 2013-03-12 04:38:16.000000000 +0100
+++ new/tlpkg/tlpobj/lualatex-math.tlpobj 2013-08-09 03:20:47.000000000 +0200
@@ -1,6 +1,6 @@
name lualatex-math
category Package
-revision 29346
+revision 31389
shortdesc Fixes for mathematics-related LuaLaTeX issues.
relocated 1
longdesc The package patches a few commands of the LaTeX2e kernel and
@@ -14,6 +14,6 @@
RELOC/tex/lualatex/lualatex-math/lualatex-math.lua
RELOC/tex/lualatex/lualatex-math/lualatex-math.sty
catalogue-ctan /macros/luatex/latex/lualatex-math
-catalogue-date 2013-03-11 10:36:18 +0100
+catalogue-date 2013-08-08 12:48:39 +0200
catalogue-license lppl1.3
-catalogue-version 1.2
+catalogue-version 1.3
++++++ lualibs.doc.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/doc/luatex/lualibs/NEWS new/doc/luatex/lualibs/NEWS
--- old/doc/luatex/lualibs/NEWS 2013-05-19 00:10:13.000000000 +0200
+++ new/doc/luatex/lualibs/NEWS 2014-05-06 00:02:11.000000000 +0200
@@ -1,4 +1,18 @@
History of the lualibs package
+2014/05/05 v2.1b/
+ * sync with Context beta as of 2014-04-05
+ * remove util-env.lua
+
+2013/31/03 v2.1a/
+ * sync with Context beta as of 2013-12-30
+
+2013/11/03 v2.1/
+ * sync with Context beta as of 2013-11-01
+ * add l-gzip
+
+2013/07/23 v2.0c/
+ * sync with Context beta as of 2013-07-14
+
2013/05/18 v2.0/
* sync with Context beta as of 2013.04.29 20:30
* merge with mtx-package
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/doc/luatex/lualibs/README new/doc/luatex/lualibs/README
--- old/doc/luatex/lualibs/README 2013-05-19 00:10:13.000000000 +0200
+++ new/doc/luatex/lualibs/README 2014-05-06 00:02:11.000000000 +0200
@@ -41,6 +41,7 @@
lualibs-compat.lua tex/luatex/lualibs/lualibs-compat.lua
lualibs-dir.lua tex/luatex/lualibs/lualibs-dir.lua
lualibs-file.lua tex/luatex/lualibs/lualibs-file.lua
+ lualibs-gzip.lua tex/luatex/lualibs/lualibs-gzip.lua
lualibs-function.lua tex/luatex/lualibs/lualibs-function.lua
lualibs-io.lua tex/luatex/lualibs/lualibs-io.lua
lualibs-lpeg.lua tex/luatex/lualibs/lualibs-lpeg.lua
@@ -58,7 +59,6 @@
lualibs-url.lua tex/luatex/lualibs/lualibs-url.lua
lualibs-util-deb.lua tex/luatex/lualibs/lualibs-util-deb.lua
lualibs-util-dim.lua tex/luatex/lualibs/lualibs-util-dim.lua
- lualibs-util-env.lua tex/luatex/lualibs/lualibs-util-env.lua
lualibs-util-jsn.lua tex/luatex/lualibs/lualibs-util-jsn.lua
lualibs-util-lua.lua tex/luatex/lualibs/lualibs-util-lua.lua
lualibs-util-prs.lua tex/luatex/lualibs/lualibs-util-prs.lua
@@ -72,6 +72,7 @@
NEWS doc/luatex/lualibs/NEWS
README doc/luatex/lualibs/README
test-lualibs.lua source/luatex/lualibs/test-lualibs.lua
+ whatsnew.lua source/luatex/lualibs/whatsnew.lua
Derived files:
lualibs.lua tex/luatex/lualibs/lualibs.lua
Files old/doc/luatex/lualibs/lualibs.pdf and new/doc/luatex/lualibs/lualibs.pdf differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tlpkg/tlpobj/lualibs.doc.tlpobj new/tlpkg/tlpobj/lualibs.doc.tlpobj
--- old/tlpkg/tlpobj/lualibs.doc.tlpobj 2013-05-28 17:07:20.000000000 +0200
+++ new/tlpkg/tlpobj/lualibs.doc.tlpobj 2014-05-06 03:32:00.000000000 +0200
@@ -1,9 +1,9 @@
name lualibs.doc
category Package
-revision 30700
+revision 33861
shortdesc doc files of lualibs
relocated 1
-docfiles size=29
+docfiles size=28
RELOC/doc/luatex/lualibs/LICENSE
RELOC/doc/luatex/lualibs/NEWS
RELOC/doc/luatex/lualibs/README
++++++ lualibs.tar.xz ++++++
++++ 8122 lines of diff (skipped)
++++++ luamplib.doc.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/doc/luatex/luamplib/NEWS new/doc/luatex/luamplib/NEWS
--- old/doc/luatex/luamplib/NEWS 2013-05-13 00:38:13.000000000 +0200
+++ new/doc/luatex/luamplib/NEWS 2014-05-14 00:15:06.000000000 +0200
@@ -1,5 +1,85 @@
History of the luamplib package
+2014/04/25 2.7.0
+ * support DVIPDFMx
+ * default directory for cache is now '$TEXMFVAR/luamplib_cache'
+ * internal changes following LuaTeX engine v0.79 and luatexbase
+ package v0.7
+ * [fix] avoid luatex crash under math_mode 'decimal'
+
+2014/03/26 2.6.1
+ * now luamplib does not disregard 'show' command, even if
+ 'luamplib.showlog' is false. Incidentally, it does not raise
+ error, but just prints a warning, even if output contains
+ no figure.
+ * fix a bug wrt color, which might come to the fore under
+ math mode 'double' or 'decimal'.
+
+2014/03/08 2.6.0
+ * new macro \mplibtextextlabel{enable} enables string labels typeset
+ with textext() instead of infont operator. Every string label
+ thereafter will be typeset with current TeX font.
+ * fixed a bug wrt btex ... etex parsing (issue #39)
+ * [doc] added a mention about \MPllx, \MPlly, \MPurx, and \MPury.
+
+2014/03/01 2.5.3
+ * using \mplibcachedir{<directory path>}, users can change the
+ directory for storing cache files. By default, it is the directory
+ where pdf output file is saved.
+ * at the end of package loading, luamplib searches 'luamplib.cfg',
+ and, when found, reads the file in automatically.
+
+2014/02/24 2.5.2
+ * new macros \mplibmakenocache{...} and \mplibcancelnocache{...} to
+ register/unregister those .mp files that do not need caches.
+ These macros affect the compilation speed only.
+ * added a hack to support graph.mp (in fact, format.mp)
+ * [fix] luamplib now respects percent sign if it is enclosed by quotes.
+
+2014/02/19 2.5
+ * btex ... etex input from external *.mp files will also be processed
+ by luamplib. However, verbatimtex ... etex will be entirely ignored
+ in this case.
+
+2014/02/02 2.4
+ * implemented "numbersystem" option. Default value "scaled" can be
+ changed by declaring \mplibnumbersystem{double}. For details, see
+ http://github.com/lualatex/luamplib/issues/21
+
+2014/01/20 2.3
+ * \everymplib, \everyendmplib: macros that redefine token lists
+ \everymplibtoks and \everyendmplibtoks. These will be
+ automatically inserted at the beginning and ending (respectively)
+ of each and every mplib code.
+ * naked TeX codes, includig \mpdim{...}, are allowed inside
+ mplibcode environment. Refer the manual of gmp package for
+ details.
+
+2013/12/30 2.2
+ * start to support transparency/shading under metafun format.
+ * verbatimtex ... etex just before beginfig() is not ignored.
+ Using this macro, each mplib box can be moved horizontally and/or
+ vertically.
+
+2013/12/23 2.1.1
+ * fix a bug wrt "withoutcolor" option
+ * fix a bug wrt "char <number> infont <font>" picture
+ * bypass some ConTeXt commands which raise errors under metafun format
+ * ignore "fontmapfile <filename>" which isn't needed in mplib
+
+2013/12/19 2.1
+ * Do not ignore "withcolor" option for textext and normal text object
+ * verbatimtex ... etex is now just ignored, not raising error
+
+2013/12/11 2.03
+ * implemented textext() macro which is identical to TEX() from TEX.mp.
+ TEX() is a synonym of textext().
+ * fix a bug regarding tex-text box inside for...endfor loop,
+ reported at http://www.ktug.org/xe/index.php?document_srl=178050
+
+2013/09/24 2.01
+ * fix bug reported by Stephan Hennig: wrong baseline of tex-text box
+
2013/05/07 2.0
* Update with current ConTeXt code
* Adding the possibility of btex...etex commands (Kim)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/doc/luatex/luamplib/README new/doc/luatex/luamplib/README
--- old/doc/luatex/luamplib/README 2013-05-13 00:38:13.000000000 +0200
+++ new/doc/luatex/luamplib/README 2014-05-14 00:15:06.000000000 +0200
@@ -2,7 +2,8 @@
This package allows typesetting of metapost natively in the TeX documents
-thanks to the LuaTeX mplib library. It only works in PDF mode.
+thanks to the LuaTeX mplib library. It works in PDF or DVI mode, but
+DVIPDFMx is the only DVI tool currently supported.
This package is developed on http://github.com/lualatex/luamplib.
@@ -16,7 +17,7 @@
Alternatively, try your (TeX or Linux) distribution's package management system.
2. a. Grab the sources from CTAN or github.
- b. Run 'make install TEXMFROOT=/path/to/texmf'.
+ b. Run 'make install TEXMFDIR=/path/to/texmf'.
c. You may need to update some filename database after, see your TeX
distribution's manual for details.
Files old/doc/luatex/luamplib/luamplib.pdf and new/doc/luatex/luamplib/luamplib.pdf differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/doc/luatex/luamplib/test-luamplib-latex.tex new/doc/luatex/luamplib/test-luamplib-latex.tex
--- old/doc/luatex/luamplib/test-luamplib-latex.tex 2013-05-13 00:38:13.000000000 +0200
+++ new/doc/luatex/luamplib/test-luamplib-latex.tex 2014-03-09 22:30:34.000000000 +0100
@@ -1,5 +1,7 @@
\documentclass{article}
\usepackage{luamplib}
+\everymplib{ beginfig(0); }
+\everyendmplib{ endfig; }
\begin{document}
\tracingcommands1
A%
@@ -15,12 +17,19 @@
%% % / 9 C M W a k u DEL
%% & 0 : D N X b l v
%% ´ 1 ; E O Y c m w
-beginfig(1);
fill fullcircle scaled 20; %% actual <tab> to make sure it works
-endfig;
\end{mplibcode}%
B\par
+\everymplib{}\everyendmplib{}% reset toks
+A%
\begin{mplibcode}
+verbatimtex \lower.2em etex
+beginfig(0);
+draw origin--(1cm,0) withcolor red;
+draw btex g\begin{huge}g\end{huge}etex withcolor blue;
+draw bbox currentpicture;
+endfig;
+
beginfig(18);
numeric u;
u = 1cm;
@@ -32,5 +41,83 @@
label.bot(btex $x$ etex, (2u,0));
label.lft(btex $y$ etex, (0,u));
endfig;
-\end{mplibcode}
+\end{mplibcode}%
+B\par
+A%
+\begin{mplibcode}
+beginfig(2);
+numeric u; u=1cm;
+z1=-z2=(-u,0);
+for i = 1 upto 3:
+ draw z1..(0, i*u)..z2;
+ label.top(TEX("$e_{" & decimal(i) & "}$"), (0, i*u)) withcolor blue;
+endfor;
+endfig;
+\end{mplibcode}%
+B\par
+\mplibsetformat{metafun}%
+\begin{mplibcode}
+verbatimtex \moveright 0.4\hsize etex
+beginfig(0);
+path p; p:= fullcircle scaled 2cm yshifted .5cm;
+fill p withcolor transparent("normal", 0.5, red);
+fill p rotated 120 withcolor transparent("normal", 0.5, green);
+fill p rotated 240 withcolor transparent("normal", 0.5, blue);
+endfig;
+verbatimtex \leavevmode etex
+picture p; p := btex MetaPost etex scaled 2;
+beginfig(1);
+linear_shade(bbox p,0,blue,.7white);
+draw p withcolor white;
+endfig;
+verbatimtex \kern10pt etex
+beginfig(2);
+circular_shade(bbox p,0,blue,.7white);
+draw p withcolor white;
+endfig;
+\end{mplibcode}%
+
+\newbox\mympbox
+\begin{mplibcode}
+verbatimtex \global\setbox\mympbox etex
+beginfig(0);
+breadth=.667\mpdim\linewidth;
+height=2pt;
+x1=0; x2=x6=.333x4; x5=x3=.667x4;
+x4=breadth;
+y1=y4=height/2; y2=y3=height; y5=y6=0;
+fill z1--z2--z3--z4--z5--z6--cycle;
+endfig;
+\end{mplibcode}%
+\copy\mympbox
+\copy\mympbox
+\copy\mympbox
+\copy\mympbox
+
+\mplibnumbersystem{double}%
+\begin{mplibcode}
+beginfig(0);
+u := 10**5*(10**-4);
+draw unitsquare scaled u;
+endfig;
+\end{mplibcode}%
+\mplibsetformat{plain}%
+\begin{mplibcode}
+ input graph;
+ beginfig(0);
+ draw begingraph(100,100);
+ gdraw (10,10)--(30,35)--(50,25)--(70,80)--(90,90);
+ autogrid(otick.bot,);
+ for y=20,40,60,80:
+ grid.lft(format("%e",1000y), y) withcolor .85white;
+ endfor
+ endgraph;
+ endfig;
+\end{mplibcode}%
+\mplibtextextlabel{enable}%
+\begin{mplibcode}
+beginfig(0);
+dotlabel.rt("$\sqrt2$",origin);
+endfig;
+\end{mplibcode}%
\end{document}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/doc/luatex/luamplib/test-luamplib-plain.tex new/doc/luatex/luamplib/test-luamplib-plain.tex
--- old/doc/luatex/luamplib/test-luamplib-plain.tex 2013-05-13 00:38:13.000000000 +0200
+++ new/doc/luatex/luamplib/test-luamplib-plain.tex 2014-03-09 22:30:34.000000000 +0100
@@ -1,4 +1,5 @@
\input luamplib.sty
+\everymplib{ beginfig(0); }\everyendmplib{ endfig; }
\tracingcommands1
A%
\mplibcode
@@ -13,13 +14,24 @@
%% % / 9 C M W a k u DEL
%% & 0 : D N X b l v
%% ´ 1 ; E O Y c m w
-beginfig(1);
fill fullcircle scaled 20;
-endfig;
\endmplibcode
B\par
+\everymplib{}\everyendmplib{}% reset toks
A%
\mplibcode
+verbatimtex \lower.2em etex
+beginfig(0);
+draw origin--(1cm,0) withcolor red;
+draw btex g etex withcolor blue;
+draw btex\tracingcommands0 multi
+ line
+ tex code
+ etex shifted (20,0);
+draw textext("\tracingcommands0 textext 50\% color") shifted (10,-10) withcolor .5white;
+draw bbox currentpicture;
+endfig;
+
beginfig(18);
numeric u;
u = 1cm;
@@ -33,4 +45,81 @@
endfig;
\endmplibcode
B\par
+A%
+\mplibcode
+beginfig(2);
+numeric u; u=1cm;
+z1=-z2=(-u,0);
+for i = 1 upto 3:
+ draw z1..(0, i*u)..z2;
+ label.top(TEX("$e_{" & decimal(i) & "}$"), (0, i*u)) withcolor blue;
+endfor;
+endfig;
+\endmplibcode
+B\par
+\mplibsetformat{metafun}%
+\mplibcode
+verbatimtex \moveright 0.4\hsize etex
+beginfig(0);
+path p; p:= fullcircle scaled 2cm yshifted .5cm;
+fill p withcolor transparent("normal", 0.5, red);
+fill p rotated 120 withcolor transparent("normal", 0.5, green);
+fill p rotated 240 withcolor transparent("normal", 0.5, blue);
+endfig;
+verbatimtex \leavevmode etex
+picture p; p := btex MetaPost etex scaled 2;
+beginfig(1);
+linear_shade(bbox p,0,blue,.7white);
+draw p withcolor white;
+endfig;
+verbatimtex \kern10pt etex
+beginfig(2);
+circular_shade(bbox p,0,blue,.7white);
+draw p withcolor white;
+endfig;
+\endmplibcode
+
+\newbox\mympbox
+\mplibcode
+verbatimtex \global\setbox\mympbox etex
+beginfig(0);
+breadth=.667\mpdim\hsize;
+height=2pt;
+x1=0; x2=x6=.333x4; x5=x3=.667x4;
+x4=breadth;
+y1=y4=height/2; y2=y3=height; y5=y6=0;
+fill z1--z2--z3--z4--z5--z6--cycle;
+endfig;
+\endmplibcode
+\copy\mympbox
+\copy\mympbox
+\copy\mympbox
+\copy\mympbox
+
+\mplibnumbersystem{double}%
+\mplibcode
+beginfig(0);
+u := 10**5*(10**-4);
+draw unitsquare scaled u;
+endfig;
+\endmplibcode
+\mplibsetformat{plain}%
+\mplibcode
+ input graph;
+ beginfig(0);
+ draw begingraph(100,100);
+ gdraw (10,10)--(30,35)--(50,25)--(70,80)--(90,90);
+ autogrid(otick.bot,);
+ for y=20,40,60,80:
+ grid.lft(format("%e",1000y), y) withcolor .85white;
+ endfor
+ endgraph;
+ endfig;
+\endmplibcode
+\mplibtextextlabel{enable}%
+\mplibcode
+beginfig(0);
+dotlabel.rt("$\sqrt2$",origin);
+endfig;
+\endmplibcode
\bye
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tlpkg/tlpobj/luamplib.doc.tlpobj new/tlpkg/tlpobj/luamplib.doc.tlpobj
--- old/tlpkg/tlpobj/luamplib.doc.tlpobj 2013-05-13 03:39:38.000000000 +0200
+++ new/tlpkg/tlpobj/luamplib.doc.tlpobj 2014-05-14 03:23:57.000000000 +0200
@@ -1,9 +1,9 @@
name luamplib.doc
category Package
-revision 30423
+revision 34021
shortdesc doc files of luamplib
relocated 1
-docfiles size=34
+docfiles size=38
RELOC/doc/luatex/luamplib/NEWS
RELOC/doc/luatex/luamplib/README
RELOC/doc/luatex/luamplib/luamplib.pdf
++++++ luamplib.tar.xz ++++++
++++ 1715 lines of diff (skipped)
++++++ luaotfload.doc.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/texmf-dist/doc/luatex/luaotfload/NEWS new/texmf-dist/doc/luatex/luaotfload/NEWS
--- old/texmf-dist/doc/luatex/luaotfload/NEWS 2013-05-22 01:05:34.000000000 +0200
+++ new/texmf-dist/doc/luatex/luaotfload/NEWS 2014-05-20 00:17:16.000000000 +0200
@@ -1,6 +1,52 @@
Change History
--------------
+2014/05/18, luaotfload v2.4-4
+ * Fix incorrect handling of font file formats (backport of commit
+ 828a69ef... to the 2.5 branch).
+
+2014/02/05, luaotfload v2.4-3
+ * Add contact info to --version output of luaotfload-tool (backport from
+ 2.5).
+ * Fix bug with broken font names (backport from 2.5).
+
+2013/12/31, luaotfload v2.4
+ * Additional self-tests, now in separate file (luaotfload-diagnostics.lua)
+ * Better path and directory handling, especially on Windows
+ * database now indexes Type1 fonts (PFA, PFB) and makes them accessible
+ with style modifiers (requires --format=+pfa,pfb option to luaotfload-tool)
+ * Test runner (script mktests)
+ * New luaotfload-tool option: ``--no-reload``
+ * ``luaotfload-tool --find`` now understands request syntax
+ * text (Lua script) version of the font index is filtered through gzip by
+ default, the ``--no-compress`` option of luaotfload-tool will prevent
+ this
+ * rename ``luaotfload-merged.lua`` (the fontloader package from Context)
+ to ``luaotfload-fontloader.lua``
+ * Treat arguments of the ``letterspace`` option as percentages; add
+ ``kernfactor`` option that behaves as before.
+ * Remove imported version of typo-krn.lua. Xetex-style per-font
+ letterspacing is now the canonical method.
+ * Merge functionality from extralibs (fake Context layer) into
+ luaotfload-letterspace.lua as it is only needed there anyways.
+
+2013/07/10, luaotfload v2.3a
+ * Detect LuaJIT interpreter (LuaJITTeX)
+ * Self-test functionality for luaotfload-tool.lua (option ``--diagnose``)
+
+2013/07/03, luaotfload v2.3:
+ * New experimental lookups: ``kpse`` (kpathsea), ``my`` (callback)
+ * Precedence of texmf over system fonts can be requested
+ using the ``--prefer-texmf`` option of luaotfload-tool
+ * Resolve file names to full paths at later stage
+ * Rewrite the output of ``\fontname`` via ``patch_font`` callback
+ * Allow blacklisting directories
+ * Drop compatibility layer
+ * Remove dependency on luaotfload-lib-dir (references to dir.glob() and
+ dir.mkdirs())
+ * luaotfload-tool now displays extensive information about a font if given
+ the argument --inspect
+
2013/05/20, luaotfload v2.2:
* There is now a central, non-personal dev repo on github:
https://github.com/lualatex/luaotfload
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/texmf-dist/doc/luatex/luaotfload/README new/texmf-dist/doc/luatex/luaotfload/README
--- old/texmf-dist/doc/luatex/luaotfload/README 2013-05-13 00:44:11.000000000 +0200
+++ new/texmf-dist/doc/luatex/luaotfload/README 2014-01-01 23:57:02.000000000 +0100
@@ -31,6 +31,7 @@
Elie Roux
Will Robertson
Philipp Gesang
+Dohyun Kim
Installation
@@ -56,6 +57,9 @@
Prerequisites
-------------------------------------------------------------------------------
+You need GNU make to use the Makefile. The executable may be called "gmake" on
+your system.
+
Typesetting the documentation requires LuaTeX and GraphViz. The Docutils are
needed to generate the manpage.
Files old/texmf-dist/doc/luatex/luaotfload/filegraph.pdf and new/texmf-dist/doc/luatex/luaotfload/filegraph.pdf differ
Files old/texmf-dist/doc/luatex/luaotfload/luaotfload.pdf and new/texmf-dist/doc/luatex/luaotfload/luaotfload.pdf differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/texmf-dist/doc/man/man1/luaotfload-tool.1 new/texmf-dist/doc/man/man1/luaotfload-tool.1
--- old/texmf-dist/doc/man/man1/luaotfload-tool.1 2013-05-13 00:44:11.000000000 +0200
+++ new/texmf-dist/doc/man/man1/luaotfload-tool.1 2014-05-20 00:17:16.000000000 +0200
@@ -1,6 +1,6 @@
.\" Man page generated from reStructuredText.
.
-.TH LUAOTFLOAD-TOOL 1 "2013-05-06" "2.2" "text processing"
+.TH LUAOTFLOAD-TOOL 1 "2014-05-18" "2.4-4" "text processing"
.SH NAME
luaotfload-tool \- generate and query the Luaotfload font names database
.
@@ -32,26 +32,36 @@
..
.SH SYNOPSIS
.sp
-\fBluaotfload\fP [ \-cfFiquvVh ]
+\fBluaotfload\-tool\fP [ \-bDfFiIlnpquvVhw ]
+.INDENT 0.0
+.TP
+.B \fBluaotfload\-tool\fP \-\-update [ \-\-force ] [ \-\-quiet ] [ \-\-verbose ]
+[ \-\-prefer\-texmf ] [ \-\-dry\-run ]
+[ \-\-formats=[+|\-]EXTENSIONS ]
+[ \-\-no\-compress ] [ \-\-no\-strip ]
+.TP
+.B \fBluaotfload\-tool\fP \-\-find=FONTNAME [ \-\-fuzzy ] [ \-\-info ] [ \-\-inspect ]
+[ \-\-no\-reload ]
+.UNINDENT
.sp
-\fBluaotfload\fP \-\-update [ \-\-force ] [ \-\-quiet ] [ \-\-verbose ] [ \-\-dry\-run ]
+\fBluaotfload\-tool\fP \-\-flush\-lookups
.sp
-\fBluaotfload\fP \-\-find=FONTNAME [ \-\-fuzzy ] [ \-\-info ]
+\fBluaotfload\-tool\fP \-\-cache=DIRECTIVE
.sp
-\fBluaotfload\fP \-\-flush\-lookups
+\fBluaotfload\-tool\fP \-\-list=CRITERION[:VALUE] [ \-\-fields=F1,F2,...,Fn ]
.sp
-\fBluaotfload\fP \-\-cache=DIRECTIVE
+\fBluaotfload\-tool\fP \-\-help
.sp
-\fBluaotfload\fP \-\-list=CRITERION[:VALUE] [ \-\-fields=F1,F2,...,Fn ]
+\fBluaotfload\-tool\fP \-\-version
.sp
-\fBluaotfload\fP \-\-help
+\fBluaotfload\-tool\fP \-\-show\-blacklist
.sp
-\fBluaotfload\fP \-\-version
+\fBluaotfload\-tool\fP \-\-diagnose=CHECK
.SH DESCRIPTION
.sp
luaotfload\-tool accesses the font names database that is required by
the \fILuaotfload\fP package. There are two general modes: \fBupdate\fP and
-\fBquery\fP.
+\fBquery\fP\&.
.INDENT 0.0
.IP \(bu 2
\fBupdate\fP: update the database or rebuild it entirely;
@@ -59,8 +69,6 @@
\fBquery\fP: resolve a font name or display close matches.
.UNINDENT
.sp
-A third mode for clearing the lookup cache is currently experimental.
-.sp
Note that if the script is named \fBmkluatexfontdb\fP it will behave like
earlier versions (<=1.3) and always update the database first. Also,
the verbosity level will be set to 2.
@@ -68,14 +76,62 @@
.SS update mode
.INDENT 0.0
.TP
-.B \-\-update, \-u
+.B \-\-update\fP,\fB \-u
Update the database; indexes new fonts.
.TP
-.B \-\-force, \-f
+.B \-\-force\fP,\fB \-f
Force rebuilding of the database; re\-indexes
all fonts.
.TP
-.B \-\-dry\-run, \-D
+.B \-\-no\-reload\fP,\fB \-n
+Suppress auto\-updates to the database (e.g.
+when \fB\-\-find\fP is passed an unknown name).
+.TP
+.B \-\-no\-strip
+Do not strip redundant information after
+building the database. Warning: this will
+inflate the index to about two to three times
+the normal size.
+.TP
+.B \-\-no\-compress\fP,\fB \-c
+Do not filter the plain text version of the
+font index through gzip. Useful for debugging
+if your editor is built without zlib.
+.TP
+.B \-\-prefer\-texmf\fP,\fB \-p
+Organize the file name database in a way so
+that it prefer fonts in the \fITEXMF\fP tree over
+system fonts if they are installed in both.
+.TP
+.BI \-\-max\-fonts\fB= N
+Process at most \fIN\fP font files, including fonts
+already indexed in the count.
+.TP
+.BI \-\-formats\fB= EXTENSIONS
+Extensions of the font files to index.
+Where \fIEXTENSIONS\fP is a comma\-separated list of
+supported file extensions (otf, ttf, ttc,
+dfont, pfa, and pfb). If the list is prefixed
+with a \fB+\fP sign, the given list is added to
+the currently active one; \fB\-\fP subtracts.
+Default: \fIotf,ttf,ttc,dfont\fP\&.
+Examples:
+.INDENT 7.0
+.IP 1. 3
+\fB\-\-formats=\-ttc,ttf\fP would skip
+TrueType fonts and font collections;
+.IP 2. 3
+\fB\-\-formats=otf\fP would scan only OpenType
+files;
+.IP 3. 3
+\fB\-\-formats=+pfb\fP includes binary
+Postscript files. \fBWarning\fP: with a
+standard TeX Live installation this will
+grow the database considerably and slow down
+font indexing.
+.UNINDENT
+.TP
+.B \-\-dry\-run\fP,\fB \-D
Don’t load fonts, scan directories only.
(For debugging file system related issues.)
.UNINDENT
@@ -86,16 +142,34 @@
Resolve a font name; this looks up <name> in
the database and prints the file name it is
mapped to.
+\fB\-\-find\fP also understands request syntax,
+i.e. \fB\-\-find=file:foo.otf\fP checks whether
+\fBfoo.otf\fP is indexed.
.TP
-.B \-\-fuzzy, \-F
+.B \-\-fuzzy\fP,\fB \-F
Show approximate matches to the file name if
the lookup was unsuccessful (requires
\fB\-\-find\fP).
.TP
-.B \-\-info, \-i
+.B \-\-info\fP,\fB \-i
Display basic information to a resolved font
file (requires \fB\-\-find\fP).
.TP
+.B \-\-inspect\fP,\fB \-I
+Display detailed information by loading the
+font and analyzing the font table; very slow!
+For the meaning of the returned fields see
+the LuaTeX documentation.
+(requires \fB\-\-find\fP).
+.TP
+.B \-\-warnings\fP,\fB \-w
+Print the warnings generated by the fontloader
+library (assumes \fB\-I\fP). Automatically enabled
+if the verbosity level exceeds 2.
+.TP
+.B \-\-show\-blacklist\fP,\fB \-b
+Show blacklisted files (not directories).
+.TP
.BI \-\-list\fB= CRITERION
Show entries, where \fICRITERION\fP is one of the
following:
@@ -104,18 +178,68 @@
the character \fB*\fP, selecting all entries;
.IP 2. 3
a field of a database entry, for instance
-\fIfullname\fP or \fIunits_per_em\fP, according to
-which the output will be sorted; or
+\fIversion\fP or \fIformat*\fP, according to which
+the output will be sorted.
+Information in an unstripped database (see
+the option \fB\-\-no\-strip\fP above) is nested:
+Subfields of a record can be addressed using
+the \fB\->\fP separator, e. g.
+\fBfile\->location\fP, \fBstyle\->units_per_em\fP,
+or
+\fBnames\->sanitized\->english\->prefmodifiers\fP\&.
+NB: shell syntax requires that arguments
+containing \fB\->\fP be properly quoted!
.IP 3. 3
an expression of the form \fBfield:value\fP to
limit the output to entries whose \fBfield\fP
-matches \fBvalue\fP.
+matches \fBvalue\fP\&.
+.UNINDENT
+.sp
+For example, in order to output file names and
+corresponding versions, sorted by the font
+format:
+.INDENT 7.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+\&./luaotfload\-tool.lua \-\-list="format" \-\-fields="file\->base,version"
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+This prints:
+.INDENT 7.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+otf latinmodern\-math.otf Version 1.958
+otf lmromancaps10\-oblique.otf 2.004
+otf lmmono8\-regular.otf 2.004
+otf lmmonoproplt10\-bold.otf 2.004
+otf lmsans10\-oblique.otf 2.004
+otf lmromanslant8\-regular.otf 2.004
+otf lmroman12\-italic.otf 2.004
+otf lmsansdemicond10\-oblique.otf 2.004
+\&...
+.ft P
+.fi
+.UNINDENT
.UNINDENT
.TP
.BI \-\-fields\fB= FIELDS
Comma\-separated list of fields that should be
-printed. The default is \fIfullname,version\fP.
-(Only meaningful with \fB\-\-list\fP.)
+printed.
+Information in an unstripped database (see the
+option \fB\-\-no\-strip\fP above) is nested:
+Subfields of a record can be addressed using
+the \fB\->\fP separator, e. g.
+\fBfile\->location\fP, \fBstyle\->units_per_em\fP,
+or \fBnames\->sanitized\->english\->subfamily\fP\&.
+The default is plainname,version*.
+(Only meaningful with \fB\-\-list\fP\&.)
.UNINDENT
.SS font and lookup caches
.INDENT 0.0
@@ -139,32 +263,75 @@
.SS miscellaneous
.INDENT 0.0
.TP
-.BI \-\-verbose\fB= N, \ \-v
+.BI \-\-verbose\fB= N\fP,\fB \ \-v
Set verbosity level to \fIn\fP or the number of
-repetitions of \fB\-v\fP.
+repetitions of \fB\-v\fP\&.
.TP
.B \-\-quiet
No verbose output (log level set to zero).
.TP
-.BI \-\-log\fB= stdout
-Redirect log output to terminal (for database
-troubleshooting).
+.BI \-\-log\fB= CHANNEL
+Redirect log output (for database
+troubleshooting), where \fICHANNEL\fP can be
+.INDENT 7.0
+.IP 1. 3
+\fBstdout\fP \-> all output will be
+dumped to the terminal; or
+.IP 2. 3
+\fBfile\fP \-> write to a file to the temporary
+directory (the name will be chosen
+automatically (\fBexperimental!\fP).
+.UNINDENT
.TP
-.B \-\-version, \-V
-Show version number and exit.
+.B \-\-version\fP,\fB \-V
+Show version info of components and exit.
.TP
-.B \-\-help, \-h
+.B \-\-help\fP,\fB \-h
Show help message and exit.
+.TP
+.BI \-\-diagnose\fB= CHECK
+Run the diagnostic procedure \fICHECK\fP\&. Available
+procedures are:
+.INDENT 7.0
+.IP 1. 3
+\fBfiles\fP \-> check \fILuaotfload\fP files for
+modifications;
+.IP 2. 3
+\fBpermissions\fP \-> check permissions of
+cache directories and files;
+.IP 3. 3
+.INDENT 3.0
+.TP
+.B \fBenvironment\fP \-> print relevant
+environment and kpse variables;
+.UNINDENT
+.IP 4. 3
+\fBrepository\fP \-> check the git repository
+for new releases,
+.IP 5. 3
+\fBindex\fP \-> check database, display
+information about it.
+.UNINDENT
+.sp
+Procedures can be chained by concatenating with
+commas, e.g. \fB\-\-diagnose=files,permissions\fP\&.
+Specify \fBthorough\fP to run all checks.
.UNINDENT
.SH FILES
.sp
The font name database is usually located in the directory
\fBtexmf\-var/luatex\-cache/generic/names/\fP (\fB$TEXMFCACHE\fP as set in
-\fBtexmf.cnf\fP) of your \fITeX Live\fP distribution as
-\fBluaotfload\-names.lua\fP. The experimental lookup cache will be
-created as \fBluaotfload\-lookup\-cache.lua\fP in the same directory.
-Both files are safe to delete, at the cost of regenerating them with
-the next run of \fILuaTeX\fP.
+\fBtexmf.cnf\fP) of your \fITeX Live\fP distribution as a zlib\-compressed
+file \fBluaotfload\-names.lua.gz\fP\&.
+The experimental lookup cache will be created as
+\fBluaotfload\-lookup\-cache.lua\fP in the same directory.
+These Lua tables are not used directly by Luaotfload, though.
+Instead, they are compiled to Lua bytecode which is written to
+corresponding files with the extension \fB\&.luc\fP in the same directory.
+When modifying the files by hand keep in mind that only if the bytecode
+files are missing will Luaotfload use the plain version instead.
+Both kinds of files are safe to delete, at the cost of regenerating
+them with the next run of \fILuaTeX\fP\&.
.SH SEE ALSO
.sp
\fBluatex\fP (1), \fBlua\fP (1)
Files old/texmf-dist/doc/man/man1/luaotfload-tool.man1.pdf and new/texmf-dist/doc/man/man1/luaotfload-tool.man1.pdf differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tlpkg/tlpobj/luaotfload.doc.tlpobj new/tlpkg/tlpobj/luaotfload.doc.tlpobj
--- old/tlpkg/tlpobj/luaotfload.doc.tlpobj 2013-05-28 17:07:21.000000000 +0200
+++ new/tlpkg/tlpobj/luaotfload.doc.tlpobj 2014-05-21 00:35:34.000000000 +0200
@@ -1,8 +1,8 @@
name luaotfload.doc
category Package
-revision 30701
+revision 34131
shortdesc doc files of luaotfload
-docfiles size=70
+docfiles size=78
texmf-dist/doc/luatex/luaotfload/NEWS
texmf-dist/doc/luatex/luaotfload/README
texmf-dist/doc/luatex/luaotfload/filegraph.pdf
++++++ luaotfload.tar.xz ++++++
++++ 133071 lines of diff (skipped)
++++++ luaotfload_varfonts.dif ++++++
--- /var/tmp/diff_new_pack.DXR0Xd/_old 2015-04-25 09:52:39.000000000 +0200
+++ /var/tmp/diff_new_pack.DXR0Xd/_new 2015-04-25 09:52:39.000000000 +0200
@@ -1,14 +1,20 @@
---- texmf-dist/tex/luatex/luaotfload/luaotfload-legacy-merged.lua
-+++ texmf-dist/tex/luatex/luaotfload/luaotfload-legacy-merged.lua 2013-10-28 13:58:12.000000000 +0000
-@@ -77,11 +77,34 @@ if not caches.namespace or caches.namesp
+---
+ texmf-dist/tex/luatex/luaotfload/luaotfload-fontloader.lua | 23 +++++++++++++++++++++
+ texmf-dist/tex/luatex/luaotfload/luaotfload-legacy-merged.lua | 23 +++++++++++++++++++++
+ 2 files changed, 46 insertions(+)
+
+--- texmf-dist/tex/luatex/luaotfload/luaotfload-fontloader.lua
++++ texmf-dist/tex/luatex/luaotfload/luaotfload-fontloader.lua 2015-03-31 09:25:05.609518971 +0000
+@@ -3170,12 +3170,35 @@ if not caches.namespace or caches.namesp
end
do
- local cachepaths
+ local cachepaths=kpse.expand_var('$TEXMFCACHE') or ""
+ local mktex=kpse.find_file('mktex.cnf','cnf') or ""
- if kpse.expand_var('$TEXMFCACHE')~='$TEXMFCACHE' then
- cachepaths=kpse.expand_var('$TEXMFCACHE')
- elseif kpse.expand_var('$TEXMFVAR')~='$TEXMFVAR' then
- cachepaths=kpse.expand_var('$TEXMFVAR')
+ if cachepaths=="" or cachepaths=="$TEXMFCACHE" then
+ cachepaths=kpse.expand_var('$TEXMFVAR') or ""
+ end
+ if cachepaths=="" or cachepaths=="$TEXMFVAR" then
+ cachepaths=kpse.expand_var('$VARTEXMF') or ""
end
+ if mktex~="" then
+ local varfonts="no"
@@ -16,53 +22,59 @@
+ local cache
+ for line in features:lines() do
+ if string.find(line, 'MT_FEATURES=') then
-+ if string.find(line, 'varfonts') then
-+ varfonts="yes"
++ if string.find(line, 'varfonts') then
++ varfonts="yes"
+ end
+ break
+ end
+ end
+ features:close()
+ cache=kpse.expand_var('$VARTEXFONTS')
-+ if varfonts=="yes" and cache~="" then
-+ if false == file.is_writable(cache) then
++ if varfonts=="yes" and cachepaths~="" then
++ if false == file.is_writable(cachepaths) then
+ cachepaths=os.getenv("HOME") .. "/.cache/texmf/fonts"
-+ else
-+ cachepaths=cache
+ end
++ else
++ cachepaths=cache
+ end
+ end
- if not cachepaths then
- cachepaths="."
- end
---- texmf-dist/tex/luatex/luaotfload/luaotfload-merged.lua
-+++ texmf-dist/tex/luatex/luaotfload/luaotfload-merged.lua 2013-10-28 13:52:09.000000000 +0000
-@@ -3012,6 +3012,28 @@ if not caches.namespace or caches.namesp
+ if cachepaths=="" then
+ local fallbacks={ "TMPDIR","TEMPDIR","TMP","TEMP","HOME","HOMEPATH" }
+ for i=1,#fallbacks do
+--- texmf-dist/tex/luatex/luaotfload/luaotfload-legacy-merged.lua
++++ texmf-dist/tex/luatex/luaotfload/luaotfload-legacy-merged.lua 2015-03-31 09:24:55.398018782 +0000
+@@ -77,11 +77,34 @@ if not caches.namespace or caches.namesp
end
do
- local cachepaths=kpse.expand_var('$TEXMFCACHE') or ""
+ local cachepaths
+ local mktex=kpse.find_file('mktex.cnf','cnf') or ""
+ if kpse.expand_var('$TEXMFCACHE')~='$TEXMFCACHE' then
+ cachepaths=kpse.expand_var('$TEXMFCACHE')
+ elseif kpse.expand_var('$TEXMFVAR')~='$TEXMFVAR' then
+ cachepaths=kpse.expand_var('$TEXMFVAR')
+ end
+ if mktex~="" then
+ local varfonts="no"
+ local features=io.open(mktex,'r')
++ local cache
+ for line in features:lines() do
+ if string.find(line, 'MT_FEATURES=') then
-+ if string.find(line, 'varfonts') then
-+ varfonts="yes"
++ if string.find(line, 'varfonts') then
++ varfonts="yes"
+ end
+ break
+ end
+ end
+ features:close()
-+ cachepaths=kpse.expand_var('$VARTEXFONTS')
-+ if varfonts=="yes" and cachepaths~="" then
-+ if false == file.is_writable(cachepaths) then
++ cache=kpse.expand_var('$VARTEXFONTS')
++ if varfonts=="yes" and cache~="" then
++ if false == file.is_writable(cache) then
+ cachepaths=os.getenv("HOME") .. "/.cache/texmf/fonts"
++ else
++ cachepaths=cache
+ end
-+ else
-+ cachepaths=""
+ end
+ end
- if cachepaths=="" then
- cachepaths=kpse.expand_var('$TEXMFVAR') or ""
+ if not cachepaths then
+ cachepaths="."
end
++++++ luatex.doc.tar.xz ++++++
++++ 7591 lines of diff (skipped)
++++++ luatex.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/texmf-dist/web2c/texmfcnf.lua new/texmf-dist/web2c/texmfcnf.lua
--- old/texmf-dist/web2c/texmfcnf.lua 2013-04-09 16:15:26.000000000 +0200
+++ new/texmf-dist/web2c/texmfcnf.lua 2014-04-17 19:13:20.000000000 +0200
@@ -45,13 +45,13 @@
-- only used for FONTCONFIG_PATH & TEXMFCACHE in TeX Live
TEXMFSYSVAR = "selfautoparent:texmf-var",
- TEXMFVAR = "home:.texlive2013/texmf-var",
+ TEXMFVAR = "home:.texlive2014/texmf-var",
-- We have only one cache path but there can be more. The first writable one
-- will be chosen but there can be more readable paths.
TEXMFCACHE = "$TEXMFSYSVAR;$TEXMFVAR",
- TEXMFCONFIG = "home:.texlive2013/texmf-config",
+ TEXMFCONFIG = "home:.texlive2014/texmf-config",
-- I don't like this texmf under home and texmf-home would make more
-- sense. One never knows what installers put under texmf anywhere and
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tlpkg/tlpobj/luatex.tlpobj new/tlpkg/tlpobj/luatex.tlpobj
--- old/tlpkg/tlpobj/luatex.tlpobj 2013-05-20 03:43:33.000000000 +0200
+++ new/tlpkg/tlpobj/luatex.tlpobj 2014-05-05 00:20:52.000000000 +0200
@@ -1,6 +1,6 @@
name luatex
category TLCore
-revision 30581
+revision 33828
shortdesc The LuaTeX engine.
longdesc LuaTeX is an extended version of pdfTeX using Lua as an
longdesc embedded scripting language. The LuaTeX project's main
@@ -14,11 +14,12 @@
depend luatex.ARCH
execute AddFormat name=luatex engine=luatex patterns=language.def,language.dat.lua options="luatex.ini"
execute AddFormat name=dviluatex engine=luatex patterns=language.def,language.dat.lua options="dviluatex.ini"
+execute AddFormat name=luajittex engine=luajittex patterns=language.def,language.dat.lua options="luatex.ini"
runfiles size=37
texmf-dist/tex/generic/config/luatex-unicode-letters.tex
texmf-dist/tex/generic/config/luatexiniconfig.tex
texmf-dist/web2c/texmfcnf.lua
catalogue-ctan /systems/luatex/base
-catalogue-date 2011-11-09 15:33:34 +0100
+catalogue-date 2014-02-26 23:03:13 +0100
catalogue-license gpl2
catalogue-version 0.70.1
++++++ luatexja.doc.tar.xz ++++++
++++ 8236 lines of diff (skipped)
++++++ luatexja.tar.xz ++++++
++++ 37378 lines of diff (skipped)
++++++ luatexko.doc.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/doc/luatex/luatexko/ChangeLog new/doc/luatex/luatexko/ChangeLog
--- old/doc/luatex/luatexko/ChangeLog 2013-05-21 00:04:14.000000000 +0200
+++ new/doc/luatex/luatexko/ChangeLog 2014-05-14 00:13:08.000000000 +0200
@@ -1,9 +1,53 @@
+2014-05-11 Dohyun Kim <nomos at ktug org>
+
+ Version 1.5
+
+ * luatexko.sty: new package option [nofontspec] which prevents loading
+ of fontspec.sty
+ * luatexko.lua, luatexko.sty: use Nanum Type1 fonts as final fallback
+ fonts
+ * luatexko.sty: font option YetHangul=Off has gone now, only YetHangul
+ is still there.
+ * luatexko.lua: implemented experimental support for vertical
+ typesetting. LuaTeX version 0.79 or later is required.
+ * luatexko.lua, luatexko-core.sty: new macro \actualtext inspired by
+ accsupp.sty authored by Heiko Oberdiek.
+ * luatexko.lua: italic correction for replacing cjk fonts as well
+
+2014-01-16 Dohyun Kim <nomos at ktug org>
+
+ Version 1.4
+
+ * luatexko.lua: italic correction of fakeslant font
+ * luatexko.sty: use everysel.sty to redefine selectfont. This fixes
+ a bug reported by Hoze Yi & Juho Lee.
+
+2013-12-06 Dohyun Kim <nomos at ktug org>
+
+ Version 1.3
+
+ * luatexko.lua: if \josaignoreparens=1, then characters inside
+ parentheses are ignored during automatic josa selection routine.
+ * luatexko.sty, luatexko-core.sty, luatexko.lua: new macros
+ \hangulpunctuations \registerpunctuations etc; removed [QuoteRaise]
+ font option.
+ * luatexko.sty, luatexko-core.sty, luatexko.lua: new macros
+ \setmainfallbackfont \setsansfallbackfont etc.
+
+2013-07-03 Dohyun Kim <nomos at ktug org>
+
+ Version 1.2
+
+ * luatexko.sty: move Hangul caption setting to AtBeginDocument
+ * luatexko.lua: implemented reordering of hangul tone marks;
+ fix a bug wrt. \dotemph of old hangul.
+ * luatexko-core.sty: adapt to \fontname fix by luaotfload
+
2013-05-19 Dohyun Kim <nomos at ktug org>
Version 1.1
* luatexko.sty: fix a bug regarding hyperref pdf string
-
* luatexko.lua, luatexko-core.sty: remove redundant code wrt.
font switching
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/doc/luatex/luatexko/README new/doc/luatex/luatexko/README
--- old/doc/luatex/luatexko/README 2013-05-21 00:04:14.000000000 +0200
+++ new/doc/luatex/luatexko/README 2014-05-14 00:13:08.000000000 +0200
@@ -1,15 +1,15 @@
-LuaTeX-ko Package version 1.1 (2013/05/19)
+LuaTeX-ko Package version 1.5 (2014/05/11)
==========================================
This is a Lua(La)TeX macro package that supports typesetting Korean
documents including Old Hangul texts. As LuaTeX has opened up access to
almost all the hidden routines of TeX engine, users can obtain more
beautiful outcome using this package rather than other Hangul macros
-operating on other engines.
+operating on other engines.
Due to the backward-incompatible update of LuaTeX in early 2013, LuaTeX
version 0.76+ and luaotfload package version 2.2+ are required for this
-package to run.
+package to run.
This package also requires both cjk-ko and xetexko packages for its full
functionality.
@@ -28,28 +28,28 @@
------
Please report any errors or suggestions to
- Dohyun Kim <nomos at ktug org>
+ Dohyun Kim <nomos at ktug org>
or leave messages in the issue tracker at:
- http://github.com/dohyunkim/luatexko
+ http://github.com/dohyunkim/luatexko
Files
-----
-### TeXinputs
+TeXinputs
- luatexko.sty -> tex/luatex/luatexko/
- luatexko-core.sty -> tex/luatex/luatexko/
- luatexko.lua -> tex/luatex/luatexko/
- luatexko-normalize.lua -> tex/luatex/luatexko/
- luatexko-uhc2utf8.lua -> tex/luatex/luatexko/
-
-### Documents
-
- luatexko-doc.pdf -> doc/luatex/luatexko/
- luatexko-doc.tex -> doc/luatex/luatexko/
- README (this file) -> doc/luatex/luatexko/
- ChangeLog -> doc/luatex/luatexko/
+ luatexko.sty -> tex/luatex/luatexko/
+ luatexko-core.sty -> tex/luatex/luatexko/
+ luatexko.lua -> tex/luatex/luatexko/
+ luatexko-normalize.lua -> tex/luatex/luatexko/
+ luatexko-uhc2utf8.lua -> tex/luatex/luatexko/
+
+Documents
+
+ luatexko-doc.pdf -> doc/luatex/luatexko/
+ luatexko-doc.tex -> doc/luatex/luatexko/
+ README (this file) -> doc/luatex/luatexko/
+ ChangeLog -> doc/luatex/luatexko/
Loading
@@ -57,98 +57,103 @@
For a LaTeX user, declaring
- \usepackage{luatexko}
+ \usepackage{luatexko}
or
- \usepackage{kotex}
+ \usepackage{kotex}
is sufficient to load the package, which will load fontspec as well.
Notice that kotex.sty is a file provided by cjk-ko package.
Under plain TeX:
- \input luatexko.sty
+ \input luatexko.sty
Package Options
---------------
- [hangul]
+ [hangul]
Load Hangul captions. Besides, this option adjusts interword and
-interline spacing.
+interline spacing. Declares \hangulpunctuations=1 as well.
- [hanja]
-Load Hanja captions. Also adjusts spacing as [hangul] option does.
+ [hanja]
+Load Hanja captions. Also apply other settings as [hangul] option does.
- [unfonts]
-Load font setting predefined for Un TrueType fonts available at
-[this link](http://kldp.net/projects/unfonts/).
+ [nofontspec]
+Prevents loading of fontspec package. Entire document will be typeset
+with Type1 fonts.
Hangul Font Commands
--------------------
- \setmainhangulfont
- \setsanshangulfont
- \setmonohangulfont
+ \setmainhangulfont
+ \setsanshangulfont
+ \setmonohangulfont
Equivalent to \setmainfont et. al. of fontspec package. These fonts are
used when the font loaded by \setmainfont et. al. does not have Hangul
glyphs.
- \setmainhanjafont
- \setsanshanjafont
- \setmonohanjafont
+ \setmainhanjafont
+ \setsanshanjafont
+ \setmonohanjafont
These fonts are used when the font loaded by \setmainfont or
\setmainhangulfont et. al. does not have Hanja glyphs.
+ \setmainfallbackfont
+ \setsansfallbackfont
+ \setmonofallbackfont
+These fonts are used when the font loaded by \setmainfont,
+\setmainhangulfont, or \setmainhanjafont et. al. does not have Hanja
+glyphs.
+
In like manner, these commands are available as well:
- \hangulfontspec
- \hanjafontspec
- \newhangulfontfamily
- \newhanjafontfamily
- \addhangulfontfeature
- \addhanjafontfeature
+ \hangulfontspec \newhangulfontfamily \addhangulfontfeature
+ \hanjafontspec \newhanjafontfamily \addhanjafontfeature
+ \fallbackfontspec \newfallbackfontfamily \addfallbackfontfeature
+
+If any of these CJK fonts are not specified, Nanum Type1 fonts from
+nanumtype1 package will be used for typesetting CJK characters.
Hangul Font Options
-------------------
- [InterHangul=<dimen>]
+ [InterHangul=<dimen>]
Set spacing between Hangul characters.
- [InterLatinCJK=<dimen>]
+ [InterLatinCJK=<dimen>]
Set spacing between CJK and Latin characters.
- [PunctRaise=<dimen>]
-Raise Latin fullstop and comma after CJK character.
-
- [QuoteRaise=<dimen>]
-Raise Latin quotation marks and parentheses around CJK text.
-
- [CharRaise=<dimen>]
+ [CharRaise=<dimen>]
Raise CJK characters by <dimen>.
Other User Commands
-------------------
- \luatexuhcinputencoding=<number>
+ \luatexuhcinputencoding=<number>
When <number> is 1 or greater, UHC (aka. Windows CP949) input encoding
is allowed. <number> 0 restores UTF-8, the default input encoding.
- \dotemph{...}
+ \hangulpunctuations=<number>
+When <number> is 1 or greater, latin punctuations will be typeset with
+hangul fonts.
+
+ \dotemph{...}
Emphasise Hangul or Hanja by putting dot above.
- \ruby{<base text>}{<ruby text>}
+ \ruby{<base text>}{<ruby text>}
Typeset ruby annotations.
- \uline{...}
- \sout{...}
- \uuline{...}
- \xout{...}
- \uwave{...}
- \dashuline{...}
- \dotuline{...}
+ \uline{...}
+ \sout{...}
+ \uuline{...}
+ \xout{...}
+ \uwave{...}
+ \dashuline{...}
+ \dotuline{...}
Same functionality as those ulem package provides.
Files old/doc/luatex/luatexko/luatexko-doc.pdf and new/doc/luatex/luatexko/luatexko-doc.pdf differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/doc/luatex/luatexko/luatexko-doc.tex new/doc/luatex/luatexko/luatexko-doc.tex
--- old/doc/luatex/luatexko/luatexko-doc.tex 2013-05-21 00:04:14.000000000 +0200
+++ new/doc/luatex/luatexko/luatexko-doc.tex 2014-05-14 00:13:08.000000000 +0200
@@ -7,123 +7,165 @@
%% public domain
\documentclass[a4paper]{article}
-\usepackage{typearea}
+\usepackage[hmargin=3.9cm]{geometry}
\usepackage[hangul]{luatexko}
\usepackage{luamplib}
\setmainhangulfont[
+ Ligatures=TeX,
+ AutoFakeSlant,
+ UprightFont=* Light,
+ BoldFont=* Bold,
InterLatinCJK=.125em,
- QuoteRaise=.1em,
- Expansion,
- ]{NanumMyeongjo}
-\setmainhanjafont{UnBatang}
+ Expansion, Protrusion,
+]{KoPubBatang_Pro}
\setsanshangulfont[
+ Ligatures=TeX,
+ UprightFont=* Light,
+ BoldFont=* Bold,
InterLatinCJK=.125em,
- ]{NanumGothic}
+]{KoPubDotum_Pro}
\usepackage[svgnames]{xcolor}
-\usepackage{mflogo}
-\usepackage{metalogo}
-\usepackage[unicode,bookmarksnumbered]{hyperref}
+\usepackage{hologo}
+\def\luatex{\hologo{LuaTeX}}
+\def\MP{\hologo{METAPOST}}
+\def\XeTeX{\hologo{XeTeX}}
+\usepackage[pdfencoding=auto,bookmarksnumbered,hidelinks]{hyperref}
\edef\verbatim{\unexpanded\expandafter{\verbatim
\linespread{1.1}\selectfont\color{MidnightBlue}}}
\edef\itemize{\unexpanded\expandafter{\itemize\small}}
-\catcode`|=13 \def|{\verb|\color{MidnightBlue}} %|
-\let\luatex\LuaTeX
-\def\luatexko{\luatex-k$o$}
+\catcode`|=13 \def|{\verb|\color{MidnightBlue}\let\\=\textbackslash} %|
+\def\logoko{\textsf{k}\kern-.0625em\textit{o}}
+\def\luatexko{\luatex-\logoko}
\def\texlive{\TeX\ Live}
-\def\kotex{\textsf{k}\kern-.1em \textit{o}\kern-.1ex .\kern-.1667em \TeX}
+\def\kotex{\logoko\kern-.1ex .\kern-.1667em \TeX}
\edef\section#1{\unexpanded\expandafter{\section{\empty}\vskip-5pt\hrule\nobreak\vskip5pt}}
\def\hemph#1{\textsf{\bfseries #1}}
+\def\cs#1{\texttt{\color{MidnightBlue}\textbackslash\detokenize{#1}}}
+\def\ldots{$\dots$}
+\widowpenalty10000 \clubpenalty10000
\begin{document}
\title{\luatexko\ 간단 매뉴얼}
-\author{Dohyun Kim \normalsize <|nomos at ktug org|> \and
- \normalsize <|http://github.com/dohyunkim/luatexko|>}
-\date{Version 1.1\quad\today}
+\author{Dohyun Kim \normalsize |<nomos at ktug org>| \and
+ \normalsize \url{http://github.com/dohyunkim/luatexko}}
+\date{Version 1.5\quad 2014/05/11}
\maketitle
\begin{quote}\small
- For summary introduction in English, please see |README| file in this package.
+ For a summary introduction in English, please see |README| file.
- 주요 변경 사항:
\begin{itemize}\itemsep=0pt
- \item 플레인텍에서도 luatexko.sty을 불러야 한다.
- \item 패키지 옵션 |unfonts|가 선언되지 않으면 은글꼴을 자동으로
- 부르지 않는다.
- \item 글꼴 옵션에 |QuoteRaise|가 추가되었다. 또한 옵션값을
- |<dimen>|으로 지시한다.
- \item 세로쓰기를 더 이상 공식적으로 지원하지 않는다.
- \item \MP\ 코드를 넣으려면 luamplib 패키지를 불러야 한다.
+ \item[v1.0] ------
+ \item \hyperref[sec:loading]{플레인텍에서도 luatexko.sty을 불러야 한다.}
+ \item \hyperref[sec:packageopt]{패키지 옵션 |unfonts|가 선언되지 않으면
+ 은글꼴을 자동으로 부르지 않는다.}
+ \item \hyperref[sec:fontoption]{글꼴 옵션값을 |<dimen>|으로 지시한다.}
+ \item \hyperref[sec:metapost]{\MP\ 코드를 넣으려면 luamplib 패키지를
+ 불러야 한다.}
+ \item[v1.3] ------
+ \item \hyperref[sec:fontcmds]{fallbackfont 계열의 명령이 추가되었다.}
+ \item \hyperref[sec:fontswitch]{\cs{hangulpunctuations} 선언이 추가되고,
+ |QuoteRaise| 옵션이 없어졌다.}
+ \item \hyperref[sec:autojosa]{\cs{josaignoreparens=1}이 선언되면
+ 자동조사 결정시 괄호 부분을 무시한다.}
+ \item[v1.5] ------
+ \item \hyperref[sec:verttype]{세로쓰기를 지원하기 위한 실험적 코드가
+ 들어갔다.}
+ \item \hyperref[sec:actualtext]{\cs{actualtext} 명령이 추가되었다.}
+ \item \hyperref[sec:fontswitch]{한글·한자 글꼴의 지정이 없으면
+ 나눔 Type1을 이용한다.}
+ \item \hyperref[sec:packageopt]{패키지 옵션 |[nofontspec]|이 추가되었다.}
\end{itemize}
\end{quote}
\section{}
\hemph{\texlive\ 2013 이상}을 사용해야 한다.
+세로쓰기를 위해서는 \texlive\ 2014 이상이 필요하다.
아직 \luatex은 베타 상태로 개발 중에 있으므로 안정적인 동작을 보장하지 않는다.
-\section{}
-\luatexko\ 로드하기: |\usepackage{luatexko}|. 플레인텍은
-|\input luatexko.sty|. 입력은 원칙적으로 UTF-8으로 한다.
+\section{}\label{sec:loading}
+\luatexko\ 로드하기: \cs{usepackage{luatexko}}. 플레인텍은
+\cs{input luatexko.sty}. 입력은 원칙적으로 UTF-8으로 한다.
BOM (Byte Order Mark)은 있어도 좋고 없어도 좋다.
CP949 인코딩에 관해서는 제\ref{sec:uhcencoding}절 참조.
-\section{}
-패키지 옵션으로 |[hangul]|과 |[hanja]|가 제공된다. 장 제목이나
-표·그림 캡션 따위가 한글 또는 한자 방식으로 표시된다. 다만
+\section{}\label{sec:packageopt}
+패키지 옵션으로 |[hangul]|과 |[hanja]|가 제공된다. 행간격 조정이 행해지며
+장 제목이나 표·그림 캡션 따위가 한글 또는 한자 방식으로 표시된다. 다만
장(chapter) 제목과 편(part) 제목에만 ``제(第)''가 붙어 ``제~1 편''
``제~3 장''과 같은 방식으로 표시되며 절 제목 이하에는 붙지 않는다.
-또한 |[unfonts]|는 은글꼴을 불러오는 패키지 옵션이다.
-이전 버전과 달리 \hemph{은글꼴이 기본으로 로드되지 않음}에 유의할 것.
+|[unfonts]|는 은글꼴 트루타입을 불러오는 패키지 옵션이다.\footnote{%
+ |nofontspec| 옵션과 함께 사용할 수 없다. 또한 이 옵션은
+ deprecated 상태로서 2015년에는 사라질 예정이다.}
+이전 버전과 달리 은글꼴이 기본으로 로드되지 않음에 유의할 것.
+
+|[nofontspec]| 옵션을 주면 fontspec을 부르지 않는다.
+따라서 아래 \ref{sec:fontcmds}, \ref{sec:fontswitch}, \ref{sec:fontoption},
+\ref{sec:verttype}, \ref{sec:mathhangul}절의 유니코드 한국어 글꼴 설정
+명령들도 사용할 수 없다.
-\section{}
+\section{}\label{sec:fontcmds}
\luatexko를 로드하면 fontspec 패키지를 자동으로 불러온다. 글꼴 설정에
대해서는 fontspec 문서를 참조하라.
한국어 글꼴을 위해 새로 마련한 명령은 다음과 같다.
\begin{verbatim}
- \setmainhangulfont \setmainhanjafont
- \setsanshangulfont \setsanshanjafont
- \setmonohangulfont \setmonohanjafont
- \newhangulfontfamily \newhanjafontfamily
- \addhangulfontfeature \addhanjafontfeature
- \hangulfontspec \hanjafontspec
+ \setmainhangulfont \setmainhanjafont \setmainfallbackfont
+ \setsanshangulfont \setsanshanjafont \setsansfallbackfont
+ \setmonohangulfont \setmonohanjafont \setmonofallbackfont
+ \newhangulfontfamily \newhanjafontfamily \newfallbackfontfamily
+ \addhangulfontfeature \addhanjafontfeature \addfallbackfontfeature
+ \hangulfontspec \hanjafontspec \fallbackfontspec
\end{verbatim}
-|\adhochangulfont| |\adhochanjafont|는 각각 |\hangulfontspec|
-|\hanjafontspec|의 다른 이름이다.
+\cs{adhochangulfont} \cs{adhochanjafont} \cs{addhocfallbackfont}는 각각
+\cs{hangulfontspec} \cs{hanjafontspec} \cs{fallbackfontspec}의 다른 이름이다.
\begin{itemize}\item[]
플레인텍에서 한글 글꼴 설정은 영문 글꼴 지정하는 방식과 거의 같다.
\begin{verbatim}
\hangulfont=UnDotum\relax
\hanjafont=UnDotum at 14pt
+ \fallbackfont=HanaMinB at 12pt
\hangulfont=UnDotum scaled 2000
- \hanjafont{HCR Batang LVT}\relax
+ \hanjafont="HCR Batang LVT"\relax
\hangulfont={HCR Batang LVT:script=hang;+dlig} at 12pt
\end{verbatim}
\end{itemize}
-\section{}
-원칙적으로 \luatexko에서는 영문폰트에 지정한 글자가 없으면 한글폰트에서,
-한글폰트에도 없으면 한자폰트에서 글자를 찾아 찍는다. 기존 \kotex과는
-글꼴 대체 방식이 다르므로 주의해야 한다.
+\section{}\label{sec:fontswitch}
+원칙적으로 \luatexko는 지시된 글자가 영문폰트에 없으면 한글폰트에서,
+한글폰트에도 없으면 한자폰트에서, 한자폰트에도 없으면 fallback
+폰트에서 글자를 찾아 찍는다. 세 가지 \hemph{모두 지정되지 않았다면 나눔 Type1
+폰트를} 이용한다. 기존 \kotex과는 글꼴 대체 방식이 다르므로 주의해야 한다.
-하지만 |\hanjabyhanjafont=1|을 선언하면 한자는 우선 한자글꼴로
+하지만 \cs{hanjabyhanjafont=1}을 선언하면 한자는 우선 한자글꼴로
식자한다. |0|을 선언하면 원래 방식으로 되돌아간다. 이 명령은 문단
중간에서 사용하지 않도록 주의해야 한다. 문단 중에 사용되었다면
그 문단의 처음부터 효력이 발생한다.
-\section{}
+\cs{hangulpunctuations=1}을 선언하면 영문 \hemph{문장부호들을 한글 폰트로}
+식자한다. |0|을 지시하면 원래 상태로 되돌린다.
+|[hangul]| 옵션을 주면 \cs{hangulpunctuations=1}이 자동으로
+선언된다.\footnote{나눔 Type1 상태면 그러하지 아니하다.}
+이 선언에 의해 영향 받는 문장부호들을 다음처럼 지정할 수 있다.
+인자는 콤마로 연결된 숫자 형식으로서 유니코드 코드포인트를 뜻한다.
+\begin{verbatim}
+ \registerpunctuations{45, "2D, `-}
+ \unregisterpunctuations{"2D, "2015}
+\end{verbatim}
+
+
+\section{}\label{sec:fontoption}
fontspec의 글꼴 옵션 외에 \luatexko가 따로 제공하는 것들이
있다.\footnote{ 옛한글 식자를 위해서는
- |[Script=Hangul]| 옵션을 사용하는 것으로 충분하다. 그러나
- |[YetHangul]| 옵션을 써도 무해하다.}
+ |[Script=Hangul]| 옵션을 사용하는 것으로 충분하다.}
\begin{figure}
\fboxsep=1em
\fbox{\vbox{\hsize\dimexpr\linewidth-2.1em\relax
-% \fontspec[Script=Hangul]{malgungothic}
- \fontspec[Script=Hangul]{HCR Dotum LVT}
- \centering
+ \fontspec[Script=Hangul,Ligatures=Required]{HCR Dotum LVT}
+ \leftskip2.5cm
뎨 가ᄂᆞᆫ 뎌 각시 본 듯도 ᄒᆞᆫ뎌이고.\\
天텬上상白ᄇᆡᆨ玉옥京경을 엇디ᄒᆞ야 離니別별ᄒᆞ고\\
ᄒᆡ 다 져믄 날의 눌을 보라 가시ᄂᆞᆫ고
@@ -135,7 +177,7 @@
엇딘디 날 보시고 네로다 녀기실ᄉᆡ\\
나도 님을 미더 군 ᄠᅥ디 전혀 업서\\
이ᄅᆡ야 교ᄐᆡ야 어ᄌᆞ러이 구돗ᄯᅥᆫ디\\
-반기시ᄂᆞᆫ ᄂᆞᆺ비치 녜와 엇디 다ᄅᆞ신고.\\
+반기시ᄂᆞᆫ ᄂᆞᆺ비치 녜와 엇디 다ᄅᆞ신고.%\\
%누어 ᄉᆡᆼ각ᄒᆞ고 니러 안자 혜여ᄒᆞ니\\
%내 몸의 지은 죄 뫼ᄀᆞ티 ᄡᅡ혀시니\\
%하ᄂᆞᆯ히라 원망ᄒᆞ고 사ᄅᆞᆷ이라 허믈ᄒᆞ랴\\
@@ -145,40 +187,38 @@
\end{figure}
\begin{description}
-\item[InterHangul] 한글 글자 사이의 자간. 아래는 $-0.04$em 만큼 한글
- 자간을 지시한다.
+ \item[InterHangul] {\addhangulfontfeature{InterHangul=.5ex}한글 글자
+ 사이의 자간}. 아래는 $-0.04$em 만큼 한글
+ 자간을 지시한다. 플레인텍에서는 |interhangul|.
\begin{verbatim}
[InterHangul=-0.04em]
\end{verbatim}
\item[InterLatinCJK] 한글 또는 한자와 라틴 문자 사이의 자간을
- 설정한다.
+ 설정한다. 플레인텍에서는 |interlatincjk|.
\begin{verbatim}
[InterLatinCJK=0.125em]
\end{verbatim}
-\item[PunctRaise] 한글 또는 한자 다음에 라틴 구두점이 왔을 때 그 세로
- 위치를 조절할 수 있다.
-\begin{verbatim}
- [PunctRaise=-0.125em]
-\end{verbatim}
-
-\item[QuoteRaise] 한글 또는 한자 주변에 라틴 인용부호나 \hemph{괄호}가 왔을 때
- 그 세로 위치를 조절할 수 있다.
-\begin{verbatim}
- [QuoteRaise=0.125em]
-\end{verbatim}
-
\item[CharRaise] 글자의 세로 위치를
{\addhangulfontfeature{CharRaise=.3em} 조절}할 수 있는 기능이다.
이로써 주변에 식자되는 다른 글꼴과 조화를 이루게 한다.
+ 플레인텍에서는 |charraise|.
\begin{verbatim}
[CharRaise=0.1em]
\end{verbatim}
+\item[PunctRaise] 한글 또는 한자 다음에 라틴 구두점---마침표에
+ 한한다---이 왔을 때 그 세로 위치를 조절할 수 있다.
+ \cs{hangulpunctuations}로 인해 거의 쓸 일이 없게 되었다.
+ 플레인텍에서는 |punctraise|.
+\begin{verbatim}
+ [PunctRaise=-0.125em]
+\end{verbatim}
+
\item[Protrusion] 특정 글자가 행 끌에 왔을 때 판면 바깥으로 끌어내는
기능이다. Lua\LaTeX의 기본값은 구두점들만 완전히 글자내밀기 한다. 즉
- hanging punctuation이 작동한다.
+ hanging punctuation이 작동한다. 플레인텍에서는 |protrusion|.
\begin{verbatim}
[Protrusion]
\end{verbatim}
@@ -186,7 +226,7 @@
있으면 자신만의 설정을 만들어 지정할 수 있다.
\item[Expansion] 판면의 균일한 조판을 위해 글자들을 미세하게 늘이거나
- 줄이는 기능이다.
+ 줄이는 기능이다. 플레인텍에서는 |expansion|.
\begin{verbatim}
[Expansion]
\end{verbatim}
@@ -197,15 +237,15 @@
\section{}
\begin{figure}\linespread{1.388}\selectfont\hfil
\fbox{\vbox{\hsize=36em \begin{chinese} \setmainfont{STFangsong}
-子曰:「學而時習之,不亦說乎?有朋自遠方來,不亦樂乎?人不知而不慍,不亦君子乎?」
-
-有子曰:「其為人也孝弟,而好犯上者,鮮矣!不好犯上,而好作亂者,未之有也!君子務本,本立而道生;孝弟也者,其為仁之本歟?」
-
-子曰:「巧言令色,鮮矣仁!」
-
-曾子曰:「吾日三省吾身:為人謀,而不忠乎?與朋友交,而不信乎?傳,不習乎?」
-
-子曰:「道千乘之國,敬事而信,節用而愛人,使民以時。」
+子曰:「學而時習之,不亦說乎?有朋自遠方來,不亦樂乎?人不知而不慍,
+不亦君子乎?」\par
+有子曰:「其為人也孝弟,而好犯上者,鮮矣!不好犯上,而好作亂者,未之有也!
+君子務本,本立而道生;孝弟也者,其為仁之本歟?」\par
+子曰:「巧言令色,鮮矣仁!」\par
+曾子曰:「吾日三省吾身:為人謀,而不忠乎?與朋友交,而不信乎?傳,
+不習乎?」\par
+子曰:「道千乘之國,敬事而信,節用而愛人,使民以時。」\par
+子曰:「弟子入則孝,出則弟;謹而信,汎愛衆;而親仁,行有餘力,則以學文。」
\end{chinese}}}\hfil
\caption{고문헌 조판 보기}\label{fig:ancientdoc}
\end{figure}
@@ -213,73 +253,62 @@
고문헌·일본어·중국어 조판을 위해 japanese, Schinese, Tchinese 환경을
제공한다. chinese는 Schinese의 다른 이름이다. korean 환경도
마련했는데 이들 환경 안에서 잠깐 한국어를 조판하는 데
-사용한다. 일본어·중국어라도 글꼴 설정은 |\newhangulfontfamily|
-|\newhanjafontfamily| 따위를 이용한다. 그림~\ref{fig:ancientdoc} 참조.
+사용한다. 일본어·중국어라도 글꼴 설정은 \cs{newhangulfontfamily}
+\cs{newhanjafontfamily} 따위를 이용한다. 그림~\ref{fig:ancientdoc} 참조.
+플레인텍에서는 {\small(문서 전체에 적용하지 않는다면 그룹을 열고)}
+\cs{chinese} \cs{japanese} 따위를 사용한다.
-\section{}
\luatexko가 글자 사이에 삽입하는 미세간격을 사용자가 영(zero)으로
-강제하기 위해선 |\inhibitglue| 명령을 이용한다.
+강제하기 위해선 \cs{inhibitglue} 명령을 이용한다.
대체로 일본어·중국어 환경에서만 문제된다.
-\section{}
-\begin{quote}
- |$가^{나^다}$|\quad$\Rightarrow\quad가^{나^다}$
-\end{quote}
-수식 모드에서도 한글을 {\small(hbox로 감싸지 않고)} 직접 입력할 수
-있다. 문서의 기본 한글 글꼴이 자동으로 수식 한글에도 적용되므로 따로
-설정할 것이 없지만 굳이 한다면 다음처럼 지시한다.
-\begin{verbatim}
- \setmathhangulfont{HCRBatang}
-\end{verbatim}
-현재 한글만 쓸 수 있게 설정되어 있다.
+\section{}\label{sec:verttype}
+세로쓰기는 폰트의 고급 오픈타입 자질을 이용하므로 폰트가 이를 지원해야
+가능한 일이다. 폰트에 |Vertical=RotatedGlyphs| 옵션을 준다.
+플레인텍이라면 |vertical;+vrt2| 옵션. |vrt2| 자질을 갖지 않는 폰트를 쓰는
+경우 |vert| 자질을 명시해주어야 한다. 둘 다 없으면 세로쓰기에 적합하지 않은
+글꼴이다.
+세로쓰기에는 \hemph{\luatex\ 0.79 이상}, 즉 \texlive\ 2014 이후
+버전이 필요하다.
+
+문서의 일부를 세로쓰기하려면 \cs{begin{vertical}{<dimen>}} \ldots\ \cs{end{vertical}}
+환경을 이용하라. |<dimen>|으로 세로쓰기 박스의 높이를 지시한다.
+그림~\ref{fig:vertical} 참조.
+플레인텍에서는 \cs{vertical{<dimen>}} \ldots\ \cs{endvertical}.
+
+문서 전체를 세로쓰기한다면 이 환경을 쓰는 대신
+\cs{verticaltypesetting} 명령을 전처리부에 선언한다.
+이때 면주의 폰트에는 세로쓰기 옵션이 없어야 할 것이다.
-\section{}
-\luatex 에서는 아직 \hemph{세로쓰기를 지원하지 않는다}.%
-\footnote{굳이 세로쓰기를 실험해보고자 한다면 |ttx -t vmtx <폰트>.ttf|
- 명령의 결과물인 |<폰트>.ttx| 파일을 현재 디렉토리에 두어야 한다. 그런 다음
- |\string\begin\string{vertical\string}\string{<dimen>\string}
- ...\string\end\string{vertical\string}| 환경을 이용하라. ttx에 대해선
- \url{http://sourceforge.net/projects/fonttools/} 참조.
- 문서 전체에 대해 세로쓰기를 하려면 이 환경을 쓰는 대신
- |\string\verticaltypesetting| 명령을 전처리부에 선언한다.}
-
-%\begin{figure}
-%\hfil\framebox[\linewidth]{\begin{vertical}{16em}
-%\fontspec[Vertical=RotatedGlyphs]{Adobe Myungjo Std Medium}
-%\parindent-1em\leftskip1em \linespread{1.5}\selectfont
-%\noindent 님의 침묵{\small(The Silent Beloved)}
-%\smallbreak
-%\hfil\hfil 한 용 운\hfil
-%\bigbreak
-%님은 갓슴니다 아아 사랑하는나의님은 갓슴니다\par
-%푸른산빗을깨치고 단풍나무숩을향하야난 적은길을 거러서 참어떨치고
-%갓슴니다\par
-%黃金의꽃가티 굿고빗나든 옛盟誓는 차듸찬띠끌이되야서 한숨의 微風에
-%나러갓슴니다\par
-%날카로은 첫〈키쓰〉의追憶은 나의運命의指針을 돌너노코 뒷거름처서 사러젓슴니다\\
-%%…… \par
-%\hellipsis\par
-%아아 님은갓지마는 나는 님을보내지 아니하얏슴니다\par
-%제곡조를못이기는 사랑의노래는 님의沈默을 휩싸고돔니다\par
-%\end{vertical}}
-%\caption{세로쓰기의 예}\label{fig:vertical}
-%\end{figure}
+\begin{figure}
+\framebox[\linewidth]{\begin{vertical}{17em}
+\fontspec[Vertical=RotatedGlyphs,RawFeature=+vhal]{Adobe Myungjo Std}
+\parindent-1em\leftskip1em \linespread{1.5}\selectfont
+\noindent 님의 침묵(The Silent Beloved)
+\smallbreak
+\hfil\hfil 한 용 운\hfil
+\bigbreak
+님은 갓슴니다 아아 사랑하는나의님은 갓슴니다\par
+푸른산빗을깨치고 단풍나무숩을향하야난 적은길을 거러서 참어떨치고
+갓슴니다\par
+黃金의꽃가티 굿고빗나든 옛盟誓는 차듸찬띠끌이되야서 한숨의 微風에
+나러갓슴니다\par
+날카로은 첫〈키쓰〉의追憶은 나의運命의指針을 돌너노코 뒷거름처서 사러젓슴니다\par
+%…… \par
+\hellipsis\par
+아아 님은갓지마는 나는 님을보내지 아니하얏슴니다\par
+제곡조를못이기는 사랑의노래는 님의沈默을 휩싸고돔니다\par
+\end{vertical}}
+\caption{세로쓰기의 예}\label{fig:vertical}
+\end{figure}
-\section{}
-전처리부에서 |\usepackage{luamplib}|을 선언하면 \MP\ 코드를 문서 중간에 삽입할 수 있다.
-한글이나 수식은 |btex| ... |etex| 안에 넣어야 한다. 그림~\ref{fig:mplib} 참조.
+\section{}\label{sec:metapost}
+전처리부에서 \cs{usepackage{luamplib}}을 선언하면 \MP\ 코드를 문서 중간에
+삽입할 수 있다. 한글이나 수식은 |btex| \ldots\ |etex| 안에 넣어야 한다.
+그림~\ref{fig:mplib} 참조. 상세한 것은 luamplib 패키지 문서를 참조하라.
\begin{figure}
-\setbox0\hbox{%
-\begin{mplibcode}
-beginfig(1);
- draw fullcircle scaled 2cm;
- dotlabel.bot(btex\TeX etex, origin);
- dotlabel.rt(btex 루아 etex, dir 45*1cm);
-endfig;
-\end{mplibcode}
-}%
-\setbox2\vbox{\bigskip
+\setbox0\vbox{\kern10pt
\begin{verbatim}
\usepackage{luamplib}
...
@@ -287,47 +316,70 @@
beginfig(1);
draw fullcircle scaled 2cm;
dotlabel.bot(btex \TeX etex, origin);
- dotlabel.rt(btex 루아 etex, dir 45*1cm);
+ dotlabel.rt(btex 루아 etex, dir45*1cm);
endfig;
\end{mplibcode}
-\end{verbatim}}\wd2=.7\linewidth
-\framebox[\linewidth]{\box2 \raise.8cm\box0 }
+\end{verbatim}}
+\begin{mplibcode}
+beginfig(1);
+ draw btex \copy0 etex shifted (-\mpdim{\textwidth-3cm},-\mpdim{.5\ht0});
+ draw fullcircle scaled 2cm;
+ dotlabel.bot(btex\TeX etex, origin);
+ dotlabel.rt(btex 루아 etex, dir 45*1cm);
+ bboxmargin:=0; draw bbox currentpicture;
+endfig;
+\end{mplibcode}
\caption{mplib 용례}\label{fig:mplib}
\end{figure}
+\section{}\label{sec:mathhangul}
+\begin{quote}
+ |$가^{나^다}$|\quad$\Rightarrow\quad가^{나^다}$
+\end{quote}
+수식 모드에서도 한글을 {\small(hbox로 감싸지 않고)} 직접 입력할 수
+있다. 문서의 기본 한글 글꼴이 자동으로 수식 한글에도 적용되므로 따로
+설정할 것이 없지만 굳이 한다면 다음처럼 지시한다.
+\begin{verbatim}
+ \setmathhangulfont{HCRBatang}
+\end{verbatim}
+현재 한글만 쓸 수 있게 설정되어 있다.
+한자도 수식에 직접 입력하려면 사용자는
+\begin{verbatim}
+ \setmathhangulblock{4E00}{9FC3}
+\end{verbatim}
+명령으로 유니코드 블럭을 추가 지정해야 한다.
+
\section{}
-|\dotemph| 명령으로 \dotemph{드러냄표}%
+\cs{dotemph} 명령으로 \dotemph{드러냄표}%
를 이용한 강조를 할 수 있다. 기본은 글자 위에 점을 찍는 형태이나
다음과 같이 명령을 주어 개인적으로 선호하는 기호를 드러냄표로 쓸 수
있다.
-\begin{verbatim}
- \def\dotemphraise{0.4em }
- \def\dotemphchar{\bfseries ^^^^02d9}
-\end{verbatim}
-전자는 드러냄표를 피강조 글자 위로 끌어올리는 길이를, 후자는 드러냄표
-기호 자체를 정의한다. |^^^^02d9|는 유니코드 코드포인트를 뜻하는
-16진수이고 소문자로만 써야 한다. 숫자 대신 직접 문자를 입력해도 된다.
-플레인텍에서도 쓸 수 있다.
+
+①~|\def\dotemphraise{0.4em }|: 드러냄표를 피강조 글자 위로 끌어올리는 길이
+
+②~|\def\dotemphchar{\bfseries ^^^^02d9}|: 드러냄표 기호 자체를 정의.
+|^^^^02d9|는 유니코드 코드포인트를 뜻하는 16진수이고 소문자로만 써야 한다.
+숫자 대신 직접 문자를 입력해도 된다. 플레인텍에서도 쓸 수 있다.
\section{}
루비를 달 수 있다. ruby 패키지가 이미 존재하지만 \luatexko와 궁합이 잘
맞지 않아 새로 매크로를 제공한다. 플레인텍도 지원한다.
\begin{quote}
-|\ruby{漢字}{한자}|\quad$\Rightarrow$\quad\ruby{漢字}{한자}
+ \cs{ruby{漢字}{한자}}\quad$\Rightarrow$\quad\ruby{漢字}{한자}
\end{quote}
이처럼 글자별로 따로 루비를 달 필요가 없다. 관련 설정은 다음처럼
한다.
-①~|\rubyfont|: 루비를 식자할 폰트를 지시해 둔다.
+①~\cs{rubyfont}: 루비를 식자할 폰트를 지시해 둔다. 기본값은 현재 폰트.
②~|\def\rubysize{0.6}|: 루비 글자 크기를 본문 글자 크기에 대한 비율로
지정
③~|\def\rubysep{0.2ex}|: 루비와 본문 글자 사이의 간격을 지정
-④~|\rubynooverlap|: 루비의 폭이 본문 글자의 폭보다 클 때 루비가 이웃
+④~\cs{rubynooverlap}: 루비의 폭이 본문 글자의 폭보다 클 때 루비가 이웃
글자들 위로 삐져나가지 못하게 한다. 본문 글자의 흐름을 중시하여
-|\rubyoverlap|을 기본값으로 하였으므로 이는 따로 선언할 필요가 없다.
+\cs{rubyoverlap}을 기본값으로 하였으므로 이는 따로 선언할 필요가 없다.
\section{}
ulem 패키지가 \luatexko와 궁합이 잘 맞지 않아{\small (줄바꿈에 문제가 있음)}
@@ -335,13 +387,13 @@
\bigskip
\halign{\qquad#\hfil&\quad$\Rightarrow$\quad#\hfil\cr
-|\uline{밑줄을 그을 수 있다}|&\uline{밑줄을 그을 수 있다}\cr
-|\sout{취소선을 그을 수 있다}|&\sout{취소선을 그을 수 있다}\cr
-|\uuline{밑줄을 두 줄 긋는다}|&\uuline{밑줄을 두 줄 긋는다}\cr
-|\xout{빗금으로 취소할 수 있다}|&\xout{빗금으로 취소할 수 있다}\cr
-|\uwave{물결표로 밑줄을 삼는다}|&\uwave{물결표로 밑줄을 삼는다}\cr
-|\dashuline{대시로 밑줄을 삼는다}|&\dashuline{대시로 밑줄을 삼는다}\cr
-|\dotuline{밑줄을 점선으로 긋는다}|&\dotuline{밑줄을 점선으로 긋는다}\cr
+\cs{uline{밑줄을 그을 수 있다}}&\uline{밑줄을 그을 수 있다}\cr
+\cs{sout{취소선을 그을 수 있다}}&\sout{취소선을 그을 수 있다}\cr
+\cs{uuline{밑줄을 두 줄 긋는다}}&\uuline{밑줄을 두 줄 긋는다}\cr
+\cs{xout{빗금으로 취소할 수 있다}}&\xout{빗금으로 취소할 수 있다}\cr
+\cs{uwave{물결표로 밑줄을 삼는다}}&\uwave{물결표로 밑줄을 삼는다}\cr
+\cs{dashuline{대시로 밑줄을 삼는다}}&\dashuline{대시로 밑줄을 삼는다}\cr
+\cs{dotuline{밑줄을 점선으로 긋는다}}&\dotuline{밑줄을 점선으로 긋는다}\cr
}
\bigskip
@@ -351,42 +403,55 @@
②~|\def\ulinewidth{0.04em}|: 밑줄의 굵기
-\section{}
-자동조사는 \kotex 과 동일하게 |\은| |\는| |\이| |\가| |\을| |\를|
-|\와| |\과| |\로| |\으로| |\라| |\이라| 따위를 사용한다. 문장 중에서도
-작동할 뿐만 아니라 플레인텍도 지원한다.
-
-\section{}
-항목 번호를 한국어 기호로 붙일 수 있다. \kotex과 동일하게 |\jaso|
-|\gana| |\ojaso| |\ogana| |\pjaso| |\pgana| |\onum| |\pnum| |\oeng|
-|\peng| |\hnum| |\Hnum| |\hroman| |\hRoman| |\hNum| |\hanjanum| 따위를
-사용한다.
+\section{}\label{sec:autojosa}
+자동조사는 \kotex 과 동일하게 \cs{은} \cs{는} \cs{이} \cs{가} \cs{을} \cs{를}
+\cs{와} \cs{과} \cs{로} \cs{으로} \cs{라} \cs{이라} 따위를 사용한다.
+문장 중에서도 작동할 뿐만 아니라 플레인텍도 지원한다.
+버전 1.3부터는 \cs{josaignoreparens=1}이 선언되어 있으면 자동조사는
+\hemph{괄호 부분을 건너뛰고} 그 앞 글자에 매칭한다.
+|0|이 선언되면 원래 방식으로 돌아간다.
+\begin{quote}
+ \cs{josaignoreparens=1} \josaignoreparens=1 \\
+ |홍길동(1992)\는|\quad$\Rightarrow$\quad 홍길동(1992)\는\\
+ |홍길동(2001)\로|\quad$\Rightarrow$\quad 홍길동(2001)\로\par
+ \cs{josaignoreparens=0} \josaignoreparens=0 \\
+ |홍길동(1992)\는|\quad$\Rightarrow$\quad 홍길동(1992)\는\\
+ |홍길동(2001)\로|\quad$\Rightarrow$\quad 홍길동(2001)\로
+\end{quote}
\section{}
-hyperref 패키지는 |[unicode]| 옵션을 주어야 한다.
+항목 번호를 한국어 기호로 붙일 수 있다. \kotex과 동일하게 \cs{jaso} \cs{gana}
+\cs{ojaso} \cs{ogana} \cs{pjaso} \cs{pgana} \cs{onum} \cs{pnum} \cs{oeng}
+\cs{peng} \cs{hnum} \cs{Hnum} \cs{hroman} \cs{hRoman} \cs{hNum} \cs{hanjanum}
+따위를 사용한다.
+
+\section{}\label{sec:actualtext}
+\cs{actualtext{...}} 명령은 인자를 식자함과 동시에, \hemph{입력한 문자 그대로}
+PDF에서 텍스트로 추출할 수 있게 해준다. 인자가 두 페이지에 나눠지지 않도록
+유의한다. 모든 PDF 리더가 이를 지원하는 것은 아니다. 예:
+$\actualtext{\sqrt 2}$,
+{\fontspec[Script=Hangul,Ligatures=Required]{HCR Dotum LVT}
+\actualtext{ᄆᆞᄎᆞᆷ〮내〯}}.
+인자가 글자 없이 그림으로만 돼있다면 \cs{actualtext*{...}} 방식을 이용한다.
\section{}
-|\luatexhangulnormalize=1|이라 지시하면 첫가끝 자모를 완성형 음절로,
+\cs{luatexhangulnormalize=1}이라 지시하면 첫가끝 자모를 완성형 음절로,
|2|라면 완성형 음절을 첫가끝 자모로 인코딩 변환한다. |0|이 할당되면
-인코딩 변환 기능이 꺼진다. \XeTeX의 |\XeTeXinputnormalization| 명령과
+인코딩 변환 기능이 꺼진다. \XeTeX의 \cs{XeTeXinputnormalization} 명령과
유사하나 오직 한글과 일부 한자에 대해서만 정규화가 작동하는 점에서
\XeTeX의 그것에 비해 기능이 한참 모자란다.
\section{}\label{sec:uhcencoding}
권장하지 않지만 불가피하게 입력 인코딩이 UHC {\small(CP949라고도 하며
-EUC-KR을 포함한다)}인 파일을 처리할 때는 |\luatexuhcinputencoding=1|을
+EUC-KR을 포함한다)}인 파일을 처리할 때는 \cs{luatexuhcinputencoding=1}을
선언한다. |0|을 할당하면 다시 UTF-8 입력으로 간주한다.
-\XeTeX의 |\XeTeXinputencoding| 명령과 유사하나 오직 한글만 처리할 수
+\XeTeX의 \cs{XeTeXinputencoding} 명령과 유사하나 오직 한국어 문자만 처리할 수
있어 \XeTeX의 그것에 비해 기능이 한참 모자란다.
\section{}
마찬가지로 바람직하지는 않지만 불가피하게 파일 이름이 UHC로 인코딩되어
-있다면 |\luatexuhcfilenames=1|을 선언한다. |0|을 할당하면 다시 UTF-8
+있다면 \cs{luatexuhcfilenames=1}을 선언한다. |0|을 할당하면 다시 UTF-8
이름으로 간주한다. 윈도 계열 운영체제에서만 문제될 것이다.
-
-\begin{flushright}
- \fboxsep=-\fboxrule
- \fbox{\vbox to 1em{\hbox to 1em{\hss}\vss}}
-\end{flushright}
+\hfill \fboxsep=-\fboxrule \fbox{\vbox to 1em{\hbox to 1em{\hss}\vss}}
\end{document}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tlpkg/tlpobj/luatexko.doc.tlpobj new/tlpkg/tlpobj/luatexko.doc.tlpobj
--- old/tlpkg/tlpobj/luatexko.doc.tlpobj 2013-05-21 03:46:07.000000000 +0200
+++ new/tlpkg/tlpobj/luatexko.doc.tlpobj 2014-05-14 03:24:36.000000000 +0200
@@ -1,9 +1,9 @@
name luatexko.doc
category Package
-revision 30597
+revision 34018
shortdesc doc files of luatexko
relocated 1
-docfiles size=120
+docfiles size=87
RELOC/doc/luatex/luatexko/ChangeLog
RELOC/doc/luatex/luatexko/README
RELOC/doc/luatex/luatexko/luatexko-doc.pdf
++++++ luatexko.tar.xz ++++++
++++ 3394 lines of diff (skipped)
++++++ luaxml.doc.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tlpkg/tlpobj/luaxml.doc.tlpobj new/tlpkg/tlpobj/luaxml.doc.tlpobj
--- old/tlpkg/tlpobj/luaxml.doc.tlpobj 2013-05-28 17:07:55.000000000 +0200
+++ new/tlpkg/tlpobj/luaxml.doc.tlpobj 2014-01-21 03:21:01.000000000 +0100
@@ -1,6 +1,6 @@
name luaxml.doc
category Package
-revision 30712
+revision 32741
shortdesc doc files of luaxml
relocated 1
docfiles size=32
++++++ luaxml.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tex/luatex/luaxml/dom-sample.lua new/tex/luatex/luaxml/dom-sample.lua
--- old/tex/luatex/luaxml/dom-sample.lua 1970-01-01 01:00:00.000000000 +0100
+++ new/tex/luatex/luaxml/dom-sample.lua 2014-01-21 00:19:52.000000000 +0100
@@ -0,0 +1,29 @@
+--kpse.set_program_name("luatex")
+function traverseDom(parser, current,level)
+ local level = level or 0
+ local spaces = string.rep(" ",level)
+ local root= current or parser._handler.root
+ local name = root._name or "unnamed"
+ local xtype = root._type or "untyped"
+ local attributes = root._attr or {}
+ if xtype == "TEXT" then
+ print(spaces .."TEXT : " .. root._text)
+ else
+ print(spaces .. xtype .. " : " .. name)
+ end
+ for k, v in pairs(attributes) do
+ print(spaces .. " ".. k.."="..v)
+ end
+ local children = root._children or {}
+ for _, child in ipairs(children) do
+ traverseDom(parser,child, level + 1)
+ end
+end
+
+local xml = require('luaxml-mod-xml')
+local handler = require('luaxml-mod-handler')
+local x = '<p>hello <a href="http://world.com/">world</a>, how are you?</p>'
+local domHandler = handler.domHandler()
+local parser = xml.xmlParser(domHandler)
+parser:parse(x)
+traverseDom(parser)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tex/luatex/luaxml/luaxml-mod-handler.lua new/tex/luatex/luaxml/luaxml-mod-handler.lua
--- old/tex/luatex/luaxml/luaxml-mod-handler.lua 2013-05-27 03:55:10.000000000 +0200
+++ new/tex/luatex/luaxml/luaxml-mod-handler.lua 2014-01-21 00:19:52.000000000 +0100
@@ -200,7 +200,7 @@
self:reduce(v,k,node)
end
end
- if table.getn(node) == 1 and not self.options.noreduce[key] and
+ if #node == 1 and not self.options.noreduce[key] and
node._attr == nil then
parent[key] = node[1]
else
@@ -214,7 +214,7 @@
node._attr=a
end
- local current = self.stack[table.getn(self.stack)]
+ local current = self.stack[#self.stack]
if current[t] then
table.insert(current[t],node)
else
@@ -224,8 +224,8 @@
end
obj.endtag = function(self,t,s)
- local current = self.stack[table.getn(self.stack)]
- local prev = self.stack[table.getn(self.stack)-1]
+ local current = self.stack[#self.stack]
+ local prev = self.stack[#self.stack-1]
if not prev[t] then
error("XML Error - Unmatched Tag ["..s..":"..t.."]\n")
end
@@ -237,7 +237,7 @@
end
obj.text = function(self,t)
- local current = self.stack[table.getn(self.stack)]
+ local current = self.stack[#self.stack]
table.insert(current,t)
end
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tex/luatex/luaxml/luaxml-pretty.lua new/tex/luatex/luaxml/luaxml-pretty.lua
--- old/tex/luatex/luaxml/luaxml-pretty.lua 1970-01-01 01:00:00.000000000 +0100
+++ new/tex/luatex/luaxml/luaxml-pretty.lua 2014-01-21 00:19:52.000000000 +0100
@@ -0,0 +1,89 @@
+--module(...,package.seeall)
+
+--- Lua pretty printer from <a href="http://mini.net/cgi-bin/lua/44.html">http://mini.net/cgi-bin/lua/44.html</a><br/>
+-- This was extracted from utility code in "util.lua".<br/>
+-- 23/02/2001 jcw@equi4.com<br/>
+-- Pretty displays a value, properly dealing with tables and cycles
+
+local displayvalue=
+ function (s)
+ if not s or type(s)=='function' or type(s)=='userdata' then
+ s=tostring(s)
+ elseif type(s)~='number' then
+ s=string.gsub(string.format('%q',s),'^"([^"\']*)"$',"'%1'")
+ end
+ return s
+ end
+
+local askeystr=
+ function (u,s)
+ if type(u)=='string' and string.find(u,'^[%w_]+$') then return s..u end
+ return '['..displayvalue(u)..']'
+ end
+
+local horizvec=
+ function (x,n)
+ local o,e='',''
+ for i=1,#x do
+ if type(x[i])=='table' then return end
+ o=o..e..displayvalue(x[i])
+ if string.len(o)>n then return end
+ e=','
+ end
+ return '('..o..')'
+ end
+
+local horizmap=
+ function (x,n)
+ local o,e='',''
+ for k,v in pairs(x) do
+ if type(v)=='table' then return end
+ o=o..e..askeystr(k,'')..'='..displayvalue(v)
+ if string.len(o)>n then return end
+ e=','
+ end
+ return '{'..o..'}'
+ end
+local M = {}
+local function pretty(p,x,h,q)
+ if not p then p,x='globals',globals() end
+ if type(x)=='table' then
+ if not h then h={} end
+ if h[x] then
+ x=h[x]
+ else
+ if not q then q=p end
+ h[x]=q
+ local s={}
+ for k,v in pairs(x) do table.insert(s,k) end
+ if #s>0 then
+ local n=75-string.len(p)
+ local f=#s==#x and horizvec(x,n)
+ if not f then f=horizmap(x,n) end
+ if not f then
+ table.sort(s,function (a,b)
+ --if tag(a)~=tag(b) then a,b=tag(b),tag(a) end
+ if type(a)~=type(b) then a,b=type(b),type(a) end
+ return a$c<$l>$c<$}\toprule
+\cs{Join} & \Join & \cs{leadsto} & \leadsto \\
+\cs{sqsupset} & \sqsupset & \cs{sqsubset} & \sqsubset \\
+\cs{rhd} & \rhd & \cs{lhd} & \lhd \\
+\cs{unrhd} & \unrhd & \cs{unlhd} & \unlhd \\
+\cs{Diamond} & \Diamond & \cs{mho} & \mho \\
+\cs{Box} & \Box & & \\
+\bottomrule
+\end{tabular}
+\end{center}
+\end{frame}
+
\begin{frame}\frametitle{Second math example}
-The residue theorem states that if $f(s) : z,\,f\in \mathbb{C}$ is analytic in domanin $\mathbb{D}$ except in a finite number of singular points, then
+The residue theorem states that if $f(z) : z,\,f\in \mathbb{C}$ is analytic in domanin $\mathbb{D}$ except in a finite number of singular points, then
\begin{equation}
-\circlearrowleft\mkern-20.5mu\int_\gamma f(z)\diff z = 2\pi \mathrm{j}\sum_{k=1}^{N_{\mathrm{sing}}} R_k
+\circlearrowleft\mkern-18.5mu\int_\gamma f(z)\diff z = 2\pi \mathrm{j}\sum_{k=1}^{N_{\mathrm{sing}}} R_k
\end{equation}
holds true; $\gamma\in\mathbb{D}$ is a simply connected closed line and $N_{\mathrm{sing}}$ is the number of singularities contained within $\gamma$.
\end{frame}
@@ -226,12 +245,28 @@
\alert{Just one warning}: call the \texttt{lxfonts} package after you have loaded all the other font related packages; \texttt{lxfonts} will take care of invoking the correct font description files with the proper encodings; according to the packages loaded, it provides to some definitions that are necessary for mutual compatibility.
-\alert{Another warning}: If you are using \textsl{beamer} and math italics does not come out correctly, specify:
+\alert{A \textsl{beamer} warning}: If you are using \textsl{beamer} and math italics does not come out correctly, specify:
\begin{flushleft}\ttfamily
\cs{usefonttheme}\{professionalfonts\}
\end{flushleft}
\end{frame}
+\begin{frame}{Integration with the Greek script}
+If it is needed to mix Latin and Greek script sentences in a presentation, it is good to remember that the Greek CB fonts include also a font for slides that closely matches the Latin one. In order to mix Latin and Greek script the necessary LGR Greek font description files are already available with the LX fonts bundle, therefore the Greek script is readily accessible, and the \pack{babel} language switching commands are fully available also when using the LX fonts.
+\end{frame}
+
+
+\begin{frame}{Integration with the Greek script}
+Here is a short sentence that uses the Greek CB fonts for slides; the text is in fully accented polytonic Greek.
+
+\begin{quote}
+\begin{otherlanguage}{greek}
+To'utou q'arin >ap'elip'on se >en Kr'hth|, <'ina t`a le'iponta
+>epidiort'wsh| ka`i katast'hsh|s kat`a p'olin presbit'erous, eg'w soi dietax'amen, e>'i t'is >estin >an'egklhtos, mi~as
+gunaik`os >an'hr, t'ekna >'eqwn pist'a, m`h >en kathgor'ia|
+>aswt'ias >`h >anup'otakta.\end{otherlanguage}\end{quote}
+\end{frame}
\begin{frame}\frametitle{Type\,1 lxfonts}
The package contains all the type\,1 versions of the new fonts; after you have added their map file to the system (or personal) files by carefully following the instructions given in the \structure{LXfonts.readme} file, you can run the \alert{pdflatex}, or the \alert{latex+dvips+ps2pdf}, or the \alert{latex+dvipdfm} programs, and they will use the \alert{type\,1} fonts instead of the \MF\ bitmapped ones.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/doc/fonts/lxfonts/LXfonts.readme new/doc/fonts/lxfonts/LXfonts.readme
--- old/doc/fonts/lxfonts/LXfonts.readme 2008-01-22 01:47:52.000000000 +0100
+++ new/doc/fonts/lxfonts/LXfonts.readme 2013-12-08 01:16:15.000000000 +0100
@@ -1,81 +1,94 @@
-This file documents the installation of the LX fonts, version 0.4, extracted
+This file documents the installation of the LX fonts, version 2.0, extracted
from file lxfonts-tds.zip. Of course you don't have to install anything if your
-TeX system already contains these LX fonts. Verify by searching the file
-lxfonts.sty in the texmf-dist rooted tree of your distribution; if it exists,
+TeX system already contains these LX fonts. Verify by searching the file
+lxfonts.sty in the texmf-dist rooted tree of your distribution; if it exists,
you probably can skip reading the rest of this file.
-This archive contains three main directories
+This archive contains three main directories
tex/ fonts/ and doc/
-each containing a TDS compliant folder or directory structure; TDS stands
+each containing a TDS compliant folder or directory structure; TDS stands
for: "TeX Directory Structure".
-Upon opening the compressed file extract or drag the contents of each main
-directory to the homonymous folder in you personal/local texmf tree, that,
-of course, should already be TDS compliant; if your operating system is not
-so smart to add the new files to existing TDS branches of the local or system
-wide TDS tree, just copy or drag only the end twigs of these distributed branches.
-
-The use of a personal tree is suggested in order to avoid the need of
-reloading everything every time you upgrade your TeX system; in any case,
-should any upgrade already contain the LX fonts, check if the upgrade
-contains a more recent version of these fonts and related software; should
+Upon opening the compressed file extract or drag the contents of each main
+directory to the homonymous folder in you personal/local texmf tree, that,
+of course, should already be TDS compliant; if your operating system is not
+so smart to add the new files to existing TDS branches of the personal or
+local or system wide TDS tree, just copy or drag only the end twigs of these
+distributed branches.
+
+The use of a personal tree is suggested in order to avoid the need of
+reloading everything every time you upgrade your TeX system; in any case,
+should any upgrade already contain the LX fonts, check if the upgrade
+contains a more recent version of these fonts and related software; should
it be the case, delete your personal installation and use the distributed one.
-Refresh the filename databse; this operation depends from the particular
-distribution of the TeX system; on a Mac OS X, where the root of your
-personal texmf is ~/Library/texmf, the filename database does not need
+Refresh the filename database; this operation depends from the particular
+distribution of the TeX system; on a Mac OS X, where the root of your
+personal texmf is ~/Library/texmf, the filename database does not need
an explcit refresh.
-On other UNIX systems, where teTeX or TeXlive are the TeX system
-distributions, you need to refresh the file name database by running texhash.
+On other UNIX systems, where TeXlive is the TeX system distribution,
+you need to refresh the file name database by running texhash.
On win32 platforms, if you use the MiKTeX distribution, open the MiKTeX
Options from the Start dialog box and click the Refresh button.
Similar operations must be performed with other TeX distributions.
-At this point you should add the line
+At this point the line
-Map lxfonts.map
+Map lxfonts.map
or, at your choice,
Mixedmap lxfonts.map
-to updmap.cfg, and then run the system program updmap (possibly as root,
-or administrator). Notice that this operation is substantially
-the same with every distribution and every operating system, but the
-details vary from platform to platform; therefore read the documentation
-of your TeX system so as to proceed as required for your particular distribution.
-
-WORTH NOTING: Once the system wide or local maps files contain the names of the
-various LX type 1 fonts, it is irrelevant if you had specified Map or MixedMap,
-because the type 1 ones will be always preferred to the METAFONT bitmapped fonts.
-But since this distribution contains also the METAFONT sources, it does not hurt
-to specify MixedMap. Actually the METAFONT sources are available in case you
-spotted some errors and you wanted to try your chance to correct them; when you've
+should be added to one of the updmap.cfg, files, but this operation should
+be done only by means of programs available with your TeX system distribution;
+therefore read the documentation of your TeX system and follow the suitable
+instructions very carefully.
+
+Always following the decumentations of your TeX system distribution rebuild
+the overall font maps necessary for all programs that use Type 1 fonts;
+with a TeX Live distribution it would be necessary to run the program
+updmap (as a single user) or updmap-sys (as an administrator or super user)
+depending on the operating system. Notice that this operation is
+substantially the same with every distribution and every operating system,
+but the details vary from platform to platform; therefore, again, read the
+documentation of your TeX system so as to proceed as required for your
+particular distribution.
+
+WORTH NOTING: Once the system wide or local maps files contain the names of the
+various LX type 1 fonts, it is irrelevant if you had specified Map or MixedMap,
+because the Type 1 ones will be always preferred to the METAFONT bitmapped fonts.
+But since this distribution contains also the METAFONT sources, it does not hurt
+to specify MixedMap. Actually the METAFONT sources are available in case you
+spotted some errors and you wanted to try your chance to correct them; when you've
got the good corrections, please, don't forget to notify me!
-If you did everything correctly, your TeX system is now capable of using the
-LX fonts with LaTeX and with pdflatex, and dvips and dvipdfm can perform
+If you did everything correctly, your TeX system is now capable of using the
+LX fonts with LaTeX and with pdflatex, and dvips and dvipdfm can perform
their specific transformations by using the PostScript forms of these LX fonts.
-Warning: load the lxfonts.sty file in your document preamble *after* any
+Warning: load the lxfonts.sty file in your document preamble *after* any
other call to font related packages simply with
\usepackage{lxfonts}
Read the demo pdf file to see how to use these fonts. Of course the
-slides production software may be any class or package that produces slides;
+slides production software may be any class or package that produces slides;
it not necessary to use the same package used in the example.
-All you need for using these fonts is already contained in the lxfonts.sty
-file.
+All you need for using these fonts is already contained in the correct
+installation of the files extracted from this lxfonts-tds.zip file.
+If you have a complete TeX system distribution, which is always preferable
+to a basic or incomplete one, you don't have to do anything because all
+fonts and necessary files are already installed.
-Claudio Beccari Torino 2008-01-20
+Claudio Beccari Torino 2013-12-07
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/doc/fonts/lxfonts/README new/doc/fonts/lxfonts/README
--- old/doc/fonts/lxfonts/README 1970-01-01 01:00:00.000000000 +0100
+++ new/doc/fonts/lxfonts/README 2013-12-08 01:16:15.000000000 +0100
@@ -0,0 +1,29 @@
+LXfonts bundle version 2.0b OF 2013-12-07
+
+(C) Claudio Beccari 2007-2013
+
+This work is subject to the LaTeX Project Public Licence (LPPL), version 1.3
+or any other successive version as you like; the LPPL licence is downloadable
+from any CTAN archive.
+
+This package contains a revival of the slide fonts created long ago by Leslie
+Lamport, in his initial distribution of LaTeX209, for typesetting slides on
+methacrylate transparencies.
+
+The advent of the T1 Cork encoding brought in the T1 encoded slides fonts.
+
+New packages for beamer presentations became available after the availability
+of the typesetting engine pdftex; therefore the usage of the very legible
+fonts of the old SliTeX format were abandoned.
+
+This bundle offers a revival of those fonts so as to eliminate the inconveniences
+of the modest initial set-up; they include now all the math fonts, including the
+AMS ones. Text fonts are complemented with the Text Companion fonts. These fonts
+are coherent with the slide fonts of the Greek CB font collection, so that slides
+can be typeset in Greek script also.
+
+An enclosed demo file, typeset with the beamer class, is available for documentation
+and for evaluating the benefits of these revieved fonts.
+
+Installation is best described in the accompanying file Lxfonts.readme file.
+
Files old/doc/fonts/lxfonts/lxfonts.pdf and new/doc/fonts/lxfonts/lxfonts.pdf differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/doc/fonts/lxfonts/manifest new/doc/fonts/lxfonts/manifest
--- old/doc/fonts/lxfonts/manifest 2008-01-22 01:47:52.000000000 +0100
+++ new/doc/fonts/lxfonts/manifest 1970-01-01 01:00:00.000000000 +0100
@@ -1,26 +0,0 @@
-This is the manifest file for the package lxfonts, version 0.4 (alpha version)
-
-(c) Claudio Beccari 2007-2008
-
-This work is subject to the LaTeX Project Public Licence (LPPL), version 1.3
-or any other successive version as you like; the LPPL licence is downloadable
-from any CTAN archive.
-
-The package lxfonts.sty contains the folders
-
-doc fonts tex
-
-whose branches contain a TDS compliant structure of folders to be directly used
-for loading the fonts into any computer.
-
-Read the LXfonts.readme (text) file for detailed installation instructions.
-
-
-This work has the status of author maintaned; for suggestions, bugs, and the like, write to
-
-claudio dot beccari at alice dot it
-
-Claudio Beccari Torino 2008/01/20
-
-
-
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/doc/fonts/lxfonts/manifest.txt new/doc/fonts/lxfonts/manifest.txt
--- old/doc/fonts/lxfonts/manifest.txt 1970-01-01 01:00:00.000000000 +0100
+++ new/doc/fonts/lxfonts/manifest.txt 2013-12-08 01:16:15.000000000 +0100
@@ -0,0 +1,30 @@
+This is the manifest file for the package lxfonts, version 2.0
+
+(c) Claudio Beccari 2007-2013
+
+This work is subject to the LaTeX Project Public Licence (LPPL), version 1.3
+or any other successive version as you like; the LPPL licence is downloadable
+from any CTAN archive.
+
+The work includes the following files:
+
+lxfonts.dtx and the derived files .pdf, .sty, and .fd obtained by extracting
+them by running pdfLaTeX on it; there is no .ins file because the .dtx file
+is an auto extracting one.
+
+The .mf font source files, .tfm metric files and .pfb Type 1 vector files
+are also covered by the above licence, together with the .map file necessary
+to use in order that pdfLaTeX and other programs may use these LXfonts.
+
+Read the LXfonts.readme (text) file for detailed installation instructions.
+
+
+This work has the status of author maintained; for suggestions, bugs, and the
+like, write to
+
+claudio dot beccari at gmail dot com
+
+Claudio Beccari
+
+
+
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tlpkg/tlpobj/lxfonts.doc.tlpobj new/tlpkg/tlpobj/lxfonts.doc.tlpobj
--- old/tlpkg/tlpobj/lxfonts.doc.tlpobj 2010-06-10 18:36:31.000000000 +0200
+++ new/tlpkg/tlpobj/lxfonts.doc.tlpobj 2013-12-08 03:20:54.000000000 +0100
@@ -1,10 +1,12 @@
name lxfonts.doc
category Package
-revision 15878
+revision 32354
shortdesc doc files of lxfonts
relocated 1
-docfiles size=79
+docfiles size=139
RELOC/doc/fonts/lxfonts/LXfonts-demo.pdf
RELOC/doc/fonts/lxfonts/LXfonts-demo.tex
RELOC/doc/fonts/lxfonts/LXfonts.readme
- RELOC/doc/fonts/lxfonts/manifest
+ RELOC/doc/fonts/lxfonts/README
+ RELOC/doc/fonts/lxfonts/lxfonts.pdf
+ RELOC/doc/fonts/lxfonts/manifest.txt
++++++ lxfonts.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/fonts/map/dvips/lxfonts/lxfonts.map new/fonts/map/dvips/lxfonts/lxfonts.map
--- old/fonts/map/dvips/lxfonts/lxfonts.map 2008-01-22 01:47:52.000000000 +0100
+++ new/fonts/map/dvips/lxfonts/lxfonts.map 2013-09-16 00:34:34.000000000 +0200
@@ -1,21 +1,42 @@
-lcmbsy8 http://www.latex-project.org/lppl.txt
+
+
+lcmbsy8 lcmbsy8 http://www.latex-project.org/lppl.txt
+
+
+\DeclareFontFamily{LGR}{llcmss}{\hyphenchar\font45}
+\DeclareFontShape{LGR}{llcmss}{m}{n}{<-> glmn0800}{}
+\DeclareFontShape{LGR}{llcmss}{m}{sl}{<-> glmo0800}{}
+\DeclareFontShape{LGR}{llcmss}{m}{it}{<-> ssub* llcmss/m/sl}{}
+\DeclareFontShape{LGR}{llcmss}{bx}{n}{<-> glxn0800}{}
+\DeclareFontShape{LGR}{llcmss}{bx}{sl}{<-> glxo0800}{}
+\DeclareFontShape{LGR}{llcmss}{bx}{it}{<-> ssub* llcmss/bx/sl}{}
+\DeclareFontShape{LGR}{llcmss}{m}{ui}{<-> ssub* llcmss/m/n}{}
+\DeclareFontShape{LGR}{llcmss}{bx}{ui}{<-> ssub* llcmss/bx/n}{}
+%% Read the README test file for further details about installation
+%%
+%% End of file `lgrllcmss.fd'.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tex/latex/lxfonts/lgrllcmtt.fd new/tex/latex/lxfonts/lgrllcmtt.fd
--- old/tex/latex/lxfonts/lgrllcmtt.fd 1970-01-01 01:00:00.000000000 +0100
+++ new/tex/latex/lxfonts/lgrllcmtt.fd 2013-12-08 01:16:15.000000000 +0100
@@ -0,0 +1,27 @@
+%%
+%% This is file `lgrllcmtt.fd',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% lxfonts.dtx (with options: `lxlgrttfd')
+%% ______________________________________________________
+%% The LXfonts package
+%% Copyright (C) 2008-2013 Claudio Beccari
+%% All rights reserved
+%%
+%% Distributable under the LaTeX Project Public License,
+%% version 1.3c or higher (your choice). The latest version of
+%% this license is at: http://www.latex-project.org/lppl.txt
+
+
+ \DeclareFontFamily{LGR}{llcmtt}{\hyphenchar\font\m@ne}
+ \DeclareFontShape{LGR}{llcmtt}{m}{n}{<-> gltn1000}{}
+ \DeclareFontShape{LGR}{llcmtt}{m}{it}{<-> glto1000}{}
+ \DeclareFontShape{LGR}{llcmtt}{m}{sl}{<-> ssub* lcmtt/m/it}{}
+ \DeclareFontShape{LGR}{llcmtt}{bx}{n}{<-> ssub* lcmtt/m/n}{}
+ \DeclareFontShape{LGR}{llcmtt}{bx}{it}{<-> ssub* lcmtt/m/it}{}
+ \DeclareFontShape{LGR}{llcmtt}{bx}{sl}{<-> ssub* lcmtt/m/it}{}
+%% Read the README test file for further details about installation
+%%
+%% End of file `lgrllcmtt.fd'.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tex/latex/lxfonts/lxfonts.sty new/tex/latex/lxfonts/lxfonts.sty
--- old/tex/latex/lxfonts/lxfonts.sty 2008-01-22 01:47:52.000000000 +0100
+++ new/tex/latex/lxfonts/lxfonts.sty 2013-09-19 00:12:04.000000000 +0200
@@ -1,149 +1,33 @@
-% lxfonts.sty
-%
+%%
+%% This is file `lxfonts.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% lxfonts.dtx (with options: `lxsty')
+%% ______________________________________________________
+%% The LXfonts package
+%% Copyright (C) 2008-2013 Claudio Beccari
+%% All rights reserved
+%%
+%% Distributable under the LaTeX Project Public License,
+%% version 1.3c or higher (your choice). The latest version of
+%% this license is at: http://www.latex-project.org/lppl.txt
+
\NeedsTeXFormat{LaTeX2e}[2001/06/01]
-\ProvidesPackage{lxfonts}[2008/01/20 v.0.4 For using modified LX fonts]
+\ProvidesPackage{lxfonts}[2013/09/03 v,2.0 Macros for using LX fonts]
\newif\if@lasy \@lasyfalse
-\newif\if@Tuno \@Tunofalse
-\newif\if@TSuno \@TSunofalse
-
-\@ifpackageloaded{lastexsym}{\@lasytrue}{}
-\@ifpackageloaded{textcomp}{\@TSunotrue}{}
-\def\Tun@enc{T1}
-\ifx\encodingdefault\Tun@enc\@Tunotrue\fi
-\let\Tun@enc\undefined
-
-% Encoding: OT1
- \DeclareFontFamily{OT1}{llcmss}{\hyphenchar\font45}
- \DeclareFontShape{OT1}{llcmss}{m}{n}{<-> llcmss8}{}
- \DeclareFontShape{OT1}{llcmss}{m}{sl}{<-> llcmssi8}{}
- \DeclareFontShape{OT1}{llcmss}{m}{it}{<->ssub* llcmss/m/sl}{}
- \DeclareFontShape{OT1}{llcmss}{bx}{n}{<-> llcmssb8}{}
- \DeclareFontShape{OT1}{llcmss}{bx}{sl}{<-> llcmsso8}{}
- \DeclareFontShape{OT1}{llcmss}{bx}{it}{<->ssub* llcmss/bx/sl}{}
-%
- \DeclareFontShape{OT1}{llcmss}{m}{ui}{<-> ssub* cmr/m/n}{}
- \DeclareFontShape{OT1}{llcmss}{bx}{ui}{<->ssub* cmr/m/n}{}
-%
- \DeclareFontFamily{OT1}{llcmtt}{\hyphenchar\font\m@ne}
- \DeclareFontShape{OT1}{llcmtt}{m}{n}{<-> [1.25]cmtt8}{}
- \DeclareFontShape{OT1}{llcmtt}{m}{it}{<-> [1.25]cmti8}{}
- \DeclareFontShape{OT1}{llcmtt}{m}{sl}{<-> ssub* llcmtt/m/it}{}
-
-% Encoding: T1
-\if@Tuno
- \DeclareFontFamily{T1}{llcmss}{\hyphenchar\font45}
- \DeclareFontShape{T1}{llcmss}{m}{n}{<-> leclq8}{}
- \DeclareFontShape{T1}{llcmss}{m}{sl}{<-> lecli8}{}
- \DeclareFontShape{T1}{llcmss}{m}{it}{<->ssub* llcmss/m/sl}{}
- \DeclareFontShape{T1}{llcmss}{bx}{n}{<-> leclb8}{}
- \DeclareFontShape{T1}{llcmss}{bx}{sl}{<-> leclo8}{}
- \DeclareFontShape{T1}{llcmss}{bx}{it}{<->ssub*llcmss/bx/sl}{}
-%
-\DeclareFontShape{T1}{llcmss}{m}{ui}{<->ssub*llcmss/m/n}{}
-\DeclareFontShape{T1}{llcmss}{bx}{ui}{<->ssub*llcmss/m/n}{}
-%
- \DeclareFontFamily{T1}{llcmtt}{\hyphenchar\font\m@ne}
- \DeclareFontShape{T1}{llcmtt}{m}{n}{<-> [1.25]ecltt8}{}
- \DeclareFontShape{T1}{llcmtt}{m}{it}{<-> [1.25]ecit0800}{}
- \DeclareFontShape{T1}{llcmtt}{m}{sl}{<-> ssub* llcmtt/m/it}{}
-\fi
-
-% Encoding: TS1
-\if@TSuno
- \DeclareFontFamily{TS1}{llcmss}{\hyphenchar\font45}
- \DeclareFontShape{TS1}{llcmss}{m}{n}{<-> ltclq8}{}
- \DeclareFontShape{TS1}{llcmss}{m}{sl}{<-> ltcli8}{}
- \DeclareFontShape{TS1}{llcmss}{m}{it}{<-> ssub*llcmss/m/sl}{}
- \DeclareFontShape{TS1}{llcmss}{bx}{n}{<-> ltclb8}{}
- \DeclareFontShape{TS1}{llcmss}{bx}{sl}{<-> ltclo8}{}
- \DeclareFontShape{TS1}{llcmss}{bx}{it}{<-> ssub*llcmss/bx/sl}{}
-%
-\DeclareFontShape{TS1}{llcmss}{m}{ui}{<-> ssub*llcmss/m/n}{}
-\DeclareFontShape{TS1}{llcmss}{bx}{ui}{<-> ssub*llcmss/m/n}{}
-\fi
-
-% Defaults
-
+\newif\if@AMSfonts \@AMSfontsfalse
+\RequirePackage{etoolbox}
+\AtEndPreamble{%
+\@ifpackageloaded{latexsym}{\@lasytrue}{}
+\@ifpackageloaded{amsfonts}{\@AMSfontstrue}{}
\def\rmdefault{llcmss} % no roman
\def\sfdefault{llcmss}
\def\ttdefault{llcmtt}
\def\itdefault{sl}
\def\sldefault{sl}
\def\bfdefault{bx}
-
-
-% Math encodings
-
-% Encoding OML
-
-\DeclareFontFamily{OML}{llcmm}{\skewchar\font'177}
-\DeclareFontShape{OML}{llcmm}{m}{it}{<-> lcmmi8}{}
-\DeclareFontShape{OML}{llcmm}{bx}{it}{<-> lcmmib8}{}
-
-\DeclareFontFamily{OML}{llcmss}{}
-\DeclareFontShape{OML}{llcmss}{m}{n}{<-> ssub*llcmm/m/it}{}
-
-% Encoding: OMS
-
-\DeclareFontFamily{OMS}{llcmsy}{\skewchar\font'60}
-\DeclareFontShape{OMS}{llcmsy}{m}{n}{<-> lcmsy8}{}
-\DeclareFontShape{OMS}{llcmsy}{bx}{n}{<-> lcmbsy8}{}
-
-\DeclareFontFamily{OMS}{llcmss}{\skewchar\font'60}
-\DeclareFontShape{OMS}{llcmss}{m}{n}{<->ssub*llcmsy/m/n}{}
-
-% Encoding: OMX
-
-\DeclareFontFamily{OMX}{llcmex}{}
-\DeclareFontShape{OMX}{llcmex}{m}{n}{<-> lcmex8}{}
-
-
-% Encoding: U for AMS fonts
-
-% Both amsmath and amssymb load amsfonts; the latter may be loaded by itself.
-
-\@ifpackageloaded{amsfonts}{%
-\DeclareFontFamily{U}{msa}{}% already defined in amsfonts
-\DeclareFontShape{U}{msa}{m}{n}{<-> lmsam8}{}
-\DeclareFontShape{U}{msa}{bx}{n}{<-> ssub* msa/m/n}{}
-\DeclareFontFamily{U}{msb}{}% already defined in amsfonts
-\DeclareFontShape{U}{msb}{m}{n}{<-> lmsbm8}{}
-\DeclareFontShape{U}{msb}{bx}{n}{<-> ssub* msb/m/n}{}
-\begingroup\catcode`\"=12\relax
-\xdef\Join{\mathrel{\mathchar"0\hexnumber@\symAMSb 6F\mkern-15.6mu%
- \mathchar"0\hexnumber@\symAMSb 6E}}
-\endgroup
-}
-
-
-% Optional LaTeX Symbols
-
-\if@lasy
-\DeclareFontFamily{U}{lllasy}{}
-\DeclareFontShape{U}{lllasy}{m}{n}{<-> llasy8}{}
-\DeclareFontShape{U}{lllasy}{b}{n}{<-> llasyb8}{}
-\fi
-
-
-% Math declarations
-
-\DeclareMathAlphabet{\mathbf}{OT1}{llcmss}{bx}{n}
-\DeclareMathAlphabet{\mathit}{OT1}{llcmss}{m}{sl}
-\DeclareMathAlphabet{\mathtt}{OT1}{llcmtt}{m}{n}
-
-\SetMathAlphabet\mathsf{bold}{OT1}{llcmss}{bx}{n}
-\SetMathAlphabet\mathit{bold}{OT1}{llcmss}{bx}{sl}
-
-\DeclareSymbolFont{operators}{OT1}{llcmss}{m}{n}
-\DeclareSymbolFont{letters}{OML}{llcmm}{m}{it}
-\DeclareSymbolFont{symbols}{OMS}{llcmsy}{m}{n}
-\DeclareSymbolFont{largesymbols}{OMX}{llcmex}{m}{n}
-
-\DeclareSymbolFontAlphabet{\mathrm} {operators}
-\DeclareSymbolFontAlphabet{\mathnormal}{letters}
-\DeclareSymbolFontAlphabet{\mathcal} {symbols}
-\DeclareSymbolFontAlphabet{\mathsf} {operators}
-
\SetSymbolFont{operators}{normal}{OT1}{llcmss}{m}{n}
\SetSymbolFont{letters}{normal}{OML}{llcmm}{m}{it}
\SetSymbolFont{symbols}{normal}{OMS}{llcmsy}{m}{n}
@@ -154,21 +38,46 @@
\SetSymbolFont{symbols} {bold}{OMS}{llcmsy}{bx}{n}
\SetSymbolFont{largesymbols}{bold}{OMX}{llcmex}{m}{n} % no bold!
+\DeclareSymbolFontAlphabet{\mathrm} {operators}
+\DeclareSymbolFontAlphabet{\mathnormal}{letters}
+\DeclareSymbolFontAlphabet{\mathcal} {symbols}
+\DeclareMathAlphabet {\mathbf}{OT1}{llcmss}{bx}{n}
+\DeclareMathAlphabet {\mathsf}{OT1}{llcmss}{m}{n}
+\DeclareMathAlphabet {\mathit}{OT1}{llcmss}{m}{sl}
+\DeclareMathAlphabet {\mathtt}{OT1}{llcmtt}{m}{n}
-
-
-\iffalse
-%%% Mah!
-\DeclareOldFontCommand{\rm}{\normalfont\rmfamily}{\mathrm}
-\DeclareOldFontCommand{\sf}{\normalfont\sffamily}{\mathsf}
-\DeclareOldFontCommand{\tt}{\normalfont\ttfamily}{\mathtt}
-\DeclareOldFontCommand{\bf}{\normalfont\bfseries}{\mathbf}
-\DeclareOldFontCommand{\it}{\normalfont\itshape}{\mathit}
-\DeclareOldFontCommand{\sl}{\normalfont\slshape}{\@nomath\sl}
-\DeclareOldFontCommand{\sc}{\normalfont\scshape}{\@nomath\sc}
-\DeclareRobustCommand*{\cal}{\@fontswitch{\relax}{\mathcal}}
-\DeclareRobustCommand*{\mit}{\@fontswitch{\relax}{\mathnormal}}
+\SetMathAlphabet\mathsf{bold}{OT1}{llcmss}{bx}{n}
+\SetMathAlphabet\mathit{bold}{OT1}{llcmss}{bx}{sl}
+\if@AMSfonts
+\input{ulmsa.fd}
+\input{ulmsb.fd}
+\SetSymbolFont{AMSa}{normal}{U}{lmsa}{m}{n}
+\SetSymbolFont{AMSb}{normal}{U}{lmsb}{m}{n}
+\xdef\Join{\mathrel{\mathchar"0\hexnumber@\symAMSb 6F%
+\mkern-14.2mu\mathchar"0\hexnumber@\symAMSb 6E}}
+\global\let\leadsto\rightsquigarrow
+\fi
+\if@lasy
+\if@AMSfonts%
+\PackageWarning{lxfonts}{%
+I did not load the LaTeX symbol fonts\MessageBreak
+because its glyphs are already provided by the AMS fonts\MessageBreak}
+\else
+\input{ulllasy.fd}
+\SetSymbolFont{lasy}{normal}{U}{lllasy}{m}{n}
+\SetSymbolFont{lasy}{bold}{U}{lllasy}{b}{n}
+\fi
\fi
+\DeclareOldFontCommand{\rm}{\rmfamily}{\mathrm}
+\DeclareOldFontCommand{\sf}{\sffamily}{\mathsf}
+\DeclareOldFontCommand{\tt}{\ttfamily}{\mathtt}
+\DeclareOldFontCommand{\bf}{\bfseries}{\mathbf}
+\DeclareOldFontCommand{\it}{\itshape}{\mathit}
+\DeclareOldFontCommand{\sl}{\slshape}{\relax}
+\DeclareOldFontCommand{\sc}{\scshape}{\relax}
+}
-\endinput
\ No newline at end of file
+%% Read the README test file for further details about installation
+%%
+%% End of file `lxfonts.sty'.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tex/latex/lxfonts/omlllcmm.fd new/tex/latex/lxfonts/omlllcmm.fd
--- old/tex/latex/lxfonts/omlllcmm.fd 1970-01-01 01:00:00.000000000 +0100
+++ new/tex/latex/lxfonts/omlllcmm.fd 2013-09-16 00:34:34.000000000 +0200
@@ -0,0 +1,26 @@
+%%
+%% This is file `omlllcmm.fd',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% lxfonts.dtx (with options: `lxomlmmfd')
+%% ______________________________________________________
+%% The LXfonts package
+%% Copyright (C) 2008-2013 Claudio Beccari
+%% All rights reserved
+%%
+%% Distributable under the LaTeX Project Public License,
+%% version 1.3c or higher (your choice). The latest version of
+%% this license is at: http://www.latex-project.org/lppl.txt
+
+
+\DeclareFontFamily{OML}{llcmm}{\skewchar\font'177}
+\DeclareFontShape{OML}{llcmm}{m}{it}{<-> lcmmi8}{}
+\DeclareFontShape{OML}{llcmm}{bx}{it}{<-> lcmmib8}{}
+
+\DeclareFontFamily{OML}{llcmss}{}
+\DeclareFontShape{OML}{llcmss}{m}{n}{<-> ssub*llcmm/m/it}{}
+%% Read the README test file for further details about installation
+%%
+%% End of file `omlllcmm.fd'.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tex/latex/lxfonts/omsllcmsy.fd new/tex/latex/lxfonts/omsllcmsy.fd
--- old/tex/latex/lxfonts/omsllcmsy.fd 1970-01-01 01:00:00.000000000 +0100
+++ new/tex/latex/lxfonts/omsllcmsy.fd 2013-09-16 00:34:34.000000000 +0200
@@ -0,0 +1,26 @@
+%%
+%% This is file `omsllcmsy.fd',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% lxfonts.dtx (with options: `lxomssyfd')
+%% ______________________________________________________
+%% The LXfonts package
+%% Copyright (C) 2008-2013 Claudio Beccari
+%% All rights reserved
+%%
+%% Distributable under the LaTeX Project Public License,
+%% version 1.3c or higher (your choice). The latest version of
+%% this license is at: http://www.latex-project.org/lppl.txt
+
+
+\DeclareFontFamily{OMS}{llcmsy}{\skewchar\font'60}
+\DeclareFontShape{OMS}{llcmsy}{m}{n}{<-> lcmsy8}{}
+\DeclareFontShape{OMS}{llcmsy}{bx}{n}{<-> lcmbsy8}{}
+
+\DeclareFontFamily{OMS}{llcmss}{\skewchar\font'60}
+\DeclareFontShape{OMS}{llcmss}{m}{n}{<->ssub*llcmsy/m/n}{}
+%% Read the README test file for further details about installation
+%%
+%% End of file `omsllcmsy.fd'.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tex/latex/lxfonts/omxllcmex.fd new/tex/latex/lxfonts/omxllcmex.fd
--- old/tex/latex/lxfonts/omxllcmex.fd 1970-01-01 01:00:00.000000000 +0100
+++ new/tex/latex/lxfonts/omxllcmex.fd 2013-09-16 00:34:34.000000000 +0200
@@ -0,0 +1,22 @@
+%%
+%% This is file `omxllcmex.fd',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% lxfonts.dtx (with options: `lxomxexfd')
+%% ______________________________________________________
+%% The LXfonts package
+%% Copyright (C) 2008-2013 Claudio Beccari
+%% All rights reserved
+%%
+%% Distributable under the LaTeX Project Public License,
+%% version 1.3c or higher (your choice). The latest version of
+%% this license is at: http://www.latex-project.org/lppl.txt
+
+
+\DeclareFontFamily{OMX}{llcmex}{}
+\DeclareFontShape{OMX}{llcmex}{m}{n}{<-> sfixed* lcmex8}{}
+%% Read the README test file for further details about installation
+%%
+%% End of file `omxllcmex.fd'.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tex/latex/lxfonts/ot1llcmss.fd new/tex/latex/lxfonts/ot1llcmss.fd
--- old/tex/latex/lxfonts/ot1llcmss.fd 1970-01-01 01:00:00.000000000 +0100
+++ new/tex/latex/lxfonts/ot1llcmss.fd 2013-09-16 00:34:34.000000000 +0200
@@ -0,0 +1,29 @@
+%%
+%% This is file `ot1llcmss.fd',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% lxfonts.dtx (with options: `lxot1ssfd')
+%% ______________________________________________________
+%% The LXfonts package
+%% Copyright (C) 2008-2013 Claudio Beccari
+%% All rights reserved
+%%
+%% Distributable under the LaTeX Project Public License,
+%% version 1.3c or higher (your choice). The latest version of
+%% this license is at: http://www.latex-project.org/lppl.txt
+
+
+\DeclareFontFamily{OT1}{llcmss}{\hyphenchar\font45}
+\DeclareFontShape{OT1}{llcmss}{m}{n}{<-> llcmss8}{}
+\DeclareFontShape{OT1}{llcmss}{m}{sl}{<-> llcmssi8}{}
+\DeclareFontShape{OT1}{llcmss}{m}{it}{<->ssub* llcmss/m/sl}{}
+\DeclareFontShape{OT1}{llcmss}{bx}{n}{<-> llcmssb8}{}
+\DeclareFontShape{OT1}{llcmss}{bx}{sl}{<-> llcmsso8}{}
+\DeclareFontShape{OT1}{llcmss}{bx}{it}{<->ssub* llcmss/bx/sl}{}
+\DeclareFontShape{OT1}{llcmss}{m}{ui}{<-> ssub* llcmss/m/n}{}
+\DeclareFontShape{OT1}{llcmss}{bx}{ui}{<->ssub* llcmss/bx/n}{}
+%% Read the README test file for further details about installation
+%%
+%% End of file `ot1llcmss.fd'.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tex/latex/lxfonts/ot1llcmtt.fd new/tex/latex/lxfonts/ot1llcmtt.fd
--- old/tex/latex/lxfonts/ot1llcmtt.fd 1970-01-01 01:00:00.000000000 +0100
+++ new/tex/latex/lxfonts/ot1llcmtt.fd 2013-09-19 00:12:04.000000000 +0200
@@ -0,0 +1,27 @@
+%%
+%% This is file `ot1llcmtt.fd',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% lxfonts.dtx (with options: `lxot1ttfd')
+%% ______________________________________________________
+%% The LXfonts package
+%% Copyright (C) 2008-2013 Claudio Beccari
+%% All rights reserved
+%%
+%% Distributable under the LaTeX Project Public License,
+%% version 1.3c or higher (your choice). The latest version of
+%% this license is at: http://www.latex-project.org/lppl.txt
+
+
+\DeclareFontFamily{OT1}{llcmtt}{\hyphenchar\font\m@ne}
+\DeclareFontShape{OT1}{llcmtt}{m}{n}{<-> [1.25]cmtt8}{}
+\DeclareFontShape{OT1}{llcmtt}{m}{it}{<-> [1.25]cmti8}{}
+\DeclareFontShape{OT1}{llcmtt}{m}{sl}{<-> ssub* llcmtt/m/it}{}
+\DeclareFontShape{OT1}{llcmtt}{bx}{n}{<-> ssub* llcmtt/m/n}{}
+\DeclareFontShape{OT1}{llcmtt}{bx}{it}{<-> ssub* llcmtt/m/it}{}
+\DeclareFontShape{OT1}{llcmtt}{bx}{sl}{<-> ssub* llcmtt/m/it}{}
+%% Read the README test file for further details about installation
+%%
+%% End of file `ot1llcmtt.fd'.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tex/latex/lxfonts/t1llcmss.fd new/tex/latex/lxfonts/t1llcmss.fd
--- old/tex/latex/lxfonts/t1llcmss.fd 1970-01-01 01:00:00.000000000 +0100
+++ new/tex/latex/lxfonts/t1llcmss.fd 2013-09-16 00:34:34.000000000 +0200
@@ -0,0 +1,29 @@
+%%
+%% This is file `t1llcmss.fd',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% lxfonts.dtx (with options: `lxt1ssfd')
+%% ______________________________________________________
+%% The LXfonts package
+%% Copyright (C) 2008-2013 Claudio Beccari
+%% All rights reserved
+%%
+%% Distributable under the LaTeX Project Public License,
+%% version 1.3c or higher (your choice). The latest version of
+%% this license is at: http://www.latex-project.org/lppl.txt
+
+
+ \DeclareFontFamily{T1}{llcmss}{\hyphenchar\font45}
+ \DeclareFontShape{T1}{llcmss}{m}{n}{<-> leclq8}{}
+ \DeclareFontShape{T1}{llcmss}{m}{sl}{<-> lecli8}{}
+ \DeclareFontShape{T1}{llcmss}{m}{it}{<->ssub* llcmss/m/sl}{}
+ \DeclareFontShape{T1}{llcmss}{bx}{n}{<-> leclb8}{}
+ \DeclareFontShape{T1}{llcmss}{bx}{sl}{<-> leclo8}{}
+ \DeclareFontShape{T1}{llcmss}{bx}{it}{<->ssub*llcmss/bx/sl}{}
+\DeclareFontShape{T1}{llcmss}{m}{ui}{<->ssub*llcmss/m/n}{}
+\DeclareFontShape{T1}{llcmss}{bx}{ui}{<->ssub*llcmss/bx/n}{}
+%% Read the README test file for further details about installation
+%%
+%% End of file `t1llcmss.fd'.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tex/latex/lxfonts/t1llcmtt.fd new/tex/latex/lxfonts/t1llcmtt.fd
--- old/tex/latex/lxfonts/t1llcmtt.fd 1970-01-01 01:00:00.000000000 +0100
+++ new/tex/latex/lxfonts/t1llcmtt.fd 2013-09-19 00:12:04.000000000 +0200
@@ -0,0 +1,27 @@
+%%
+%% This is file `t1llcmtt.fd',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% lxfonts.dtx (with options: `lxt1ttfd')
+%% ______________________________________________________
+%% The LXfonts package
+%% Copyright (C) 2008-2013 Claudio Beccari
+%% All rights reserved
+%%
+%% Distributable under the LaTeX Project Public License,
+%% version 1.3c or higher (your choice). The latest version of
+%% this license is at: http://www.latex-project.org/lppl.txt
+
+
+ \DeclareFontFamily{T1}{llcmtt}{\hyphenchar\font\m@ne}
+ \DeclareFontShape{T1}{llcmtt}{m}{n}{<-> ec-lmtt10}{}
+ \DeclareFontShape{T1}{llcmtt}{m}{it}{<-> ec-lmtti10}{}
+ \DeclareFontShape{T1}{llcmtt}{m}{sl}{<-> ssub* llcmtt/m/it}{}
+ \DeclareFontShape{T1}{llcmtt}{bx}{n}{<-> ssub* llcmtt/m/n}{}
+ \DeclareFontShape{T1}{llcmtt}{bx}{it}{<-> ssub* llcmtt/m/it}{}
+ \DeclareFontShape{T1}{llcmtt}{bx}{sl}{<-> ssub* llcmtt/m/it}{}
+%% Read the README test file for further details about installation
+%%
+%% End of file `t1llcmtt.fd'.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tex/latex/lxfonts/ts1llcmss.fd new/tex/latex/lxfonts/ts1llcmss.fd
--- old/tex/latex/lxfonts/ts1llcmss.fd 1970-01-01 01:00:00.000000000 +0100
+++ new/tex/latex/lxfonts/ts1llcmss.fd 2013-09-16 00:34:34.000000000 +0200
@@ -0,0 +1,29 @@
+%%
+%% This is file `ts1llcmss.fd',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% lxfonts.dtx (with options: `lxts1ssfd')
+%% ______________________________________________________
+%% The LXfonts package
+%% Copyright (C) 2008-2013 Claudio Beccari
+%% All rights reserved
+%%
+%% Distributable under the LaTeX Project Public License,
+%% version 1.3c or higher (your choice). The latest version of
+%% this license is at: http://www.latex-project.org/lppl.txt
+
+
+ \DeclareFontFamily{TS1}{llcmss}{\hyphenchar\font45}
+ \DeclareFontShape{TS1}{llcmss}{m}{n}{<-> ltclq8}{}
+ \DeclareFontShape{TS1}{llcmss}{m}{sl}{<-> ltcli8}{}
+ \DeclareFontShape{TS1}{llcmss}{m}{it}{<-> ssub*llcmss/m/sl}{}
+ \DeclareFontShape{TS1}{llcmss}{bx}{n}{<-> ltclb8}{}
+ \DeclareFontShape{TS1}{llcmss}{bx}{sl}{<-> ltclo8}{}
+ \DeclareFontShape{TS1}{llcmss}{bx}{it}{<-> ssub*llcmss/bx/sl}{}
+ \DeclareFontShape{TS1}{llcmss}{m}{ui}{<-> ssub*llcmss/m/n}{}
+ \DeclareFontShape{TS1}{llcmss}{bx}{ui}{<-> ssub*llcmss/bx/n}{}
+%% Read the README test file for further details about installation
+%%
+%% End of file `ts1llcmss.fd'.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tex/latex/lxfonts/ulllasy.fd new/tex/latex/lxfonts/ulllasy.fd
--- old/tex/latex/lxfonts/ulllasy.fd 1970-01-01 01:00:00.000000000 +0100
+++ new/tex/latex/lxfonts/ulllasy.fd 2013-09-19 00:12:04.000000000 +0200
@@ -0,0 +1,23 @@
+%%
+%% This is file `ulllasy.fd',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% lxfonts.dtx (with options: `lxultxfd')
+%% ______________________________________________________
+%% The LXfonts package
+%% Copyright (C) 2008-2013 Claudio Beccari
+%% All rights reserved
+%%
+%% Distributable under the LaTeX Project Public License,
+%% version 1.3c or higher (your choice). The latest version of
+%% this license is at: http://www.latex-project.org/lppl.txt
+
+
+\DeclareFontFamily{U}{lllasy}{}
+\DeclareFontShape{U}{lllasy}{m}{n}{<-> llasy8}{}
+\DeclareFontShape{U}{lllasy}{b}{n}{<-> llasyb8}{}
+%% Read the README test file for further details about installation
+%%
+%% End of file `ulllasy.fd'.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tex/latex/lxfonts/ulmsa.fd new/tex/latex/lxfonts/ulmsa.fd
--- old/tex/latex/lxfonts/ulmsa.fd 1970-01-01 01:00:00.000000000 +0100
+++ new/tex/latex/lxfonts/ulmsa.fd 2013-09-16 00:34:34.000000000 +0200
@@ -0,0 +1,23 @@
+%%
+%% This is file `ulmsa.fd',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% lxfonts.dtx (with options: `lxumsafd')
+%% ______________________________________________________
+%% The LXfonts package
+%% Copyright (C) 2008-2013 Claudio Beccari
+%% All rights reserved
+%%
+%% Distributable under the LaTeX Project Public License,
+%% version 1.3c or higher (your choice). The latest version of
+%% this license is at: http://www.latex-project.org/lppl.txt
+
+
+\DeclareFontFamily{U}{lmsa}{}
+\DeclareFontShape{U}{lmsa}{m}{n}{<-> lmsam8}{}
+\DeclareFontShape{U}{lmsa}{bx}{n}{<-> ssub* lmsa/m/n}{}
+%% Read the README test file for further details about installation
+%%
+%% End of file `ulmsa.fd'.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tex/latex/lxfonts/ulmsb.fd new/tex/latex/lxfonts/ulmsb.fd
--- old/tex/latex/lxfonts/ulmsb.fd 1970-01-01 01:00:00.000000000 +0100
+++ new/tex/latex/lxfonts/ulmsb.fd 2013-09-16 00:34:34.000000000 +0200
@@ -0,0 +1,23 @@
+%%
+%% This is file `ulmsb.fd',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% lxfonts.dtx (with options: `lxumsbfd')
+%% ______________________________________________________
+%% The LXfonts package
+%% Copyright (C) 2008-2013 Claudio Beccari
+%% All rights reserved
+%%
+%% Distributable under the LaTeX Project Public License,
+%% version 1.3c or higher (your choice). The latest version of
+%% this license is at: http://www.latex-project.org/lppl.txt
+
+
+\DeclareFontFamily{U}{lmsb}{}
+\DeclareFontShape{U}{lmsb}{m}{n}{<-> lmsbm8}{}
+\DeclareFontShape{U}{lmsb}{bx}{n}{<-> ssub* lmsb/m/n}{}
+%% Read the README test file for further details about installation
+%%
+%% End of file `ulmsb.fd'.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tlpkg/tlpobj/lxfonts.tlpobj new/tlpkg/tlpobj/lxfonts.tlpobj
--- old/tlpkg/tlpobj/lxfonts.tlpobj 2010-06-10 18:36:31.000000000 +0200
+++ new/tlpkg/tlpobj/lxfonts.tlpobj 2013-12-08 03:20:54.000000000 +0100
@@ -1,6 +1,6 @@
name lxfonts
category Package
-revision 15878
+revision 32354
shortdesc Set of slide fonts based on CM.
relocated 1
longdesc The bundle contains the traditional slides fonts revised to be
@@ -9,7 +9,7 @@
longdesc symbols and extensible delimiter fonts, as well as with the AMS
longdesc fonts, all redone with the same stylistic parameters.
execute addMixedMap lxfonts.map
-runfiles size=385
+runfiles size=397
RELOC/fonts/map/dvips/lxfonts/lxfonts.map
RELOC/fonts/source/public/lxfonts/lamsya.mf
RELOC/fonts/source/public/lxfonts/lamsyb.mf
@@ -92,8 +92,21 @@
RELOC/fonts/type1/public/lxfonts/ltcli8.pfb
RELOC/fonts/type1/public/lxfonts/ltclo8.pfb
RELOC/fonts/type1/public/lxfonts/ltclq8.pfb
+ RELOC/tex/latex/lxfonts/lgrllcmss.fd
+ RELOC/tex/latex/lxfonts/lgrllcmtt.fd
RELOC/tex/latex/lxfonts/lxfonts.sty
+ RELOC/tex/latex/lxfonts/omlllcmm.fd
+ RELOC/tex/latex/lxfonts/omsllcmsy.fd
+ RELOC/tex/latex/lxfonts/omxllcmex.fd
+ RELOC/tex/latex/lxfonts/ot1llcmss.fd
+ RELOC/tex/latex/lxfonts/ot1llcmtt.fd
+ RELOC/tex/latex/lxfonts/t1llcmss.fd
+ RELOC/tex/latex/lxfonts/t1llcmtt.fd
+ RELOC/tex/latex/lxfonts/ts1llcmss.fd
+ RELOC/tex/latex/lxfonts/ulllasy.fd
+ RELOC/tex/latex/lxfonts/ulmsa.fd
+ RELOC/tex/latex/lxfonts/ulmsb.fd
catalogue-ctan /fonts/lxfonts
-catalogue-date 2008-08-22 10:50:40 +0200
+catalogue-date 2013-12-07 13:47:20 +0100
catalogue-license lppl
-catalogue-version 0.4
+catalogue-version 2.0b
++++++ m-tx.doc.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/texmf-dist/doc/generic/m-tx/README new/texmf-dist/doc/generic/m-tx/README
--- old/texmf-dist/doc/generic/m-tx/README 2013-01-22 00:57:06.000000000 +0100
+++ new/texmf-dist/doc/generic/m-tx/README 2013-12-31 23:07:39.000000000 +0100
@@ -1,4 +1,4 @@
-This is M-Tx (Music-from-TeXt), version 0.60d (2013-01-19).
+This is M-Tx (Music-from-TeXt), version 0.60d (2013-12-24).
M-Tx is a preprocessor for PMX that facilitates inputting lyrics. It
builds the PMX input file based on a language very similar to PMX. M-Tx
@@ -48,4 +48,4 @@
GNU General Public License (Version 2, 1991, see included file gpl.txt).
This CTAN distribution is maintained by Bob Tennent (rdt@cs.queensu.ca).
-Jan. 19th, 2013
+Dec. 12th, 2013
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/texmf-dist/doc/generic/m-tx/m-tx.html new/texmf-dist/doc/generic/m-tx/m-tx.html
--- old/texmf-dist/doc/generic/m-tx/m-tx.html 2012-10-20 00:53:30.000000000 +0200
+++ new/texmf-dist/doc/generic/m-tx/m-tx.html 2013-12-13 23:06:48.000000000 +0100
@@ -3,7 +3,7 @@
<HTML><HEAD><TITLE>Manpage of m-tx</TITLE>
</HEAD><BODY>
<H1>m-tx</H1>
-Section: (1)<BR>Updated: 2012-04-09<BR><A HREF="#index">Index</A>
+Section: (1)<BR>Updated: 2013-12-11<BR><A HREF="#index">Index</A>
<A HREF="http://localhost/cgi-bin/man/man2html">Return to Main Contents</A><HR>
<P>
@@ -105,6 +105,14 @@
changes the dvi processor to
<B><A HREF="http://localhost/cgi-bin/man/man2html?1+dvipdfm">dvipdfm</A></B>(1)
+<DT><B>-c</B>
+
+<DD>
+use pmxchords before pmx
+<DT><B>-F fmt</B>
+
+<DD>
+uses fmt as the TeX processor
<DT><B>-s </B>
<DD>
@@ -149,6 +157,8 @@
<B><A HREF="http://localhost/cgi-bin/man/man2html?1+dvipdfm">dvipdfm</A></B>(1),
+<B><A HREF="http://localhost/cgi-bin/man/man2html?1+pmxchords">pmxchords</A></B>(1),
+
<B><A HREF="http://localhost/cgi-bin/man/man2html?1+dvips">dvips</A></B>(1),
<B><A HREF="http://localhost/cgi-bin/man/man2html?1+ps2pdf">ps2pdf</A></B>(1).
@@ -176,6 +186,6 @@
This document was created by
<A HREF="http://localhost/cgi-bin/man/man2html">man2html</A>,
using the manual pages.<BR>
-Time: 09:23:16 GMT, September 14, 2012
+Time: 22:12:01 GMT, December 11, 2013
</BODY>
</HTML>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/texmf-dist/doc/generic/m-tx/mtx060/README new/texmf-dist/doc/generic/m-tx/mtx060/README
--- old/texmf-dist/doc/generic/m-tx/mtx060/README 2012-05-14 01:21:21.000000000 +0200
+++ new/texmf-dist/doc/generic/m-tx/mtx060/README 1970-01-01 01:00:00.000000000 +0100
@@ -1,73 +0,0 @@
- M-Tx Documentation Package
-
-This is the development version of the M-Tx documentation. It contains
-all the sources for generating the Users's Manual (mtxdoc.?), its index
-(mtxindex.?), and two sample music documents (halleluja.?, kanons.?), where
-'?' might be 'dvi', 'ps', 'pdf' or 'lj'.
-
-On a GNU system (e.g. Linux; or Cygwin running under Windows) you need
-to change to some empty directory and unzip a file with a name of the
-form mtxD????.zip (use GNU unzip with the -a option, or some other
-unzipper that can convert text files to your operating system format).
-You need to have MusiXTEX, PMX, musixlyr and M-Tx already installed.
-
-Now decide whether you will need:
- .ps, .pdf, .dvi or .lj files (go to 1);
- only .ps or .pdf files (goto 2).
-
-
- 1. If you want .dvi or .lj files
-
-This option allows you to make any of the four file formats. Type
-
- make dvitarget && make config
-
-to configure the option. Make sure that everything looked for was found.
-You can then choose between:
-
- make Makes mtx.dvi (and mtxdoc.dvi, mtxindex.dvi on the way there)
- make all Make .dvi files.
- make ps Make .dvi and .ps files
- make pdf Make .dvi, .ps and .pdf files
- make ?.lj Make the specified .lj file
-
-
- 2. If you want only .ps or .pdf files
-
-You need to have pdflatex installed (any good TeX distribution has it). Type
-
- make pdftarget && make config
-
-to configure the option. Make sure that everything looked for was found.
-You can then choose between:
-
- make Makes mtx.pdf (and mtxdoc.pdf, mtxindex.pdf on the way there)
- make all Make .pdf files.
- make ps Make .pdf and .ps files
-
-You don't have the option of making .dvi or .lj files.
-
-
-Dirk Laurie
-
-
-FAQ - Frequently Asked Questions
-
-1. I get "make: ./prepmx: Command not found".
-
- A: You have omitted the "make config" step.
-
-2. I have configured, but the make still fails.
-
- A: Look at the screen output from "make config". Make sure that
- there is a file name after each "...".
-
-3. Is there any difference between the .pdf and .ps files made by the
- two options?
-
- A: Yes. If you go by the second route, slurs tend to look smoother
- and certain additional slur shapes are possible; see the PMX manual.
- Also, the two versions look a little different on a low-resolution
- monitor, but apart from slurs, should be virtually indistinguishable
- when printed.
-
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/texmf-dist/doc/generic/m-tx/mtx060/README.M-Txdoc new/texmf-dist/doc/generic/m-tx/mtx060/README.M-Txdoc
--- old/texmf-dist/doc/generic/m-tx/mtx060/README.M-Txdoc 1970-01-01 01:00:00.000000000 +0100
+++ new/texmf-dist/doc/generic/m-tx/mtx060/README.M-Txdoc 2013-12-13 23:06:48.000000000 +0100
@@ -0,0 +1,73 @@
+ M-Tx Documentation Package
+
+This is the development version of the M-Tx documentation. It contains
+all the sources for generating the Users's Manual (mtxdoc.?), its index
+(mtxindex.?), and two sample music documents (halleluja.?, kanons.?), where
+'?' might be 'dvi', 'ps', 'pdf' or 'lj'.
+
+On a GNU system (e.g. Linux; or Cygwin running under Windows) you need
+to change to some empty directory and unzip a file with a name of the
+form mtxD????.zip (use GNU unzip with the -a option, or some other
+unzipper that can convert text files to your operating system format).
+You need to have MusiXTEX, PMX, musixlyr and M-Tx already installed.
+
+Now decide whether you will need:
+ .ps, .pdf, .dvi or .lj files (go to 1);
+ only .ps or .pdf files (goto 2).
+
+
+ 1. If you want .dvi or .lj files
+
+This option allows you to make any of the four file formats. Type
+
+ make dvitarget && make config
+
+to configure the option. Make sure that everything looked for was found.
+You can then choose between:
+
+ make Makes mtx.dvi (and mtxdoc.dvi, mtxindex.dvi on the way there)
+ make all Make .dvi files.
+ make ps Make .dvi and .ps files
+ make pdf Make .dvi, .ps and .pdf files
+ make ?.lj Make the specified .lj file
+
+
+ 2. If you want only .ps or .pdf files
+
+You need to have pdflatex installed (any good TeX distribution has it). Type
+
+ make pdftarget && make config
+
+to configure the option. Make sure that everything looked for was found.
+You can then choose between:
+
+ make Makes mtx.pdf (and mtxdoc.pdf, mtxindex.pdf on the way there)
+ make all Make .pdf files.
+ make ps Make .pdf and .ps files
+
+You don't have the option of making .dvi or .lj files.
+
+
+Dirk Laurie
+
+
+FAQ - Frequently Asked Questions
+
+1. I get "make: ./prepmx: Command not found".
+
+ A: You have omitted the "make config" step.
+
+2. I have configured, but the make still fails.
+
+ A: Look at the screen output from "make config". Make sure that
+ there is a file name after each "...".
+
+3. Is there any difference between the .pdf and .ps files made by the
+ two options?
+
+ A: Yes. If you go by the second route, slurs tend to look smoother
+ and certain additional slur shapes are possible; see the PMX manual.
+ Also, the two versions look a little different on a low-resolution
+ monitor, but apart from slurs, should be virtually indistinguishable
+ when printed.
+
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/texmf-dist/doc/man/man1/m-tx.1 new/texmf-dist/doc/man/man1/m-tx.1
--- old/texmf-dist/doc/man/man1/m-tx.1 2012-05-14 01:21:21.000000000 +0200
+++ new/texmf-dist/doc/man/man1/m-tx.1 2014-05-04 23:50:53.000000000 +0200
@@ -1,5 +1,5 @@
.\" This manpage is licensed under the GNU Public License
-.TH m-tx 1 2012-04-09 "m-tx script, version 0.3" ""
+.TH m-tx 1 2013-12-11 "m-tx script, version 0.4" ""
.SH NAME
m-tx \- This script processes mtx files then deletes intermediate files
@@ -70,6 +70,12 @@
changes the dvi processor to
.BR dvipdfm (1)
.TP
+.B -c
+use pmxchords before pmx
+.TP
+.B -F fmt
+uses fmt as the TeX processor
+.TP
.B -s
stops processing at the dvi file
.TP
@@ -97,6 +103,7 @@
.BR pdflatex (1),
.BR musixflx (1),
.BR dvipdfm (1),
+.BR pmxchords (1),
.BR dvips (1),
.BR ps2pdf (1).
.br
Files old/texmf-dist/doc/man/man1/m-tx.man1.pdf and new/texmf-dist/doc/man/man1/m-tx.man1.pdf differ
Files old/texmf-dist/doc/man/man1/prepmx.man1.pdf and new/texmf-dist/doc/man/man1/prepmx.man1.pdf differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tlpkg/tlpobj/m-tx.doc.tlpobj new/tlpkg/tlpobj/m-tx.doc.tlpobj
--- old/tlpkg/tlpobj/m-tx.doc.tlpobj 2013-04-09 03:40:27.000000000 +0200
+++ new/tlpkg/tlpobj/m-tx.doc.tlpobj 2014-05-05 00:21:15.000000000 +0200
@@ -1,6 +1,6 @@
name m-tx.doc
category Package
-revision 29764
+revision 33825
shortdesc doc files of m-tx
docfiles size=200
texmf-dist/doc/generic/m-tx/README
@@ -9,7 +9,7 @@
texmf-dist/doc/generic/m-tx/mtx-install.tex
texmf-dist/doc/generic/m-tx/mtx060.pdf
texmf-dist/doc/generic/m-tx/mtx060/Makefile
- texmf-dist/doc/generic/m-tx/mtx060/README
+ texmf-dist/doc/generic/m-tx/mtx060/README.M-Txdoc
texmf-dist/doc/generic/m-tx/mtx060/borup.mtx
texmf-dist/doc/generic/m-tx/mtx060/chord.mtx
texmf-dist/doc/generic/m-tx/mtx060/dertod.mtx
++++++ m-tx.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/texmf-dist/scripts/m-tx/m-tx.lua new/texmf-dist/scripts/m-tx/m-tx.lua
--- old/texmf-dist/scripts/m-tx/m-tx.lua 2012-10-20 00:53:30.000000000 +0200
+++ new/texmf-dist/scripts/m-tx/m-tx.lua 2013-12-31 23:07:39.000000000 +0100
@@ -27,6 +27,10 @@
ChangeLog:
+ version 0.4 2013-12-11 RDT
+ Add -c option for pmxchords preprocessing of pmx file
+ Add -F fmt option to use fmt as TeX processor
+
version 0.3 2012-04-09 RDT
Change name to m-tx to avoid clash with another program.
@@ -48,6 +52,8 @@
print(" -l latex (or pdflatex)")
print(" -p pdfetex (or pdflatex)")
print(" -d dvipdfm")
+ print(" -c preprocess pmx file using pmxchords")
+ print(" -F fmt use fmt as the TeX processor")
print(" -s stop at dvi")
print(" -t stop at tex/mid")
print(" -m stop at pmx")
@@ -98,6 +104,11 @@
dvi = ""; ps2pdf = ""
elseif this_arg == "-d" then
dvi = "dvipdfm"; ps2pdf = ""
+ elseif this_arg == "-c" then
+ pmx = "pmxchords"
+ elseif this_arg == "-F" then
+ narg = narg+1
+ tex = arg[narg]
elseif this_arg == "-s" then
dvi = ""; ps2pdf = ""
elseif this_arg == "-i" then
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tlpkg/tlpobj/m-tx.tlpobj new/tlpkg/tlpobj/m-tx.tlpobj
--- old/tlpkg/tlpobj/m-tx.tlpobj 2013-04-09 03:40:28.000000000 +0200
+++ new/tlpkg/tlpobj/m-tx.tlpobj 2014-05-05 00:21:15.000000000 +0200
@@ -1,6 +1,6 @@
name m-tx
category Package
-revision 29764
+revision 33825
shortdesc A preprocessor for pmx.
longdesc M-Tx is a preprocessor to pmx, which is itself a preprocessor
longdesc to musixtex, a music typesetting system. The prime motivation
@@ -12,6 +12,6 @@
texmf-dist/scripts/m-tx/m-tx.lua
texmf-dist/tex/generic/m-tx/mtx.tex
catalogue-ctan /support/m-tx
-catalogue-date 2013-01-20 14:45:16 +0100
+catalogue-date 2014-02-26 23:03:13 +0100
catalogue-license gpl
-catalogue-version 0.60d 2013-01-19
+catalogue-version 0.60d
++++++ makeindex.doc.tar.xz ++++++
Files old/texmf-dist/doc/man/man1/makeindex.man1.pdf and new/texmf-dist/doc/man/man1/makeindex.man1.pdf differ
Files old/texmf-dist/doc/man/man1/mkindex.man1.pdf and new/texmf-dist/doc/man/man1/mkindex.man1.pdf differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tlpkg/tlpobj/makeindex.doc.tlpobj new/tlpkg/tlpobj/makeindex.doc.tlpobj
--- old/tlpkg/tlpobj/makeindex.doc.tlpobj 2013-04-09 03:40:28.000000000 +0200
+++ new/tlpkg/tlpobj/makeindex.doc.tlpobj 2014-04-29 03:33:16.000000000 +0200
@@ -1,6 +1,6 @@
name makeindex.doc
category Package
-revision 29764
+revision 33736
shortdesc doc files of makeindex
docfiles size=94
texmf-dist/doc/man/man1/makeindex.1
++++++ makeindex.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/texmf-dist/tex/plain/makeindex/idxmac.tex new/texmf-dist/tex/plain/makeindex/idxmac.tex
--- old/texmf-dist/tex/plain/makeindex/idxmac.tex 1970-01-01 01:00:00.000000000 +0100
+++ new/texmf-dist/tex/plain/makeindex/idxmac.tex 2014-02-24 18:12:03.000000000 +0100
@@ -0,0 +1,200 @@
+%
+% idxmac.tex
+%
+% Most of the code in this file are excerpts from latex.tex and manmac.tex.
+% The actual style of the index environment \beginindex ... \endindex
+% at the end of this file is left empty.
+%
+%
+\def\makeatletter{\catcode`\@=11\relax}
+\def\makeatother{\catcode`\@=12\relax}
+\makeatletter
+\newif\if@filesw \@fileswtrue
+\newif\if@nobreak \@nobreakfalse
+\def\@makeother#1{\catcode`#112\relax}
+\def\newwrite{\alloc@7\write\chardef\sixt@@n}
+\newwrite\@unused
+\def\typeout#1{{\let\protect\string\immediate\write\@unused{#1}}}
+
+% ****************************************
+% * PAGE NUMBERING *
+% ****************************************
+%
+% Page numbers are produced by a page counter, used just like any other
+% counter. The only difference is that \c@page contains the number of
+% the next page to be output (the one currently being produced), rather
+% than one minus it. Thus, it is normally initialized to 1 rather than
+% 0. \c@page is defined to be \count0, rather than a count assigned by
+% \newcount.
+%
+% The user sets the pagenumber style with the \pagenumbering{FOO}
+% command, which sets the page counter to 1 and defines \thepage to be
+% \FOO. For example, \pagenumbering{roman} causes pages to be numbered
+% i, ii, etc.
+
+% Numbering commands for definitions of \theCOUNTER and \list arguments.
+% \fnsymbol produces the standard footnoting symbols: asterisk, dagger, etc.
+% They can be used only in math mode.
+
+\def\arabic#1{\@arabic{\@nameuse{c@#1}}}
+\def\roman#1{\@roman{\@nameuse{c@#1}}}
+\def\Roman#1{\@Roman{\@nameuse{c@#1}}}
+\def\alph#1{\@alph{\@nameuse{c@#1}}}
+\def\Alph#1{\@Alph{\@nameuse{c@#1}}}
+\def\fnsymbol#1{\@fnsymbol{\@nameuse{c@#1}}}
+
+\def\@arabic#1{\ifnum #1>0 \number #1\fi}
+\def\@roman#1{\romannumeral #1}
+\def\@Roman#1{\expandafter\uppercase\expandafter{\romannumeral #1}}
+\def\@alph#1{\ifcase#1\or a\or b\or c\or d\else\@ialph{#1}\fi}
+\def\@ialph#1{\ifcase#1\or \or \or \or \or e\or f\or g\or h\or i\or j\or
+ k\or l\or m\or n\or o\or p\or q\or r\or s\or t\or u\or v\or w\or x\or y\or
+ z\else\@ctrerr\fi}
+\def\@Alph#1{\ifcase#1\or A\or B\or C\or D\else\@Ialph{#1}\fi}
+\def\@Ialph#1{\ifcase#1\or \or \or \or \or E\or F\or G\or H\or I\or J\or
+ K\or L\or M\or N\or O\or P\or Q\or R\or S\or T\or U\or V\or W\or X\or Y\or
+ Z\else\@ctrerr\fi}
+\def\@fnsymbol#1{\ifcase#1\or *\or \dagger\or \ddagger\or
+ \mathchar "278\or \mathchar "27B\or \|\or **\or \dagger\dagger
+ \or \ddagger\ddagger \else\@ctrerr\fi\relax}
+
+\countdef\c@page=0 \c@page=1
+\def\cl@page{}
+\def\pagenumbering#1{\global\c@page \@ne \gdef\thepage{\csname @#1\endcsname
+ \c@page}}
+\pagenumbering{arabic}
+
+% \@bsphack ... \@esphack
+% used by macros such as \index and \begin{@float} ... \end{@float}
+% that want to be invisible -- i.e.,
+% not leave any extra space when used in the middle of text. Such
+% a macro should begin with \@bsphack and end with \@esphack
+% The macro in question should not create any text, nor change the
+% mode.
+%
+% \@bsphack ==
+% BEGIN
+% \dimen\@savsk := \lastskip
+% if hmode then \@savsf := \spacefactor fi
+% END
+%
+% \@esphack ==
+% BEGIN
+% if hmode
+% then \spacefactor := \@savsf
+% if \dimen\@savsk > 0pt then \ignorespaces
+% \global\ignoretrue fi
+% fi
+% END
+%
+
+\newdimen\@savsk
+\newcount\@savsf
+
+\def\@bsphack{\@savsk\lastskip
+ \ifhmode\@savsf\spacefactor\fi}
+
+\def\@esphack{\relax\ifhmode\spacefactor\@savsf
+ {}\ifdim \@savsk >\z@ \global\ignoretrue \ignorespaces
+ \fi \fi}
+
+% The command \@sanitize changes the catcode of all special characters
+% except for braces to 'other'. It can be used for commands like
+% \index that want to write their arguments verbatim. Needless to
+% say, this command should only be executed within a group, or chaos
+% will ensue.
+
+\def\@sanitize{\@makeother\ \@makeother\\\@makeother\$\@makeother\&%
+\@makeother\#\@makeother\^\@makeother\^^K\@makeother\_\@makeother\^^A%
+\@makeother\%\@makeother\~}
+
+% ****************************************
+% * INDEX COMMANDS *
+% ****************************************
+%
+% \makeindex ==
+% BEGIN
+% if \@filesw = T
+% then open file \jobname.IDX as \indexfile
+% \index == BEGIN \@bsphack
+% \begingroup
+% re-\catcode special characters to 'other'
+% \wrindex
+% fi
+% END
+%
+% \wrindex{ITEM} ==
+% BEGIN
+% write of {\indexentry{ITEM}{page number}}
+% \endgroup
+% \@esphack
+% END
+
+% INITIALIZATION:
+%
+% \index == BEGIN \@bsphack
+% \begingroup
+% re-\catcode special characters (in case '%' there)
+% \index
+% END
+%
+% \index{ITEM} == BEGIN \endgroup \@esphack END
+%
+\def\makeindex{\if@filesw \newwrite\@indexfile
+ \immediate\openout\@indexfile=\jobname.idx
+ \def\index{\@bsphack\begingroup\@sanitize\@wrindex\@indexfile}
+ \typeout{Writing index file \jobname.idx }\fi}
+
+\def\@wrindex#1#2{\let\thepage\relax
+ \xdef\gtempa{\write#1{\string
+ \indexentry{#2}{\thepage}}}\endgroup\gtempa
+ \if@nobreak \ifvmode\@nobreak\fi\fi\@esphack}
+
+\def\index{\@bsphack\begingroup\@sanitize\@index}
+\def\@index#1{\endgroup\@esphack}
+
+\def\makeglossary{\if@@filesw \newwrite\@glossaryfile
+ \immediate\openout\@glossaryfile=\jobname.glo
+ \def\glossary{\@bsphack\begingroup\@sanitize\@wrindex\@glossaryfile}\typeout
+ {Writing glossary file \jobname.glo }\fi}
+
+\def\glossary{\@bsphack\begingroup\@sanitize\index}
+
+\newdimen\pagewidth
+\pagewidth=\hsize
+\newbox\partialpage
+\def\begindoublecolumns{\begingroup
+ \output={\global\setbox\partialpage=\vbox{\unvbox255\bigskip}}\eject
+ \output={\doublecolumnout} \hsize=14pc \vsize=89pc
+ \let\item\@idxitem}
+\def\enddoublecolumns{\output={\balancecolumns}\eject
+ \endgroup \pagegoal=\vsize}
+\def\doublecolumnout{\splittopskip=\topskip \splitmaxdepth=\maxdepth
+ \dimen@=44pc \advance\dimen@ by-\ht\partialpage
+ \setbox0=\vsplit255 to\dimen@ \setbox2=\vsplit255 to\dimen@
+ \onepageout\pagesofar
+ \unvbox255 \penalty\outputpenalty}
+\def\pagesofar{\unvbox\partialpage
+ \wd0=\hsize \wd2=\hsize \hbox to\pagewidth{\box0\hfil\box2}}
+\def\balancecolumns{\setbox0=\vbox{\unvbox255} \dimen@=\ht0
+ \advance\dimen@ by\topskip \advance\dimen@ by-\baselineskip
+ \divide\dimen@ by2 \splittopskip=\topskip
+ {\vbadness=10000 \loop \global\setbox3=\copy0
+ \global\setbox1=\vsplit3 to\dimen@
+ \ifdim\ht3>\dimen@ \global\advance\dimen@ by1pt \repeat}
+ \setbox0=\vbox to\dimen@{\unvbox1}
+ \setbox2=\vbox to\dimen@{\unvbox3}
+ \pagesofar}
+
+\def\@idxitem{\par\hangindent 40pt}
+\def\subitem{\par\hangindent 40pt \hskip 20pt}
+\def\subsubitem{\par\hangindent 40pt \hskip 30pt}
+\def\indexspace{\par \vskip 10pt plus 5pt minus 3pt\relax}
+
+\def\beginindex{\begingroup\let\item\@idxitem
+% Output opening routines go here
+}
+\def\endindex{
+% Output closing routines go here.
+\endgroup}
+\makeatother
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tlpkg/tlpobj/makeindex.tlpobj new/tlpkg/tlpobj/makeindex.tlpobj
--- old/tlpkg/tlpobj/makeindex.tlpobj 2013-04-09 03:40:28.000000000 +0200
+++ new/tlpkg/tlpobj/makeindex.tlpobj 2014-04-29 03:33:17.000000000 +0200
@@ -1,6 +1,6 @@
name makeindex
category Package
-revision 29764
+revision 33736
shortdesc Process index output to produce typesettable code.
longdesc A general purpose hierarchical index generator; it accepts one
longdesc or more input files (often produced by a text formatter such as
@@ -9,7 +9,7 @@
longdesc files are specified in a style file; by default, input is
longdesc assumed to be an .idx file, as generated by LaTeX.
depend makeindex.ARCH
-runfiles size=7
+runfiles size=9
texmf-dist/makeindex/base/din.ist
texmf-dist/makeindex/base/icase.ist
texmf-dist/makeindex/base/latex.ist
@@ -17,6 +17,7 @@
texmf-dist/makeindex/base/mkind.ist
texmf-dist/makeindex/base/puncts.ist
texmf-dist/makeindex/base/tex.ist
+ texmf-dist/tex/plain/makeindex/idxmac.tex
catalogue-ctan /indexing/makeindex
catalogue-date 2011-09-24 09:40:13 +0200
catalogue-license other-free
++++++ mandi.doc.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/doc/latex/mandi/README new/doc/latex/mandi/README
--- old/doc/latex/mandi/README 2013-01-01 00:17:17.000000000 +0100
+++ new/doc/latex/mandi/README 2013-06-27 18:32:09.000000000 +0200
@@ -1,10 +1,9 @@
The mandi package provides commands for typesetting symbols, expressions, and
quantities used in introductory physics and astronomy. Many of the commands are
inspired by Matter & Interactions by Ruth Chabay and Bruce Sherwood. Many of
-the astronomical commands were inspired by my own classroom needs. It must be
-understood that mandi does not do any computations! It only provides commands
-for typesetting.
+the astronomical commands were inspired by my own classroom needs. This package
+does not do computations. It only provides commands for typesetting.
-Run the file mandi.dtx through (pdf)LaTeX to generate README (this file),
-mandi.ins, mandi.sty, vdemo.py, and mandi.pdf (user documentation). I assume
-a TeXLive2011 or later distribution is installed.
+Run the file mandi.dtx through (pdf)LaTeX to generate mandi.ins, mandi.sty,
+vdemo.py, and mandi.pdf (user documentation). I assume a TeX Live 2011 or later
+distribution is installed.
Files old/doc/latex/mandi/mandi.pdf and new/doc/latex/mandi/mandi.pdf differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tlpkg/tlpobj/mandi.doc.tlpobj new/tlpkg/tlpobj/mandi.doc.tlpobj
--- old/tlpkg/tlpobj/mandi.doc.tlpobj 2013-04-11 03:43:59.000000000 +0200
+++ new/tlpkg/tlpobj/mandi.doc.tlpobj 2013-06-29 03:22:17.000000000 +0200
@@ -1,9 +1,9 @@
name mandi.doc
category Package
-revision 29837
+revision 30981
shortdesc doc files of mandi
relocated 1
-docfiles size=228
+docfiles size=252
RELOC/doc/latex/mandi/README
RELOC/doc/latex/mandi/mandi.pdf
RELOC/doc/latex/mandi/vdemo.py
++++++ mandi.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tex/latex/mandi/mandi.sty new/tex/latex/mandi/mandi.sty
--- old/tex/latex/mandi/mandi.sty 2013-04-11 00:43:48.000000000 +0200
+++ new/tex/latex/mandi/mandi.sty 2013-06-27 18:32:09.000000000 +0200
@@ -6,7 +6,7 @@
%%
%% mandi.dtx (with options: `package')
%%
-%% Copyright (C) 2011,2012 by Paul J. Heafner
+%% Copyright (C) 2011, 2012, 2013 by Paul J. Heafner
%% ---------------------------------------------------------------------------
%% This work may be distributed and/or modified under the conditions of the
%% LaTeX Project Public License, either version 1.3 of this license or (at
@@ -20,21 +20,21 @@
%% The Current Maintainer of this work is Paul J. Heafner.
%%
%% This work consists of the files mandi.dtx
+%% README
%%
-%% and includes the derived files README
-%% mandi.ins
+%% and includes the derived files mandi.ins
%% mandi.sty
-%% mandi.pdf and
-%% vdemo.py.
+%% vdemo.py and
+%% mandi.pdf.
%% ---------------------------------------------------------------------------
%%
-\ProvidesPackage{mandi}[2013/04/10 2.1.0 Macros for intro physics and astronomy]
+\ProvidesPackage{mandi}[2013/06/14 2.2.0 Macros for physics and astronomy]
\NeedsTeXFormat{LaTeX2e}[1999/12/01]
\RequirePackage{amsmath}
\RequirePackage{amssymb}
+\RequirePackage{array}
\RequirePackage{bigints}
\RequirePackage{cancel}
-\RequirePackage[leftbars,color]{changebar}
\RequirePackage[dvipsnames]{xcolor}
\RequirePackage{environ}
\RequirePackage{etoolbox}
@@ -61,6 +61,7 @@
\definecolor{vpythoncolor}{rgb}{0.95,0.95,0.95}
\newcommand{\lstvpython}{\lstset{language=Python,numbers=left,numberstyle=\tiny,
backgroundcolor=\color{vpythoncolor},upquote=true,breaklines}}
+\newcolumntype{C}[1]{>{\centering}m{#1}}
\newboolean{@optitalicvectors}
\newboolean{@optdoubleabsbars}
\newboolean{@optbaseunits}
@@ -91,6 +92,7 @@
\newcommand{\coulomb}{\ensuremath{\mathrm{C}}}
\newcommand{\degree}{\ensuremath{^{\circ}}}
\newcommand{\electronvolt}{\ensuremath{\mathrm{eV}}}
+\newcommand{\eV}{\electronvolt}
\newcommand{\farad}{\ensuremath{\mathrm{F}}}
\newcommand{\henry}{\ensuremath{\mathrm{H}}}
\newcommand{\hertz}{\ensuremath{\mathrm{Hz}}}
@@ -122,6 +124,7 @@
\newcommand{\T}{\tesla}
\newcommand{\V}{\volt}
\newcommand{\W}{\watt}
+\newcommand{\Wb}{\weber}
\newcommand{\square}[1]{\ensuremath{\mathrm{#1}^{2}}} % prefix 2
\newcommand*{\cubic}[1]{\ensuremath{\mathrm{#1}^{3}}} % prefix 3
\newcommand*{\quartic}[1]{\ensuremath{\mathrm{#1}^{4}}} % prefix 4
@@ -207,8 +210,7 @@
\setbox\z@\hbox{%
\mathchardef\@tempa\mathcode`\[\relax
\def\@tempb##1"##2##3{\the\textfont"##3\char"}%
- \expandafter\@tempb\meaning\@tempa \relax
- }%
+ \expandafter\@tempb\meaning\@tempa \relax}%
\ht\Mathstrutbox@\ht\z@ \dp\Mathstrutbox@\dp\z@}
\begingroup
\catcode`(\active \xdef({\left\string(}
@@ -242,14 +244,31 @@
\newphysicsquantity{planeangle}{\m\usk\reciprocal\m}[\rad][\rad]
\newphysicsquantity{solidangle}{\m\squared\usk\reciprocalsquare\m}[\sr][\sr]
\newcommand{\indegrees}[1]{\ensuremath{\unit{#1}{\degree}}}
+\newcommand{\inFarenheit}[1]{\ensuremath{\unit{#1}{\degree\mathrm{F}}}}
+\newcommand{\inCelsius}[1]{\ensuremath{\unit{#1}{\degree\mathrm{C}}}}
\newcommand{\inarcminutes}[1]{\ensuremath{\unit{#1}{\arcminute}}}
\newcommand{\inarcseconds}[1]{\ensuremath{\unit{#1}{\arcsecond}}}
\newcommand{\ineV}[1]{\ensuremath{\unit{#1}{\electronvolt}}}
+\newcommand{\inMeVocs}[1]{\ensuremath{\unit{#1}{\mathrm{MeV}\per\msup{c}{2}}}}
+\newcommand{\inMeVoc}[1]{\ensuremath{\unit{#1}{\mathrm{MeV}\per c}}}
\newcommand{\inAU}[1]{\ensuremath{\unit{#1}{\mathrm{AU}}}}
+\newcommand{\inly}[1]{\ensuremath{\unit{#1}{\mathrm{ly}}}}
+\newcommand{\incyr}[1]{\ensuremath{\unit{#1}{c\usk\mathrm{year}}}}
+\newcommand{\inpc}[1]{\ensuremath{\unit{#1}{\mathrm{pc}}}}
+\newcommand{\insolarL}[1]{\ensuremath{\unit{#1}{\Lsolar}}}
+\newcommand{\insolarT}[1]{\ensuremath{\unit{#1}{\Tsolar}}}
+\newcommand{\insolarR}[1]{\ensuremath{\unit{#1}{\Rsolar}}}
+\newcommand{\insolarM}[1]{\ensuremath{\unit{#1}{\Msolar}}}
+\newcommand{\insolarF}[1]{\ensuremath{\unit{#1}{\Fsolar}}}
+\newcommand{\insolarf}[1]{\ensuremath{\unit{#1}{\fsolar}}}
+\newcommand{\insolarMag}[1]{\ensuremath{\unit{#1}{\Magsolar}}}
+\newcommand{\insolarmag}[1]{\ensuremath{\unit{#1}{\magsolar}}}
+\newcommand{\insolarD}[1]{\ensuremath{\unit{#1}{\Dsolar}}}
+\newcommand{\insolard}[1]{\ensuremath{\unit{#1}{\dsolar}}}
\newcommand{\velocityc}[1]{\ensuremath{#1c}}
\newphysicsquantity{velocity}{\m\usk\reciprocal\s}[\m\usk\reciprocal\s][\m\per\s]
\newphysicsquantity{acceleration}{\m\usk\s\reciprocalsquared}[\N\per\kg][\m\per\s\squared]
-\newcommand{\gamman}[1]{\ensuremath{#1}}
+\newcommand{\lorentz}[1]{\ensuremath{#1}}
\newphysicsquantity{momentum}{\m\usk\kg\usk\reciprocal\s}[\N\usk\s][\kg\usk\m\per\s]
\newphysicsquantity{impulse}{\m\usk\kg\usk\reciprocal\s}[\N\usk\s][\kg\usk\m\per\s]
\newphysicsquantity{force}{\m\usk\kg\usk\s\reciprocalsquared}[\N][\N]
@@ -264,20 +283,16 @@
[\kg\per\m\cubed]
\newphysicsquantity{youngsmodulus}{\reciprocal\m\usk\kg\usk\s\reciprocalsquared}
[\N\per\m\squared][\Pa]
-\newphysicsquantity{work}{\m\squared\usk\kg\usk\s\reciprocalsquared}[\J]
-[\N\usk\m]
-\newphysicsquantity{energy}{\m\squared\usk\kg\usk\s\reciprocalsquared}[\J]
-[\N\usk\m]
+\newphysicsquantity{work}{\m\squared\usk\kg\usk\s\reciprocalsquared}[\J][\N\usk\m]
+\newphysicsquantity{energy}{\m\squared\usk\kg\usk\s\reciprocalsquared}[\J][\N\usk\m]
\newphysicsquantity{power}{\m\squared\usk\kg\usk\s\reciprocalcubed}[\W][\J\per\s]
\newphysicsquantity{angularvelocity}{\rad\usk\reciprocal\s}[\rad\per\s][\rad\per\s]
\newphysicsquantity{angularacceleration}{\rad\usk\s\reciprocalsquared}[\rad\per\s\squared]
[\rad\per\s\squared]
\newphysicsquantity{angularmomentum}{\m\squared\usk\kg\usk\reciprocal\s}[\J\usk\s]
[\kg\usk\m\squared\per\s]
-\newphysicsquantity{momentofinertia}{\m\squared\usk\kg}[\J\usk\s\squared]
-[\kg\usk\m\squared]
-\newphysicsquantity{torque}{\m\squared\usk\kg\usk\s\reciprocalsquared}[\J\per\rad]
-[\N\usk\m]
+\newphysicsquantity{momentofinertia}{\m\squared\usk\kg}[\J\usk\s\squared][\kg\usk\m\squared]
+\newphysicsquantity{torque}{\m\squared\usk\kg\usk\s\reciprocalsquared}[\J\per\rad][\N\usk\m]
\newphysicsquantity{entropy}{\m\squared\usk\kg\usk\s\reciprocalsquared\usk\reciprocal\K}
[\J\per\K][\J\per\K]
\newphysicsquantity{wavelength}{\m}[\m][\m]
@@ -285,15 +300,21 @@
\newphysicsquantity{frequency}{\reciprocal\s}[\hertz][\hertz]
\newphysicsquantity{angularfrequency}{\rad\usk\reciprocal\s}[\rad\per\s][\rad\per\s]
\newphysicsquantity{charge}{\A\usk\s}[\C][\C]
-\newphysicsquantity{permittivity}{\m\reciprocalcubed\usk\reciprocal\kg\usk\s
- \reciprocalquarted\usk\A\squared}[\F\per\m][\C\squared\per\N\usk\m\squared]
-\newphysicsquantity{permeability}{\m\usk\kg\usk\s\reciprocalsquared\usk\A
- \reciprocalsquared}[\henry\per\m][\T\usk\m\per\A]
+\newphysicsquantity{permittivity}
+{\m\reciprocalcubed\usk\reciprocal\kg\usk\s\reciprocalquarted\usk\A\squared}
+[\F\per\m][\C\squared\per\N\usk\m\squared]
+\newphysicsquantity{permeability}
+{\m\usk\kg\usk\s\reciprocalsquared\usk\A\reciprocalsquared}[\henry\per\m][\T\usk\m\per\A]
\newphysicsquantity{electricfield}{\m\usk\kg\usk\s\reciprocalcubed\usk\reciprocal\A}
[\V\per\m][\N\per\C]
\newphysicsquantity{electricdipolemoment}{\m\usk\s\usk\A}[\C\usk\m][\C\usk\m]
+\newphysicsquantity{electricflux}{\m\cubed\usk\kg\usk\s\reciprocalcubed\usk\reciprocal\A}
+[\V\usk\m][\N\usk\m\squared\per\C]
\newphysicsquantity{magneticfield}{\kg\usk\s\reciprocalsquared\usk\reciprocal\A}[\T]
-[\N\per\C\usk(\m\per\s)]
+[\N\per\C\usk(\m\per\s)] % also \Wb\per\m\squared
+\newphysicsquantity{magneticflux}
+{\m\squared\usk\kg\usk\s\reciprocalsquared\usk\reciprocal\A}[\volt\usk\s]
+[\T\usk\m\squared] % also \Wb and \J\per\A
\newphysicsquantity{cmagneticfield}{\m\usk\kg\usk\s\reciprocalcubed\usk\reciprocal\A}
[\V\per\m][\N\per\C]
\newphysicsquantity{linearchargedensity}{\reciprocal\m\usk\s\usk\A}[\C\per\m][\C\per\m]
@@ -317,6 +338,8 @@
\newphysicsquantity{relativepermeability}{}[][]
\newphysicsquantity{energydensity}{\m\reciprocaled\usk\kg\usk\reciprocalsquare\s}
[\J\per\cubic\m][\J\per\cubic\m]
+\newphysicsquantity{energyflux}{\kg\usk\s\reciprocalcubed}
+[\W\per\m\squared][\W\per\m\squared]
\newphysicsquantity{electroncurrent}{\reciprocal\s}
[\ensuremath{\mathrm{e}}\per\s][\ensuremath{\mathrm{e}}\per\s]
\newphysicsquantity{conventionalcurrent}{\A}[\C\per\s][\A]
@@ -324,27 +347,30 @@
\newphysicsquantity{currentdensity}{\reciprocalsquare\m\usk\A}[\C\usk\s\per\square\m]
[\A\per\square\m]
\newphysicsquantity{capacitance}
-{\reciprocalsquare\m\usk\reciprocal\kg\usk\quartic\s\usk\square\A}[\C\per\V][\F]
+{\reciprocalsquare\m\usk\reciprocal\kg\usk\quartic\s\usk\square\A}[\F][\C\per\V]
+\newphysicsquantity{inductance}
+{\square\m\usk\kg\usk\reciprocalsquare\s\usk\reciprocalsquare\A}[\henry]
+[\volt\usk\s\per\A] % also \square\m\usk\kg\per\C\squared, \Wb\per\A
\newphysicsquantity{conductivity}
{\reciprocalcubic\m\usk\reciprocal\kg\usk\cubic\s\usk\square\A}[\siemens\per\m]
-[\A\per\V\usk\m]
+[(\A\per\square\m)\per(\V\per\m)]
\newphysicsquantity{resistivity}
-{\cubic\m\usk\kg\usk\reciprocalcubic\s\usk\reciprocalsquare\A}[\m\per\siemens]
-[\ohm\usk\m]
+{\cubic\m\usk\kg\usk\reciprocalcubic\s\usk\reciprocalsquare\A}[\ohm\usk\m]
+[(\V\per\m)\per(\A\per\square\m)]
\newphysicsquantity{resistance}
{\square\m\usk\kg\usk\reciprocalcubic\s\usk\reciprocalsquare\A}[\V\per\A][\ohm]
\newphysicsquantity{conductance}
{\reciprocalsquare\m\usk\reciprocal\kg\usk\cubic\s\usk\square\A}[\A\per\V][\siemens]
+\newphysicsquantity{magneticcharge}{\m\usk\A}[\m\usk\A][\m\usk\A]
\newcommand{\lv}{\ensuremath{\left\langle}}
\newcommand{\rv}{\ensuremath{\right\rangle}}
\newcommand{\symvect}{\mivector}
\newcommand{\ncompsvect}{\mivector}
-\ExplSyntaxOn
+\ExplSyntaxOn % Written in LaTeX3
\NewDocumentCommand{\magvectncomps}{ m O{} }
{%
\sum_of_squares:nn { #1 }{ #2 }
}%
-
\cs_new:Npn \sum_of_squares:nn #1 #2
{%
\tl_if_empty:nTF { #2 }
@@ -410,16 +436,16 @@
\compDvect{#1}{z}\rv}}
\newcommand{\dervect}[2]{\ensuremath{\frac{\dvect{#1}}{\mathrm{d}{#2}}}}
\newcommand{\Dervect}[2]{\ensuremath{\frac{\Dvect{#1}}{\Delta{#2}}}}
-\newcommand{\compdervect}[3]{\ensuremath{\dbyd{\compvect{#1}{#3}}{#2}}}
-\newcommand{\compDervect}[3]{\ensuremath{\DbyD{\compvect{#1}{#3}}{#2}}}
+\newcommand{\compdervect}[3]{\ensuremath{\dbyd{\compvect{#1}{#2}}{#3}}}
+\newcommand{\compDervect}[3]{\ensuremath{\DbyD{\compvect{#1}{#2}}{#3}}}
\newcommand{\scompsdervect}[2]{\ensuremath{\lv
- \compdervect{#1}{#2}{x},
- \compdervect{#1}{#2}{y},
- \compdervect{#1}{#2}{z}\rv}}
+ \compdervect{#1}{x}{#2},
+ \compdervect{#1}{y}{#2},
+ \compdervect{#1}{z}{#2}\rv}}
\newcommand{\scompsDervect}[2]{\ensuremath{\lv
- \compDervect{#1}{#2}{x},
- \compDervect{#1}{#2}{y},
- \compDervect{#1}{#2}{z}\rv}}
+ \compDervect{#1}{x}{#2},
+ \compDervect{#1}{y}{#2},
+ \compDervect{#1}{z}{#2}\rv}}
\ifthenelse{\boolean{@optdoubleabsbars}}
{\newcommand{\magdervect}[2]{\ensuremath{\magof{\dervect{#1}{#2}}}}
\newcommand{\magDervect}[2]{\ensuremath{\magof{\Dervect{#1}{#2}}}}}
@@ -443,19 +469,19 @@
\newcommand{\compDerpos}[2]{\ensuremath{\frac{\Delta{#1}}{\Delta{#2}}}}
\newcommand{\vectsub}[2]{\ensuremath{\ssub{\vect{#1}}{#2}}}
\ifthenelse{\boolean{@optitalicvectors}}
- {\newcommand{\compvectsub}[3]{\ensuremath{\ssub{#1}{#2,\(#3\)}}}}
- {\newcommand{\compvectsub}[3]{\ensuremath{\ssub{\mathrm{#1}}{#2,\(#3\)}}}}
+ {\newcommand{\compvectsub}[3]{\ensuremath{\ssub{#1}{\(#2\),#3}}}}
+ {\newcommand{\compvectsub}[3]{\ensuremath{\ssub{\mathrm{#1}}{\(#2\),#3}}}}
\newcommand{\scompsvectsub}[2]{\ensuremath{\lv
- \compvectsub{#1}{#2}{x},
- \compvectsub{#1}{#2}{y},
- \compvectsub{#1}{#2}{z}\rv}}
+ \compvectsub{#1}{x}{#2},
+ \compvectsub{#1}{y}{#2},
+ \compvectsub{#1}{z}{#2}\rv}}
\ifthenelse{\boolean{@optdoubleabsbars}}
{\newcommand{\magvectsub}[2]{\ensuremath{\magof{\vectsub{#1}{#2}}}}}
{\newcommand{\magvectsub}[2]{\ensuremath{\abs{\vectsub{#1}{#2}}}}}
\newcommand{\magvectsubscomps}[2]{\ensuremath{\sqrt{
- \msup{\compvectsub{#1}{#2}{x}}{2}+
- \msup{\compvectsub{#1}{#2}{y}}{2}+
- \msup{\compvectsub{#1}{#2}{z}}{2}}}}
+ \msup{\compvectsub{#1}{x}{#2}}{2}+
+ \msup{\compvectsub{#1}{y}{#2}}{2}+
+ \msup{\compvectsub{#1}{z}{#2}}{2}}}}
\ifthenelse{\boolean{@optitalicvectors}}
{\newcommand{\dirvectsub}[2]{\ensuremath{\ssub{\widehat{#1}}{#2}}}}
{\newcommand{\dirvectsub}[2]{\ensuremath{\ssub{\widehat{\mathrm{#1}}}{#2}}}}
@@ -464,13 +490,13 @@
\newcommand{\compdvectsub}[3]{\ensuremath{\mathrm{d}\compvectsub{#1}{#2}{#3}}}
\newcommand{\compDvectsub}[3]{\ensuremath{\Delta\compvectsub{#1}{#2}{#3}}}
\newcommand{\scompsdvectsub}[2]{\ensuremath{\lv
- \compdvectsub{#1}{#2}{x},
- \compdvectsub{#1}{#2}{y},
- \compdvectsub{#1}{#2}{z}\rv}}
+ \compdvectsub{#1}{x}{#2},
+ \compdvectsub{#1}{y}{#2},
+ \compdvectsub{#1}{z}{#2}\rv}}
\newcommand{\scompsDvectsub}[2]{\ensuremath{\lv
- \compDvectsub{#1}{#2}{x},
- \compDvectsub{#1}{#2}{y},
- \compDvectsub{#1}{#2}{z},\rv}}
+ \compDvectsub{#1}{x}{#2},
+ \compDvectsub{#1}{y}{#2},
+ \compDvectsub{#1}{z}{#2}\rv}}
\newcommand{\dermagvectsub}[3]{\ensuremath{\dbyd{\magvectsub{#1}{#2}}{#3}}}
\newcommand{\Dermagvectsub}[3]{\ensuremath{\DbyD{\magvectsub{#1}{#2}}{#3}}}
\newcommand{\dervectsub}[3]{\ensuremath{\dbyd{\vectsub{#1}{#2}}{#3}}}
@@ -480,41 +506,41 @@
\newcommand{\magDervectsub}[3]{\ensuremath{\magof{\Dervectsub{#1}{#2}{#3}}}}}
{\newcommand{\magdervectsub}[3]{\ensuremath{\abs{\dervectsub{#1}{#2}{#3}}}}
\newcommand{\magDervectsub}[3]{\ensuremath{\abs{\Dervectsub{#1}{#2}{#3}}}}}
-\newcommand{\compdervectsub}[4]{\ensuremath{\dbyd{\compvectsub{#1}{#2}{#4}}{#3}}}
-\newcommand{\compDervectsub}[4]{\ensuremath{\DbyD{\compvectsub{#1}{#2}{#4}}{#3}}}
+\newcommand{\compdervectsub}[4]{\ensuremath{\dbyd{\compvectsub{#1}{#2}{#3}}{#4}}}
+\newcommand{\compDervectsub}[4]{\ensuremath{\DbyD{\compvectsub{#1}{#2}{#3}}{#4}}}
\newcommand{\scompsdervectsub}[3]{\ensuremath{\lv
- \compdervectsub{#1}{#2}{#3}{x},
- \compdervectsub{#1}{#2}{#3}{y},
- \compdervectsub{#1}{#2}{#3}{z}\rv}}
+ \compdervectsub{#1}{x}{#2}{#3},
+ \compdervectsub{#1}{y}{#2}{#3},
+ \compdervectsub{#1}{z}{#2}{#3}\rv}}
\newcommand{\scompsDervectsub}[3]{\ensuremath{\lv
- \compDervectsub{#1}{#2}{#3}{x},
- \compDervectsub{#1}{#2}{#3}{y},
- \compDervectsub{#1}{#2}{#3}{z}\rv}}
-\newcommand{\comppossub}[2]{\ensuremath{\ssub{#2}{#1}}}
+ \compDervectsub{#1}{x}{#2}{#3},
+ \compDervectsub{#1}{y}{#2}{#3},
+ \compDervectsub{#1}{z}{#2}{#3}\rv}}
+\newcommand{\comppossub}[2]{\ensuremath{\ssub{#1}{#2}}}
\newcommand{\scompspossub}[1]{\ensuremath{\lv
- \comppossub{#1}{x},
- \comppossub{#1}{y},
- \comppossub{#1}{z}\rv}}
+ \comppossub{x}{#1},
+ \comppossub{y}{#1},
+ \comppossub{z}{#1}\rv}}
\newcommand{\compdpossub}[2]{\ensuremath{\mathrm{d}\comppossub{#1}{#2}}}
\newcommand{\compDpossub}[2]{\ensuremath{\Delta\comppossub{#1}{#2}}}
\newcommand{\scompsdpossub}[1]{\ensuremath{\lv
- \compdpossub{#1}{x},
- \compdpossub{#1}{y},
- \compdpossub{#1}{z}\rv}}
+ \compdpossub{x}{#1},
+ \compdpossub{y}{#1},
+ \compdpossub{z}{#1}\rv}}
\newcommand{\scompsDpossub}[1]{\ensuremath{\lv
- \compDpossub{#1}{x},
- \compDpossub{#1}{y},
- \compDpossub{#1}{z}\rv}}
-\newcommand{\compderpossub}[3]{\ensuremath{\dbyd{\comppossub{#1}{#3}}{#2}}}
-\newcommand{\compDerpossub}[3]{\ensuremath{\DbyD{\comppossub{#1}{#3}}{#2}}}
+ \compDpossub{x}{#1},
+ \compDpossub{y}{#1},
+ \compDpossub{z}{#1}\rv}}
+\newcommand{\compderpossub}[3]{\ensuremath{\dbyd{\comppossub{#1}{#2}}{#3}}}
+\newcommand{\compDerpossub}[3]{\ensuremath{\DbyD{\comppossub{#1}{#2}}{#3}}}
\newcommand{\scompsderpossub}[2]{\ensuremath{\lv
- \compderpossub{#1}{#2}{x},
- \compderpossub{#1}{#2}{y},
- \compderpossub{#1}{#2}{z}\rv}}
+ \compderpossub{x}{#1}{#2},
+ \compderpossub{y}{#1}{#2},
+ \compderpossub{z}{#1}{#2}\rv}}
\newcommand{\scompsDerpossub}[2]{\ensuremath{\lv
- \compDerpossub{#1}{#2}{x},
- \compDerpossub{#1}{#2}{y},
- \compDerpossub{#1}{#2}{z}\rv}}
+ \compDerpossub{x}{#1}{#2},
+ \compDerpossub{y}{#1}{#2},
+ \compDerpossub{z}{#1}{#2}\rv}}
\newcommand{\relpos}[1]{\ensuremath{\vectsub{r}{#1}}}
\newcommand{\relvel}[1]{\ensuremath{\vectsub{v}{#1}}}
\newcommand{\relmom}[1]{\ensuremath{\vectsub{p}{#1}}}
@@ -553,105 +579,110 @@
\newcommand{\vectsubdotsvectsub}[4]{\ensuremath{
\scompsvectsub{#1}{#2}\bullet\scompsvectsub{#3}{#4}}}
\newcommand{\vectsubdotevectsub}[4]{\ensuremath{
- \compvectsub{#1}{#2}{x}\compvectsub{#3}{#4}{x}+
- \compvectsub{#1}{#2}{y}\compvectsub{#3}{#4}{y}+
- \compvectsub{#1}{#2}{z}\compvectsub{#3}{#4}{z}}}
-\newcommand{\vectsubdotsdvectsub}[4]{\ensuremath{
+ \compvectsub{#1}{x}{#2}\compvectsub{#3}{x}{#4}+
+ \compvectsub{#1}{y}{#2}\compvectsub{#3}{y}{#4}+
+ \compvectsub{#1}{z}{#2}\compvectsub{#3}{z}{#4}}}
+\newcommand{\vectsubdotsdvectsub}[4]{\ensuremath{%
\scompsvectsub{#1}{#2}\bullet\scompsdvectsub{#3}{#4}}}
-\newcommand{\vectsubdotsDvectsub}[4]{\ensuremath{
+\newcommand{\vectsubdotsDvectsub}[4]{\ensuremath{%
\scompsvectsub{#1}{#2}\bullet\scompsDvectsub{#3}{#4}}}
\newcommand{\vectsubdotedvectsub}[4]{\ensuremath{
- \compvectsub{#1}{#2}{x}\compdvectsub{#3}{#4}{x}+
- \compvectsub{#1}{#2}{y}\compdvectsub{#3}{#4}{y}+
- \compvectsub{#1}{#2}{z}\compdvectsub{#3}{#4}{z}}}
+ \compvectsub{#1}{x}{#2}\compdvectsub{#3}{x}{#4}+
+ \compvectsub{#1}{y}{#2}\compdvectsub{#3}{y}{#4}+
+ \compvectsub{#1}{z}{#2}\compdvectsub{#3}{z}{#4}}}
\newcommand{\vectsubdoteDvectsub}[4]{\ensuremath{
- \compvectsub{#1}{#2}{x}\compDvectsub{#3}{#4}{x}+
- \compvectsub{#1}{#2}{y}\compDvectsub{#3}{#4}{y}+
- \compvectsub{#1}{#2}{z}\compDvectsub{#3}{#4}{z}}}
+ \compvectsub{#1}{x}{#2}\compDvectsub{#3}{x}{#4}+
+ \compvectsub{#1}{y}{#2}\compDvectsub{#3}{y}{#4}+
+ \compvectsub{#1}{z}{#2}\compDvectsub{#3}{z}{#4}}}
\newcommand{\vectsubdotsdvect}[3]{\ensuremath{
\scompsvectsub{#1}{#2}\bullet\scompsdvect{#3}}}
\newcommand{\vectsubdotsDvect}[3]{\ensuremath{
\scompsvectsub{#1}{#2}\bullet\scompsDvect{#3}}}
\newcommand{\vectsubdotedvect}[3]{\ensuremath{
- \compvectsub{#1}{#2}{x}\compdvect{#3}{x}+
- \compvectsub{#1}{#2}{y}\compdvect{#3}{y}+
- \compvectsub{#1}{#2}{z}\compdvect{#3}{z}}}
+ \compvectsub{#1}{x}{#2}\compdvect{x}{#3}+
+ \compvectsub{#1}{y}{#2}\compdvect{y}{#3}+
+ \compvectsub{#1}{z}{#2}\compdvect{z}{#3}}}
\newcommand{\vectsubdoteDvect}[3]{\ensuremath{
- \compvectsub{#1}{#2}{x}\compDvect{#3}{x}+
- \compvectsub{#1}{#2}{y}\compDvect{#3}{y}+
- \compvectsub{#1}{#2}{z}\compDvect{#3}{z}}}
+ \compvectsub{#1}{x}{#2}\compDvect{x}{#3}+
+ \compvectsub{#1}{y}{#2}\compDvect{y}{#3}+
+ \compvectsub{#1}{z}{#2}\compDvect{z}{#3}}}
\newcommand{\vectsubdotsdpos}[2]{\ensuremath{
\scompsvectsub{#1}{#2}\bullet\scompsdpos}}
\newcommand{\vectsubdotsDpos}[2]{\ensuremath{
\scompsvectsub{#1}{#2}\bullet\scompsDpos}}
\newcommand{\vectsubdotedpos}[2]{\ensuremath{
- \compvectsub{#1}{#2}{x}\compdpos{x}+
- \compvectsub{#1}{#2}{y}\compdpos{y}+
- \compvectsub{#1}{#2}{z}\compdpos{z}}}
+ \compvectsub{#1}{x}{#2}\compdpos{x}+
+ \compvectsub{#1}{y}{#2}\compdpos{y}+
+ \compvectsub{#1}{z}{#2}\compdpos{z}}}
\newcommand{\vectsubdoteDpos}[2]{\ensuremath{
- \compvectsub{#1}{#2}{x}\compDpos{x}+
- \compvectsub{#1}{#2}{y}\compDpos{y}+
- \compvectsub{#1}{#2}{z}\compDpos{z}}}
+ \compvectsub{#1}{x}{#2}\compDpos{x}+
+ \compvectsub{#1}{y}{#2}\compDpos{y}+
+ \compvectsub{#1}{z}{#2}\compDpos{z}}}
\newcommand{\dervectdotsvect}[3]{\ensuremath{
\scompsdervect{#1}{#2}\bullet\scompsvect{#3}}}
\newcommand{\Dervectdotsvect}[3]{\ensuremath{
\scompsDervect{#1}{#2}\bullet\scompsvect{#3}}}
\newcommand{\dervectdotevect}[3]{\ensuremath{
- \compdervect{#1}{#2}{x}\compvect{#3}{x}+
- \compdervect{#1}{#2}{y}\compvect{#3}{y}+
- \compdervect{#1}{#2}{z}\compvect{#3}{z}}}
+ \compdervect{#1}{x}{#2}\compvect{x}{#3}+
+ \compdervect{#1}{y}{#2}\compvect{y}{#3}+
+ \compdervect{#1}{z}{#2}\compvect{z}{#3}}}
\newcommand{\Dervectdotevect}[3]{\ensuremath{
- \compDervect{#1}{#2}{x}\compvect{#3}{x}+
- \compDervect{#1}{#2}{y}\compvect{#3}{y}+
- \compDervect{#1}{#2}{z}\compvect{#3}{z}}}
+ \compDervect{#1}{x}{#2}\compvect{x}{#3}+
+ \compDervect{#1}{y}{#2}\compvect{y}{#3}+
+ \compDervect{#1}{z}{#2}\compvect{z}{#3}}}
\newcommand{\vectdotsdervect}[3]{\ensuremath{
\scompsvect{#1}\bullet\scompsdervect{#2}{#3}}}
\newcommand{\vectdotsDervect}[3]{\ensuremath{
\scompsvect{#1}\bullet\scompsDervect{#2}{#3}}}
\newcommand{\vectdotedervect}[3]{\ensuremath{
- \compvect{#1}{x}\compdervect{#2}{#3}{x}+
- \compvect{#1}{y}\compdervect{#2}{#3}{y}+
- \compvect{#1}{z}\compdervect{#2}{#3}{z}}}
+ \compvect{#1}{x}\compdervect{#2}{x}{#3}+
+ \compvect{#1}{y}\compdervect{#2}{y}{#3}+
+ \compvect{#1}{z}\compdervect{#2}{z}{#3}}}
\newcommand{\vectdoteDervect}[3]{\ensuremath{
- \compvect{#1}{x}\compDervect{#2}{#3}{x}+
- \compvect{#1}{y}\compDervect{#2}{#3}{y}+
- \compvect{#1}{z}\compDervect{#2}{#3}{z}}}
+ \compvect{#1}{x}\compDervect{#2}{x}{#3}+
+ \compvect{#1}{y}\compDervect{#2}{y}{#3}+
+ \compvect{#1}{z}\compDervect{#2}{z}{#3}}}
\newcommand{\dervectdotspos}[2]{\ensuremath{
\scompsdervect{#1}{#2}\bullet\scompspos}}
\newcommand{\Dervectdotspos}[2]{\ensuremath{
\scompsDervect{#1}{#2}\bullet\scompspos}}
\newcommand{\dervectdotepos}[2]{\ensuremath{
- \compdervect{#1}{#2}{x}\comppos{x}+
- \compdervect{#1}{#2}{y}\comppos{y}+
- \compdervect{#1}{#2}{z}\comppos{z}}}
+ \compdervect{#1}{x}{#2}\comppos{x}+
+ \compdervect{#1}{y}{#2}\comppos{y}+
+ \compdervect{#1}{z}{#2}\comppos{z}}}
\newcommand{\Dervectdotepos}[2]{\ensuremath{
- \compDervect{#1}{#2}{x}\comppos{x}+
- \compDervect{#1}{#2}{y}\comppos{y}+
- \compDervect{#1}{#2}{z}\comppos{z}}}
+ \compDervect{#1}{x}{#2}\comppos{x}+
+ \compDervect{#1}{y}{#2}\comppos{y}+
+ \compDervect{#1}{z}{#2}\comppos{z}}}
\newcommand{\dervectdotsdvect}[3]{\ensuremath{
\scompsdervect{#1}{#2}\bullet\scompsdvect{#3}}}
\newcommand{\DervectdotsDvect}[3]{\ensuremath{
\scompsDervect{#1}{#2}\bullet\scompsDvect{#3}}}
\newcommand{\dervectdotedvect}[3]{\ensuremath{
- \compdervect{#1}{#2}{x}\compdvect{#3}{x}+
- \compdervect{#1}{#2}{y}\compdvect{#3}{y}+
- \compdervect{#1}{#2}{z}\compdvect{#3}{z}}}
+ \compdervect{#1}{x}{#2}\compdvect{#3}{x}+
+ \compdervect{#1}{y}{#2}\compdvect{#3}{y}+
+ \compdervect{#1}{z}{#2}\compdvect{#3}{z}}}
\newcommand{\DervectdoteDvect}[3]{\ensuremath{
- \compDervect{#1}{#2}{x}\compDvect{#3}{x}+
- \compDervect{#1}{#2}{y}\compDvect{#3}{y}+
- \compDervect{#1}{#2}{z}\compDvect{#3}{z}}}
+ \compDervect{#1}{x}{#2}\compDvect{#3}{x}+
+ \compDervect{#1}{y}{#2}\compDvect{#3}{y}+
+ \compDervect{#1}{z}{#2}\compDvect{#3}{z}}}
\newcommand{\dervectdotsdpos}[2]{\ensuremath{
\scompsdervect{#1}{#2}\bullet\scompsdpos}}
\newcommand{\DervectdotsDpos}[2]{\ensuremath{
\scompsDervect{#1}{#2}\bullet\scompsDpos}}
\newcommand{\dervectdotedpos}[2]{\ensuremath{
- \compdervect{#1}{#2}{x}\compdpos{x}+
- \compdervect{#1}{#2}{y}\compdpos{y}+
- \compdervect{#1}{#2}{z}\compdpos{z}}}
+ \compdervect{#1}{x}{#2}\compdpos{x}+
+ \compdervect{#1}{y}{#2}\compdpos{y}+
+ \compdervect{#1}{z}{#2}\compdpos{z}}}
\newcommand{\DervectdoteDpos}[2]{\ensuremath{
- \compDervect{#1}{#2}{x}\compDpos{x}+
- \compDervect{#1}{#2}{y}\compDpos{y}+
- \compDervect{#1}{#2}{z}\compDpos{z}}}
+ \compDervect{#1}{x}{#2}\compDpos{x}+
+ \compDervect{#1}{y}{#2}\compDpos{y}+
+ \compDervect{#1}{z}{#2}\compDpos{z}}}
+\newcommand{\vectcrossvect}[2]{\ensuremath{{#1}\times{#2}}}
+\newcommand{\ltriplecross}[3]{\ensuremath{({#1}\times{#2})\times{#3}}}
+\newcommand{\rtriplecross}[3]{\ensuremath{{#1}\times({#2}\times{#3})}}
+\newcommand{\ltriplescalar}[3]{\ensuremath{{#1}\times{#2}\bullet{#3}}}
+\newcommand{\rtriplescalar}[3]{\ensuremath{{#1}\bullet{#2}\times{#3}}}
\newcommand{\ezero}{\ensuremath{\msub{\mathbf{e}}{0}}}
\newcommand{\eone}{\ensuremath{\msub{\mathbf{e}}{1}}}
\newcommand{\etwo}{\ensuremath{\msub{\mathbf{e}}{2}}}
@@ -667,6 +698,10 @@
\newcommand{\uek}[1]{\ensuremath{\msub{\widehat{\mathbf{e}}}{#1}}}
\newcommand{\ue}{\uek}
\newcommand{\ezerozero}{\ek{00}}
+\newcommand{\ezeroone}{\ek{01}}
+\newcommand{\ezerotwo}{\ek{02}}
+\newcommand{\ezerothree}{\ek{03}}
+\newcommand{\ezerofour}{\ek{04}}
\newcommand{\eoneone}{\ek{11}}
\newcommand{\eonetwo}{\ek{12}}
\newcommand{\eonethree}{\ek{13}}
@@ -691,6 +726,10 @@
\newcommand{\euk}[1]{\ensuremath{\msup{\mathbf{e}}{#1}}}
\newcommand{\eu}{\euk}
\newcommand{\euzerozero}{\euk{00}}
+\newcommand{\euzeroone}{\euk{01}}
+\newcommand{\euzerotwo}{\euk{02}}
+\newcommand{\euzerothree}{\euk{03}}
+\newcommand{\euzerofour}{\euk{04}}
\newcommand{\euoneone}{\euk{11}}
\newcommand{\euonetwo}{\euk{12}}
\newcommand{\euonethree}{\euk{13}}
@@ -715,6 +754,10 @@
\newcommand{\gk}[1]{\ensuremath{\msub{\mathbf{\gamma}}{#1}}}
\newcommand{\g}{\gk}
\newcommand{\gzerozero}{\gk{00}}
+\newcommand{\gzeroone}{\gk{01}}
+\newcommand{\gzerotwo}{\gk{02}}
+\newcommand{\gzerothree}{\gk{03}}
+\newcommand{\gzerofour}{\gk{04}}
\newcommand{\goneone}{\gk{11}}
\newcommand{\gonetwo}{\gk{12}}
\newcommand{\gonethree}{\gk{13}}
@@ -739,6 +782,10 @@
\newcommand{\guk}[1]{\ensuremath{\msup{\mathbf{\gamma}}{#1}}}
\newcommand{\gu}{\guk}
\newcommand{\guzerozero}{\guk{00}}
+\newcommand{\guzeroone}{\guk{01}}
+\newcommand{\guzerotwo}{\guk{02}}
+\newcommand{\guzerothree}{\guk{03}}
+\newcommand{\guzerofour}{\guk{04}}
\newcommand{\guoneone}{\guk{11}}
\newcommand{\guonetwo}{\guk{12}}
\newcommand{\guonethree}{\guk{13}}
@@ -755,7 +802,7 @@
\newcommand{\gufourtwo}{\guk{42}}
\newcommand{\gufourthree}{\guk{43}}
\newcommand{\gufourfour}{\guk{44}}
-\ExplSyntaxOn
+\ExplSyntaxOn % Vectors formated as in M\&I, written in LaTeX3
\NewDocumentCommand{\mivector}{ O{,} m o }%
{%
\mi_vector:nn { #1 } { #2 }
@@ -772,7 +819,7 @@
}%
}%
\ExplSyntaxOff
-\ExplSyntaxOn
+\ExplSyntaxOn % Column and row vectors, written in LaTeX3
\seq_new:N \l__vector_arg_seq
\cs_new_protected:Npn \vector_main:nnnn #1 #2 #3 #4
{%
@@ -813,81 +860,119 @@
}%
}%
\newphysicsconstant{oofpez}{\ensuremath{\frac{1}{\phantom{_o}4\pi\ssub{\epsilon}{o}}}}
-{\scin[9]{9}}{\ensuremath{\m\cubed\usk\kg\usk\reciprocalquartic\s\usk\\reciprocalsquared}}
+{\scin[8.9876]{9}}{\m\cubed\usk\kg\usk\reciprocalquartic\s\usk\A\reciprocalsquared}
[\m\per\farad][\newton\usk\m\squared\per\coulomb\squared]
+\newcommand{\coulombconstant}{\oofpez}
\newphysicsconstant{oofpezcs}{\ensuremath{\frac{1}{\phantom{_o}4\pi\ssub{\epsilon}{o}
c^2\phantom{_o}}}}{\scin{-7}}{\m\usk\kg\usk\s\reciprocalsquared\usk\A\reciprocalsquared}
[\T\usk\m\squared][\N\usk\s\squared\per\C\squared]
-\newphysicsconstant{epsz}{\ensuremath{\ssub{\epsilon}{o}}}{\scin[9]{-12}}
+\newcommand{\altcoulombconstant}{\oofpezcs}
+\newphysicsconstant{vacuumpermittivity}{\ensuremath{\ssub{\epsilon}{o}}}{\scin[8.8542]{-12}}
{\m\reciprocalcubed\usk\reciprocal\kg\usk\s\quarted\usk\A\squared}[\F\per\m]
[\C\squared\per\N\usk\m\squared]
\newphysicsconstant{mzofp}{\ensuremath{\frac{\phantom{_oo}\ssub{\mu}{o}\phantom{_o}}
{4\pi}}}{\scin{-7}}{\m\usk\kg\usk\s\reciprocalsquared\usk\A\reciprocalsquared}
-[\henry\per\m]
-[\tesla\usk\m\per\A]
-\newphysicsconstant{muz}{\ensuremath{\ssub{\mu}{o}}}{\scin[4\pi]{-7}}
+[\henry\per\m][\tesla\usk\m\per\A]
+\newcommand{\biotsavartconstant}{\mzofp}
+\newphysicsconstant{vacuumpermeability}{\ensuremath{\ssub{\mu}{o}}}{\scin[4\pi]{-7}}
{\m\usk\kg\usk\s\reciprocalsquared\usk\A\reciprocalsquared}[\henry\per\m]
[\T\usk\m\per\A]
-\newphysicsconstant{kboltz}{\ensuremath{\ssub{k}{B}}}{\scin[1.38]{-23}}
-{\kg\usk\m\squared\usk\reciprocalsquare\s\usk\reciprocal\K}[\joule\per\K][\J\per\K]
-\newcommand{\kboltznev}{\ensuremath{\scin[8.62]{-5}{\eV\per\K}}}
-\newphysicsconstant{stefan}{\ensuremath{\sigma}}{\scin[5.67]{-8}}
+\newphysicsconstant{boltzmann}{\ensuremath{\ssub{k}{B}}}{\scin[1.3806]{-23}}
+{\m\squared\usk\kg\usk\reciprocalsquare\s\usk\reciprocal\K}[\joule\per\K][\J\per\K]
+\newcommand{\boltzmannconstant}{\boltzmann}
+\newphysicsconstant{boltzmanninev}{\ensuremath{\ssub{k}{B}}}{\scin[8.6173]{-5}}
+{\eV\usk\reciprocal\K}[\eV\per\K][\eV\per\K]
+\newphysicsconstant{stefanboltzmann}{\ensuremath{\sigma}}{\scin[5.6704]{-8}}
{\kg\usk\s\reciprocalcubed\usk\K\reciprocalquarted}[\W\per\m\squared\usk\K^4]
[\W\per\m\squared\usk\K\quarted]
-\newphysicsconstant{planck}{\ensuremath{h}}{\scin[6.62]{-34}}
-{\m\squared\usk\kg\usk\reciprocal\s}[\J\usk\s][\kg\usk\m\squared\per\s]
-\newcommand{\plancknev}{\ensuremath{\scin[4.136]{-15}{\eV\usk\s}}}
-\newphysicsconstant{planckbar}{\ensuremath{\hbar}}{\scin[1.05]{-34}}
-{\m\squared\usk\kg\usk\reciprocal\s}[\joule\usk\s][\kg\usk\m\squared\per\s]
-\newcommand{\planckbarnev}{\ensuremath{\scin[4.136]{-15}{\eV\usk\s}}}
-\newphysicsconstant{Navogadro}{\ensuremath{\ssub{N}{A}}}{\scin[6.022]{23}}
+\newcommand{\stefanboltzmannconstant}{\stefanboltzmann}
+\newphysicsconstant{planck}{\ensuremath{h}}{\scin[6.6261]{-34}}
+{\m\squared\usk\kg\usk\reciprocal\s}[\J\usk\s][\J\usk\s]
+\newcommand{\planckconstant}{\planck}
+\newphysicsconstant{planckinev}{\ensuremath{h}}{\scin[4.1357]{-15}}
+{\eV\usk\s}[\eV\usk\s][\eV\usk\s]
+\newphysicsconstant{planckbar}{\ensuremath{\hbar}}{\scin[1.0546]{-34}}
+{\m\squared\usk\kg\usk\reciprocal\s}[\J\usk\s][\J\usk\s]
+\newcommand{\reducedplanckconstant}{\planckbar}
+\newphysicsconstant{planckbarinev}{\ensuremath{\hbar}}{\scin[6.5821]{-16}}
+{\eV\usk\s}[\eV\usk\s][\eV\usk\s]
+\newphysicsconstant{planckc}{\ensuremath{hc}}{\scin[1.9864]{-25}}
+{\m\cubed\usk\kg\usk\reciprocalsquare\s}[\J\usk\m][\J\usk\m]
+\newcommand{\planckconstanttimesc}{\planckc}
+\newphysicsconstant{planckcinev}{\ensuremath{hc}}{\scin[1.9864]{-25}}
+{\eV\usk\ensuremath{\mathrm{n}\m}}[\eV\usk\ensuremath{\mathrm{n}\m}]
+[\eV\usk\ensuremath{\mathrm{n}\m}]
+\newphysicsconstant{rydberg}{\ensuremath{\msub{R}{\infty}}}{\scin[1.0974]{7}}
+{\reciprocal\m}[\reciprocal\m][\reciprocal\m]
+\newcommand{\rydbergconstant}{\rydberg}
+\newphysicsconstant{bohrradius}{\ensuremath{\msub{a}{0}}}{\scin[5.2918]{-11}}{\m}[\m][\m]
+\newphysicsconstant{finestructure}{\ensuremath{\alpha}}{\scin[7.2974]{-3}}{\relax}
+\newcommand{\finestructureconstant}{\finestructure}
+\newphysicsconstant{avogadro}{\ensuremath{\ssub{N}{A}}}{\scin[6.0221]{23}}
{\reciprocal\mol}[\reciprocal\mol][\reciprocal\mol]
-\newphysicsconstant{bigG}{\ensuremath{G}}{\scin[6.67]{-11}}
+\newcommand{\avogadroconstant}{\avogadro}
+\newphysicsconstant{universalgrav}{\ensuremath{G}}{\scin[6.6738]{-11}}
{\m\cubed\usk\reciprocal\kg\usk\s\reciprocalsquared}[\J\usk\m\per\kg\squared]
[\N\usk\m\squared\per\kg\squared]
-\newphysicsconstant{littleg}{\ensuremath{g}}{9.80}{\m\usk\s\reciprocalsquared}
+\newcommand{\universalgravitationalconstant}{\universalgrav}
+\newphysicsconstant{surfacegravfield}{\ensuremath{g}}{9.80}{\m\usk\s\reciprocalsquared}
[\N\per\kg][\m\per\s\squared]
-\newphysicsconstant{clight}{\ensuremath{c}}{\scin[3.00]{8}}{\m\usk\reciprocal\s}
-[\m\usk\reciprocal\s][\m\per\s]
-\newcommand{\clightnfn}{\ensuremath{\unit{1}{\mathrm{ft}\per\mathrm{n}\s}}}
+\newcommand{\earthssurfacegravitationalfield}{\surfacegravfield}
+\newphysicsconstant{clight}{\ensuremath{c}}{\scin[2.9979]{8}}{\m\usk\reciprocal\s}
+[\m\per\s][\m\per\s]
+\newcommand{\photonconstant}{\clight}
+\newphysicsconstant{clightinfeet}{\ensuremath{c}}{0.9836}
+{\ensuremath{\mathrm{ft}\usk\reciprocal\mathrm{n}\s}}
+[\ensuremath{\mathrm{ft}\per\mathrm{n}\s}][\ensuremath{\mathrm{ft}\per\mathrm{n}\s}]
\newphysicsconstant{Ratom}{\ensuremath{\ssub{r}{atom}}}{\scin{-10}}{\m}[\m][\m]
-\newphysicsconstant{Mproton}{\ensuremath{\ssub{m}{proton}}}{\scin[1.673]{-27}}
+\newcommand{\radiusofatom}{\Ratom}
+\newphysicsconstant{Mproton}{\ensuremath{\ssub{m}{proton}}}{\scin[1.6726]{-27}}
{\kg}[\kg][\kg]
-\newphysicsconstant{Mneutron}{\ensuremath{\ssub{m}{neutron}}}{\scin[1.675]{-27}}
+\newcommand{\massofproton}{\Mproton}
+\newphysicsconstant{Mneutron}{\ensuremath{\ssub{m}{neutron}}}{\scin[1.6749]{-27}}
{\kg}[\kg][\kg]
-\newphysicsconstant{Mhydrogen}{\ensuremath{\ssub{m}{hydrogen}}}{\scin[1.673]{-27}}
+\newcommand{\massofneutron}{\Mneutron}
+\newphysicsconstant{Mhydrogen}{\ensuremath{\ssub{m}{hydrogen}}}{\scin[1.6737]{-27}}
{\kg}[\kg][\kg]
-\newphysicsconstant{Melectron}{\ensuremath{\ssub{m}{electron}}}{\scin[9.109]{-31}}
+\newcommand{\massofhydrogen}{\Mhydrogen}
+\newphysicsconstant{Melectron}{\ensuremath{\ssub{m}{electron}}}{\scin[9.1094]{-31}}
{\kg}[\kg][\kg]
-\newphysicsconstant{echarge}{\ensuremath{e}}{\scin[1.602]{-19}}{\A\usk\s}[\C][\C]
+\newcommand{\massofelectron}{\Melectron}
+\newphysicsconstant{echarge}{\ensuremath{e}}{\scin[1.6022]{-19}}{\A\usk\s}[\C][\C]
+\newcommand{\elementarycharge}{\echarge}
\newphysicsconstant{Qelectron}{\ensuremath{\ssub{Q}{electron}}}{-\echargevalue}
{\A\usk\s}[\C][\C]
\newphysicsconstant{qelectron}{\ensuremath{\ssub{q}{electron}}}{-\echargevalue}
{\A\usk\s}[\C][\C]
+\newcommand{\chargeofelectron}{\Qelectron}
\newphysicsconstant{Qproton}{\ensuremath{\ssub{Q}{proton}}}{+\echargevalue}
{\A\usk\s}[\C][\C]
\newphysicsconstant{qproton}{\ensuremath{\ssub{q}{proton}}}{+\echargevalue}
{\A\usk\s}[\C][\C]
-\newphysicsconstant{MEarth}{\ensuremath{\ssub{M}{Earth}}}{\scin[6]{24}}{\kg}[\kg][\kg]
-\newphysicsconstant{MMoon}{\ensuremath{\ssub{M}{Moon}}}{\scin[7]{22}}{\kg}[\kg][\kg]
-\newphysicsconstant{MSun}{\ensuremath{\ssub{M}{Sun}}}{\scin[2]{30}}{\kg}[\kg][\kg]
-\newphysicsconstant{REarth}{\ensuremath{\ssub{R}{Earth}}}{\scin[6.4]{6}}{\m}[\m][\m]
-\newphysicsconstant{RMoon}{\ensuremath{\ssub{R}{Moon}}}{\scin[1.75]{6}}{\m}[\m][\m]
-\newphysicsconstant{RSun}{\ensuremath{\ssub{R}{Sun}}}{\scin[7]{8}}{\m}[\m][\m]
-\newphysicsconstant{ESdist}{\magvectsub{r}{ES}}{\scin[1.5]{11}}{\m}[\m][\m]
-\newphysicsconstant{SEdist}{\magvectsub{r}{SE}}{\scin[1.5]{11}}{\m}[\m][\m]
-\newphysicsconstant{EMdist}{\magvectsub{r}{EM}}{\scin[4]{8}}{\m}[\m][\m]
-\newphysicsconstant{MEdist}{\magvectsub{r}{ME}}{\scin[4]{8}}{\m}[\m][\m]
-\newcommand{\lightyear}{\ensuremath{\mathrm{ly}}}
-\newcommand{\Lightyear}{\ensuremath{\mathrm{LY}}}
-\newcommand{\cyear}{\ensuremath{c\usk\mathrm{year}}}
-\newcommand{\cyr}{\ensuremath{c\usk\mathrm{yr}}}
-\newcommand{\yyear}{\ensuremath{\mathrm{year}}}
-\newcommand{\yr}{\ensuremath{\mathrm{yr}}}
-\newcommand{\parsec}{\ensuremath{\mathrm{pc}}}
-\newphysicsconstant{LSun}{\ensuremath{\ssub{L}{Sun}}}{\scin[4]{26}}
+\newcommand{\chargeofproton}{\Qproton}
+\newphysicsconstant{MEarth}{\ensuremath{\ssub{M}{Earth}}}{\scin[5.9736]{24}}{\kg}[\kg][\kg]
+\newcommand{\massofEarth}{\MEarth}
+\newphysicsconstant{MMoon}{\ensuremath{\ssub{M}{Moon}}}{\scin[7.3459]{22}}{\kg}[\kg][\kg]
+\newcommand{\massofMoon}{\MMoon}
+\newphysicsconstant{MSun}{\ensuremath{\ssub{M}{Sun}}}{\scin[1.9891]{30}}{\kg}[\kg][\kg]
+\newcommand{\massofSun}{\MSun}
+\newphysicsconstant{REarth}{\ensuremath{\ssub{R}{Earth}}}{\scin[6.3675]{6}}{\m}[\m][\m]
+\newcommand{\radiusofEarth}{\REarth}
+\newphysicsconstant{RMoon}{\ensuremath{\ssub{R}{Moon}}}{\scin[1.7375]{6}}{\m}[\m][\m]
+\newcommand{\radiusofMoon}{\RMoon}
+\newphysicsconstant{RSun}{\ensuremath{\ssub{R}{Sun}}}{\scin[6.9634]{8}}{\m}[\m][\m]
+\newcommand{\radiusofSun}{\RSun}
+\newphysicsconstant{ESdist}{\magvectsub{r}{ES}}{\scin[1.4960]{11}}{\m}[\m][\m]
+\newphysicsconstant{SEdist}{\magvectsub{r}{SE}}{\scin[1.4960]{11}}{\m}[\m][\m]
+\newcommand{\EarthSundistance}{\ESdist}
+\newcommand{\SunEarthdistance}{\SEdist}
+\newphysicsconstant{EMdist}{\magvectsub{r}{EM}}{\scin[3.8440]{8}}{\m}[\m][\m]
+\newphysicsconstant{MEdist}{\magvectsub{r}{ME}}{\scin[3.8440]{8}}{\m}[\m][\m]
+\newcommand{\EarthMoondistance}{\ESdist}
+\newcommand{\MoonEarthdistance}{\SEdist}
+\newphysicsconstant{LSun}{\ensuremath{\ssub{L}{Sun}}}{\scin[3.8460]{26}}
{\m\squared\usk\kg\usk\s\reciprocalcubed}[\W][\J\per\s]
-\newphysicsconstant{TSun}{\ensuremath{\ssub{T}{Sun}}}{5800}{\K}[\K][\K]
+\newphysicsconstant{TSun}{\ensuremath{\ssub{T}{Sun}}}{5778}{\K}[\K][\K]
\newphysicsconstant{MagSun}{\ensuremath{\ssub{M}{Sun}}}{+4.83}{}[][]
\newphysicsconstant{magSun}{\ensuremath{\ssub{m}{Sun}}}{-26.74}{}[][]
\newcommand{\Lstar}[1][\(\star\)]{\ensuremath{\ssub{L}{#1}}}
@@ -900,8 +985,6 @@
\newcommand{\Msolar}{\ensuremath{\Mstar[\(\odot\)]}}
\newcommand{\Fstar}[1][\(\star\)]{\ensuremath{\ssub{F}{#1}}}
\newcommand{\fstar}[1][\(\star\)]{\ensuremath{\ssub{f}{#1}}}
-\newcommand{\FSun}{\ensuremath{\Fstar[Sun]}}
-\newcommand{\fSun}{\ensuremath{\fstar[Sun]}}
\newcommand{\Fsolar}{\ensuremath{\Fstar[\(\odot\)]}}
\newcommand{\fsolar}{\ensuremath{\fstar[\(\odot\)]}}
\newcommand{\Magstar}[1][\(\star\)]{\ensuremath{\ssub{M}{#1}}}
@@ -921,17 +1004,36 @@
\newcommand{\oneeighth}{\ensuremath{\frac{1}{8}}\xspace}
\newcommand{\oneninth}{\ensuremath{\frac{1}{9}}\xspace}
\newcommand{\onetenth}{\ensuremath{\frac{1}{10}}\xspace}
+\newcommand{\twooneths}{\ensuremath{\frac{2}{1}}\xspace}
+\newcommand{\twohalves}{\ensuremath{\frac{2}{2}}\xspace}
\newcommand{\twothirds}{\ensuremath{\frac{2}{3}}\xspace}
+\newcommand{\twofourths}{\ensuremath{\frac{2}{4}}\xspace}
\newcommand{\twofifths}{\ensuremath{\frac{2}{5}}\xspace}
+\newcommand{\twosixths}{\ensuremath{\frac{2}{6}}\xspace}
\newcommand{\twosevenths}{\ensuremath{\frac{2}{7}}\xspace}
+\newcommand{\twoeighths}{\ensuremath{\frac{2}{8}}\xspace}
\newcommand{\twoninths}{\ensuremath{\frac{2}{9}}\xspace}
+\newcommand{\twotenths}{\ensuremath{\frac{2}{10}}\xspace}
+\newcommand{\threeoneths}{\ensuremath{\frac{3}{1}}\xspace}
\newcommand{\threehalves}{\ensuremath{\frac{3}{2}}\xspace}
+\newcommand{\threethirds}{\ensuremath{\frac{3}{3}}\xspace}
\newcommand{\threefourths}{\ensuremath{\frac{3}{4}}\xspace}
\newcommand{\threefifths}{\ensuremath{\frac{3}{5}}\xspace}
+\newcommand{\threesixths}{\ensuremath{\frac{3}{6}}\xspace}
\newcommand{\threesevenths}{\ensuremath{\frac{3}{7}}\xspace}
\newcommand{\threeeighths}{\ensuremath{\frac{3}{8}}\xspace}
+\newcommand{\threeninths}{\ensuremath{\frac{3}{9}}\xspace}
\newcommand{\threetenths}{\ensuremath{\frac{3}{10}}\xspace}
+\newcommand{\fouroneths}{\ensuremath{\frac{4}{1}}\xspace}
+\newcommand{\fourhalves}{\ensuremath{\frac{4}{2}}\xspace}
\newcommand{\fourthirds}{\ensuremath{\frac{4}{3}}\xspace}
+\newcommand{\fourfourths}{\ensuremath{\frac{4}{4}}\xspace}
+\newcommand{\fourfifths}{\ensuremath{\frac{4}{5}}\xspace}
+\newcommand{\foursixths}{\ensuremath{\frac{4}{6}}\xspace}
+\newcommand{\foursevenths}{\ensuremath{\frac{4}{7}}\xspace}
+\newcommand{\foureighths}{\ensuremath{\frac{4}{8}}\xspace}
+\newcommand{\fourninths}{\ensuremath{\frac{4}{9}}\xspace}
+\newcommand{\fourtenths}{\ensuremath{\frac{4}{10}}\xspace}
\newcommand{\dx}[1]{\ensuremath{\,\mathrm{d}{#1}}}
\newcommand{\evalfromto}[3]{\ensuremath{\Bigg.{#1}\Bigg\rvert_{#2}^{#3}}}
\@ifpackageloaded{physymb}{%
@@ -1000,7 +1102,7 @@
\newcommand{\binomialseries}{\ensuremath{%
(1 + x)^n \approx 1 + nx + \frac{n(n-1)}{2!}x^2 + \ldots}\xspace}
\@ifpackageloaded{physymb}{%
- \typeout{mandi: Package physymb detected. Its commands will be used.}
+ \typeout{mandi: Package physymb detected. Its commands will be used.}
}{%
\newcommand{\gradient}{\ensuremath{\nabla}}
\newcommand{\divergence}{\ensuremath{\nabla\bullet}}
@@ -1029,8 +1131,6 @@
\DeclareMathOperator{\sgn}{sgn}
}%
\DeclareMathOperator{\dex}{dex}
-\newcommand{\eV}{\electronvolt}
-\newcommand{\ev}{\electronvolt}
\newcommand{\logb}[1][\relax]{\ensuremath{\log_{_{#1}}}}
\ifthenelse{\boolean{@optitalicvectors}}
{\newcommand{\cB}{\ensuremath{c\mskip -5.00mu B}}}
@@ -1050,7 +1150,7 @@
\newcommand{\bquant}[1]{\ensuremath{\left[{#1}\right]}}
\newcommand{\changein}[1]{\ensuremath{\delta{#1}}}
\newcommand{\Changein}[1]{\ensuremath{\Delta{#1}}}
-\newcommandx{\scin}[3][1,3=\!\!,usedefault]{\ensuremath{
+\newcommandx{\scin}[3][1,3=\!\!,usedefault]{\ensuremath{%
\ifthenelse{\equal{#1}{}}
{\unit{\msup{10}{#2}}{#3}}
{\unit{\msup{{#1}\times 10}{#2}}{#3}}}}
@@ -1060,11 +1160,11 @@
\newcommand{\hms}[3]{\ensuremath{{#1}^{\hour}{#2}^{\mathrm{m}}{#3}^{\s}}}
\newcommand{\clockreading}{\hms}
\newcommand{\latitude}[1]{\ensuremath{\unit{#1}{\degree}}}
-\newcommand{\latitudeN}[1]{\ensuremath{\unit{#1}{\degree\; N}}}
-\newcommand{\latitudeS}[1]{\ensuremath{\unit{#1}{\degree\; S}}}
+\newcommand{\latitudeN}[1]{\ensuremath{\unit{#1}{\degree\;\mathrm{N}}}}
+\newcommand{\latitudeS}[1]{\ensuremath{\unit{#1}{\degree\;\mathrm{S}}}}
\newcommand{\longitude}[1]{\ensuremath{\unit{#1}{\degree}}}
-\newcommand{\longitudeE}[1]{\ensuremath{\unit{#1}{\degree\; E}}}
-\newcommand{\longitudeW}[1]{\ensuremath{\unit{#1}{\degree\; W}}}
+\newcommand{\longitudeE}[1]{\ensuremath{\unit{#1}{\degree\;\mathrm{E}}}}
+\newcommand{\longitudeW}[1]{\ensuremath{\unit{#1}{\degree\;\mathrm{W}}}}
\newcommand{\ssub}[2]{\ensuremath{{#1}_{_{_{\mbox{\tiny{#2}}}}}}}
\newcommand{\ssup}[2]{\ensuremath{{#1}^{^{^{\mbox{\tiny{#2}}}}}}}
\newcommand{\ssud}[3]{\ensuremath{{#1}^{^{^{\mbox{\tiny{#2}}}}}_{_{_{\mbox{\tiny{#3}}}}}}}
@@ -1072,6 +1172,7 @@
\newcommand{\msup}[2]{\ensuremath{#1^{^{\scriptstyle{#2}}}}}
\newcommand{\msud}[3]{\ensuremath{#1^{^{\scriptstyle{#2}}}_{_{_{\scriptstyle{#3}}}}}}
\newcommand{\levicivita}[1]{\ensuremath{\msub{\varepsilon}{#1}}}
+\newcommand{\kronecker}[1]{\ensuremath{\msub{\delta}{#1}}}
\newcommand{\xaxis}{\ensuremath{x\mbox{-axis }}}
\newcommand{\yaxis}{\ensuremath{y\mbox{-axis }}}
\newcommand{\zaxis}{\ensuremath{z\mbox{-axis }}}
@@ -1119,36 +1220,37 @@
\newcommand{\platerthan}{\pwordoperator{later}{than}\xspace}
\newcommand{\pforevery}{\pwordoperator{for}{every}\xspace}
\newcommand{\defines}{\ensuremath{\stackrel{\text{\tiny{def}}}{=}}\xspace}
-\newcommand{\inframe}[1][\relax]{\ensuremath{\xrightarrow[\tiny{\mathcal #1}]{}}\xspace}
+\newcommand{\inframe}[1][\relax]{\ensuremath{\xrightarrow[\text\tiny{\mathcal #1}]{}}\xspace}
\newcommand{\associates}{\ensuremath{\xrightarrow{\text{\tiny{assoc}}}}\xspace}
\newcommand{\becomes}{\ensuremath{\xrightarrow{\text{\tiny{becomes}}}}\xspace}
\newcommand{\rrelatedto}[1]{\ensuremath{\xLongrightarrow{\text{\tiny{#1}}}}}
\newcommand{\lrelatedto}[1]{\ensuremath{\xLongleftarrow[\text{\tiny{#1}}]{}}}
-\newcommand{\brelatedto}[2]{\ensuremath{
+\newcommand{\brelatedto}[2]{\ensuremath{%
\xLongleftrightarrow[\text{\tiny{#1}}]{\text{\tiny{#2}}}}}
-\newcommand{\momprinciple}{\ensuremath{
+\newcommand{\momentumprinciple}{\ensuremath{
\vectsub{p}{sys,f}=\vectsub{p}{sys,i}+\Fnetsys\Delta t}}
-\newcommand{\LHSmomprinciple}{\ensuremath{
+\newcommand{\LHSmomentumprinciple}{\ensuremath{%
\vectsub{p}{sys,f}}}
-\newcommand{\RHSmomprinciple}{\ensuremath{
+\newcommand{\RHSmomentumprinciple}{\ensuremath{%
\vectsub{p}{sys,i}+\Fnetsys\Delta t}}
\newcommand{\energyprinciple}{\ensuremath{\ssub{E}{sys,f}=\ssub{E}{sys,i}+
\ssub{W}{ext}+Q}}
\newcommand{\LHSenergyprinciple}{\ensuremath{\ssub{E}{sys,f}}}
\newcommand{\RHSenergyprinciple}{\ensuremath{\ssub{E}{sys,i}+\ssub{W}{ext}+Q}}
-\newcommand{\angularmomprinciple}{\ensuremath{\vectsub{L}{sys,A,f}=\vectsub{L}{sys,A,i}+
+\newcommand{\angularmomentumprinciple}{\ensuremath{\vectsub{L}{sys,A,f}=
+ \vectsub{L}{sys,A,i}+\Tnetsys\Delta t}}
+\newcommand{\LHSangularmomentumprinciple}{\ensuremath{\vectsub{L}{sys,A,f}}}
+\newcommand{\RHSangularmomentumprinciple}{\ensuremath{\vectsub{L}{sys,A,i}+
\Tnetsys\Delta t}}
-\newcommand{\LHSangularmomprinciple}{\ensuremath{\vectsub{L}{sys,A,f}}}
-\newcommand{\RHSangularmomprinciple}{\ensuremath{\vectsub{L}{sys,A,i}+\Tnetsys\Delta t}}
-\newcommand{\gravinteraction}{\ensuremath{
- \bigGmathsymbol\frac{\msub{M}{1}\msub{M}{2}}{\msup{\magvectsub{r}{12}}{2}}
+\newcommand{\gravitationalinteraction}{\ensuremath{%
+ \universalgravmathsymbol\frac{\msub{M}{1}\msub{M}{2}}{\msup{\magvectsub{r}{12}}{2}}
\quant{-\dirvectsub{r}{12}}}}
-\newcommand{\elecinteraction}{\ensuremath{
+\newcommand{\electricinteraction}{\ensuremath{%
\oofpezmathsymbol\frac{\msub{Q}{1}\msub{Q}{2}}{\msup{\magvectsub{r}{12}}{2}}
\dirvectsub{r}{12}}}
-\newcommand{\Bfieldofparticle}{\ensuremath{
+\newcommand{\Bfieldofparticle}{\ensuremath{%
\mzofpmathsymbol\frac{Q\magvect{v}}{\msup{\magvect{r}}{2}}\dirvect{v}\times\dirvect{r}}}
-\newcommand{\Efieldofparticle}{\ensuremath{
+\newcommand{\Efieldofparticle}{\ensuremath{%
\oofpezmathsymbol\frac{Q}{\msup{\magvect{r}}{2}}\dirvect{r}}}
\newcommand{\Esys}{\ssub{E}{sys}}
\newcommandx{\Us}[1][1]{\ssub{\ssub{U}{s}}{#1}}
@@ -1195,10 +1297,10 @@
\newcommand{\Tnetext}{\ensuremath{\vectsub{T}{net,ext}}}
\newcommand{\Tnetsys}{\ensuremath{\vectsub{T}{net,sys}}}
\newcommand{\Tsub}[1]{\ensuremath{\vectsub{T}{#1}}}
-\newcommand{\vpythonline}{\lstinline[language=Python,numbers=left,numberstyle=\tiny,
+\newcommand{\vpythonline}{\lstinline[language=Python,numbers=left,numberstyle=\tiny,%
upquote=true,breaklines]}
\lstnewenvironment{vpythonblock}{\lstvpython}{}
-\newcommand{\vpythonfile}{\lstinputlisting[language=Python,numbers=left,
+\newcommand{\vpythonfile}{\lstinputlisting[language=Python,numbers=left,%
numberstyle=\tiny,upquote=true,breaklines]}
\newcommandx{\emptyanswer}[2][1=0.80,2=0.1,usedefault]
{\begin{minipage}{#1\textwidth}\hfill\vspace{#2\textheight}\end{minipage}}
@@ -1215,7 +1317,7 @@
\response@fbox{\usebox{\@tempboxa}}%
\end{center}%
}%
-\newenvironmentx{adjactivityanswer}[5][1=white,2=black,3=black,4=0.90,5=0.00,
+\newenvironmentx{adjactivityanswer}[5][1=white,2=black,3=black,4=0.90,5=0.00,%
usedefault]{%
\def\skipper{#5}%
\def\response@fbox{\fcolorbox{#2}{#1}}%
@@ -1230,7 +1332,7 @@
\end{center}%
}%
\newcommandx{\emptybox}[6][1=\hfill,2=white,3=black,4=black,5=0.90,6=0.10,usedefault]
- {\begin{center}
+ {\begin{center}%
\fcolorbox{#3}{#2}{%
\begin{minipage}[c][#6\textheight][c]{#5\textwidth}\color{#4}%
{#1}%
@@ -1239,7 +1341,7 @@
\end{center}%
}%
\newcommandx{\adjemptybox}[7][1=\hfill,2=white,3=black,4=black,5=0.90,6=,7=0.0,usedefault]
- {\begin{center}
+ {\begin{center}%
\fcolorbox{#3}{#2}{%
\begin{minipage}[c]{#5\textwidth}\color{#4}%
\vspace{#7\textheight}%
@@ -1250,7 +1352,7 @@
\end{center}%
}%
\newcommandx{\answerbox}[6][1=\hfill,2=white,3=black,4=black,5=0.90,6=0.1,usedefault]
- {\ifthenelse{\equal{#1}{}}
+ {\ifthenelse{\equal{#1}{}}%
{\begin{center}%
\fcolorbox{#3}{#2}{%
\emptyanswer[#5][#6]}%
@@ -1258,8 +1360,8 @@
\end{center}}%
{\emptybox[#1][#2][#3][#4][#5][#6]}%
}%
-\newcommandx{\adjanswerbox}[7][1=\hfill,2=white,3=black,4=black,5=0.90,6=0.1,7=0.0,
- usedefault]
+\newcommandx{\adjanswerbox}[7][1=\hfill,2=white,3=black,4=black,5=0.90,6=0.1,7=0.0,%
+ usedefault]%
{\ifthenelse{\equal{#1}{}}%
{\begin{center}%
\fcolorbox{#3}{#2}{%
@@ -1268,9 +1370,9 @@
\end{center}}%
{\adjemptybox[#1][#2][#3][#4][#5][#6][#7]}%
}%
-\newcommandx{\smallanswerbox}[6][1=\hfill,2=white,3=black,4=black,5=0.90,6=0.10,
- usedefault]
- {\ifthenelse{\equal{#1}{}}
+\newcommandx{\smallanswerbox}[6][1=\hfill,2=white,3=black,4=black,5=0.90,6=0.10,%
+ usedefault]%
+ {\ifthenelse{\equal{#1}{}}%
{\begin{center}%
\fcolorbox{#3}{#2}{%
\emptyanswer[#5][#6]}%
@@ -1278,9 +1380,9 @@
\end{center}}%
{\emptybox[#1][#2][#3][#4][#5][#6]}%
}%
-\newcommandx{\mediumanswerbox}[6][1=\hfill,2=white,3=black,4=black,5=0.90,6=0.20,
+\newcommandx{\mediumanswerbox}[6][1=\hfill,2=white,3=black,4=black,5=0.90,6=0.20,%
usedefault]{%
- \ifthenelse{\equal{#1}{}}
+ \ifthenelse{\equal{#1}{}}%
{\begin{center}%
\fcolorbox{#3}{#2}{%
\emptyanswer[#5][#6]%
@@ -1288,12 +1390,12 @@
\vspace{\baselineskip}%
\end{center}%
}%
- {\emptybox[#1][#2][#3][#4][#5][#6]
+ {\emptybox[#1][#2][#3][#4][#5][#6]%
}%
}%
-\newcommandx{\largeanswerbox}[6][1=\hfill,2=white,3=black,4=black,5=0.90,6=0.25,
+\newcommandx{\largeanswerbox}[6][1=\hfill,2=white,3=black,4=black,5=0.90,6=0.25,%
usedefault]{%
- \ifthenelse{\equal{#1}{}}
+ \ifthenelse{\equal{#1}{}}%
{\begin{center}%
\fcolorbox{#3}{#2}{%
\emptyanswer[#5][#6]%
@@ -1301,12 +1403,12 @@
\vspace{\baselineskip}%
\end{center}%
}%
- {\emptybox[#1][#2][#3][#4][#5][#6]
+ {\emptybox[#1][#2][#3][#4][#5][#6]%
}%
}%
-\newcommandx{\largeranswerbox}[6][1=\hfill,2=white,3=black,4=black,5=0.90,6=0.33,
+\newcommandx{\largeranswerbox}[6][1=\hfill,2=white,3=black,4=black,5=0.90,6=0.33,%
usedefault]{%
- \ifthenelse{\equal{#1}{}}
+ \ifthenelse{\equal{#1}{}}%
{\begin{center}%
\fcolorbox{#3}{#2}{%
\emptyanswer[#5][#6]%
@@ -1314,10 +1416,10 @@
\vspace{\baselineskip}%
\end{center}%
}%
- {\emptybox[#1][#2][#3][#4][#5][#6]
+ {\emptybox[#1][#2][#3][#4][#5][#6]%
}%
}%
-\newcommandx{\hugeanswerbox}[6][1=\hfill,2=white,3=black,4=black,5=0.90,6=0.50,
+\newcommandx{\hugeanswerbox}[6][1=\hfill,2=white,3=black,4=black,5=0.90,6=0.50,%
usedefault]{%
\ifthenelse{\equal{#1}{}}
{\begin{center}%
@@ -1327,12 +1429,12 @@
\vspace{\baselineskip}%
\end{center}%
}%
- {\emptybox[#1][#2][#3][#4][#5][#6]
+ {\emptybox[#1][#2][#3][#4][#5][#6]%
}%
}%
-\newcommandx{\hugeranswerbox}[6][1=\hfill,2=white,3=black,4=black,5=0.90,6=0.75,
+\newcommandx{\hugeranswerbox}[6][1=\hfill,2=white,3=black,4=black,5=0.90,6=0.75,%
usedefault]{%
- \ifthenelse{\equal{#1}{}}
+ \ifthenelse{\equal{#1}{}}%
{\begin{center}%
\fcolorbox{#3}{#2}{%
\emptyanswer[#5][#6]%
@@ -1340,12 +1442,12 @@
\vspace{\baselineskip}%
\end{center}%
}%
- {\emptybox[#1][#2][#3][#4][#5][#6]
+ {\emptybox[#1][#2][#3][#4][#5][#6]%
}%
}%
-\newcommandx{\fullpageanswerbox}[6][1=\hfill,2=white,3=black,4=black,5=0.90,6=1.00,
+\newcommandx{\fullpageanswerbox}[6][1=\hfill,2=white,3=black,4=black,5=0.90,6=1.00,%
usedefault]{%
- \ifthenelse{\equal{#1}{}}
+ \ifthenelse{\equal{#1}{}}%
{\begin{center}%
\fcolorbox{#3}{#2}{%
\emptyanswer[#5][#6]}%
@@ -1391,9 +1493,9 @@
\NewEnviron{miderivation}{%
\begin{mdframed}[style=miderivationstyle]
\setcounter{equation}{0}
- \begin{align}
+ \begin{align*}
\BODY
- \end{align}
+ \end{align*}
\end{mdframed}
}%
\mdfdefinestyle{bwinstructornotestyle}{%
@@ -1434,9 +1536,9 @@
\NewEnviron{bwderivation}{%
\begin{mdframed}[style=bwderivationstyle]
\setcounter{equation}{0}
- \begin{align}
+ \begin{align*}
\BODY
- \end{align}
+ \end{align*}
\end{mdframed}
}%
\newcommand{\checkpoint}{%
@@ -1450,29 +1552,45 @@
\end{center}%
\end{figure}}
\newcommand{\sneakyone}[1]{\ensuremath{\cancelto{1}{\frac{#1}{#1}}}}
-\newcommand{\chkphysicsquantity}[1]{%
- \cs{#1}
+\newcommand{\chkquantity}[1]{%
+ \begin{center}
+ \begin{tabular}{C{3cm} C{3cm} C{3cm} C{3cm}}
+ name & baseunit & drvdunit & tradunit \tabularnewline
+ \cs{#1} & \csname #1onlybaseunit\endcsname & \csname #1onlydrvdunit\endcsname &
+ \csname #1onlytradunit\endcsname
+ \end{tabular}
+ \end{center}
+}%
+\newcommand{\chkconstant}[1]{%
+ \begin{center}
+ \begin{tabular}{C{3cm} C{1cm} C{2cm} C{3cm} C{3cm} C{3cm}}
+ name & symbol & value & baseunit & drvdunit & tradunit \tabularnewline
+ \cs{#1} & \csname #1mathsymbol\endcsname & \csname #1value\endcsname &
+ \csname #1onlybaseunit\endcsname & \csname #1onlydrvdunit\endcsname &
+ \csname #1onlytradunit\endcsname
+ \end{tabular}
+ \end{center}
}%
\newcommandx{\vecto}[2][2,usedefault]{\ensuremath{%
\ifthenelse{\equal{#2}{}}%
- {\vec{\mathrm #1}}%
- {\ssub{\vec{\mathrm #1}}{#2}}}}%
-\newcommandx{\compvecto}[3][2,usedefault]{\ensuremath{%
- \ifthenelse{\equal{#2}{}}%
- {\ssub{\mathrm #1}{\(#3\)}}%
- {\ssub{\mathrm #1}{#2,\(#3\)}}}}%
+ {\vec{#1}}%
+ {\ssub{\vec{#1}}{#2}}}}%
+\newcommandx{\compvecto}[3][3,usedefault]{\ensuremath{%
+ \ifthenelse{\equal{#3}{}}%
+ {\ssub{#1}{\(#2\)}}%
+ {\ssub{#1}{\(#2\),#3}}}}%
\newcommandx{\scompsvecto}[2][2,usedefault]{\ensuremath{%
\ifthenelse{\equal{#2}{}}%
{\lv\compvecto{#1}{x},\compvecto{#1}{y},\compvecto{#1}{z}\rv}%
- {\lv\compvecto{#1}[#2]{x},\compvecto{#1}[#2]{y},\compvecto{#1}[#2]{z}\rv}}}%
-\newcommandx{\compposo}[2][1,usedefault]{\ensuremath{%
+ {\lv\compvecto{#1}{x}[#2],\compvecto{#1}{y}[#2],\compvecto{#1}{z}[#2]\rv}}}%
+\newcommandx{\compposo}[2][2,usedefault]{\ensuremath{%
\ifthenelse{\equal{#1}{}}%
- {#2}%
- {\ssub{#2}{#1}}}}%
+ {#1}%
+ {\ssub{#1}{#2}}}}%
\newcommandx{\scompsposo}[1][1,usedefault]{\ensuremath{%
\ifthenelse{\equal{#1}{}}%
{\lv\compposo{x},\compposo{y},\compposo{z}\rv}%
- {\lv\compposo[#1]{x},\compposo[#1]{y},\compposo[#1]{z}\rv}}}%
+ {\lv\compposo{x}[#1],\compposo{y}[#1],\compposo{z}[#1]\rv}}}%
\endinput
%%
%% End of file `mandi.sty'.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tlpkg/tlpobj/mandi.tlpobj new/tlpkg/tlpobj/mandi.tlpobj
--- old/tlpkg/tlpobj/mandi.tlpobj 2013-04-11 03:44:00.000000000 +0200
+++ new/tlpkg/tlpobj/mandi.tlpobj 2013-06-29 03:22:17.000000000 +0200
@@ -1,6 +1,6 @@
name mandi
category Package
-revision 29837
+revision 30981
shortdesc Macros for introductory physics and astronomy.
relocated 1
longdesc The package contains commands for students and teachers of
@@ -8,9 +8,9 @@
longdesc intelligently handle SI units so the user need not do so. There
longdesc are other features that should make LaTeX easy for introductory
longdesc physics students.
-runfiles size=17
+runfiles size=18
RELOC/tex/latex/mandi/mandi.sty
catalogue-ctan /macros/latex/contrib/mandi
-catalogue-date 2013-04-10 20:30:37 +0200
+catalogue-date 2013-06-16 00:51:21 +0200
catalogue-license lppl1.3
-catalogue-version 2.1.0
+catalogue-version 2.2.0
++++++ marginfix.doc.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/doc/latex/marginfix/README new/doc/latex/marginfix/README
--- old/doc/latex/marginfix/README 2010-09-08 02:24:22.000000000 +0200
+++ new/doc/latex/marginfix/README 2013-09-09 00:07:13.000000000 +0200
@@ -9,7 +9,7 @@
This program is provided under the terms of the LaTeX
Project Public License distributed from CTAN archives at
http://www.ctan.org/macros/latex/base/lppl.txt
- Copyright 2010 Stephen D. Hicks
+ Copyright 2010, 2013 Stephen D. Hicks
INSTALLATION
Run `latex marginfix.ins' and copy the marginfix.sty file into a
Files old/doc/latex/marginfix/marginfix.pdf and new/doc/latex/marginfix/marginfix.pdf differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tlpkg/tlpobj/marginfix.doc.tlpobj new/tlpkg/tlpobj/marginfix.doc.tlpobj
--- old/tlpkg/tlpobj/marginfix.doc.tlpobj 2011-10-19 04:29:17.000000000 +0200
+++ new/tlpkg/tlpobj/marginfix.doc.tlpobj 2013-09-09 03:20:29.000000000 +0200
@@ -1,8 +1,8 @@
name marginfix.doc
category Package
-revision 24320
+revision 31598
shortdesc doc files of marginfix
relocated 1
-docfiles size=59
+docfiles size=66
RELOC/doc/latex/marginfix/README
RELOC/doc/latex/marginfix/marginfix.pdf
++++++ marginfix.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tex/latex/marginfix/marginfix.sty new/tex/latex/marginfix/marginfix.sty
--- old/tex/latex/marginfix/marginfix.sty 2011-10-19 00:32:09.000000000 +0200
+++ new/tex/latex/marginfix/marginfix.sty 2013-09-09 00:07:13.000000000 +0200
@@ -22,29 +22,38 @@
%% in the same archive or directory.)
\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{marginfix}%
- [2010/08/28 v0.9.1 Fix Margin Paragraphs]
+ [2013/09/08 v1.1 Fix Margin Paragraphs]
\makeatletter
-\chardef\@ight=8
-\chardef\f@ur=4
-\chardef\@c=100
\newif\ifmfx@ypos
\DeclareOption{ypos}{\mfx@ypostrue}
\ProcessOptions\relax
\let\mfx@marginlist\@empty
+\let\mfx@injected\@empty
+\newinsert\Mfx@inject@insert
\newbox\Mfx@marginbox
-\newdimen\Mfx@marginboxspace
-\newdimen\Mfx@marginpos
+\newdimen\Mfx@marginpos@min
+\newdimen\Mfx@marginpos@max
+\newdimen\Mfx@marginspace
\newdimen\Mfx@marginheight
+\def\mfx@marginstart{0pt}
+\let\mfx@marginpieces\@empty
+\newbox\Mfx@piece@content
+\newcount\Mfx@piece@count
+\newif\ifmfx@in@phantom
\newdimen\Mfx@mparshift
\newdimen\marginheightadjustment
\newdimen\marginposadjustment
\def\@addmarginpar{%
- \@next\@marbox\@currlist{}\MFX@bug
+ \@next\@marbox\@currlist{}\MFX@AssertionError
\MFX@getypos
- \MFX@cons\mfx@marginlist{% TODO: later this will be a run@marginlist
- \noexpand\mfx@margin@note\@marbox\@currbox{\mfx@ypos}% (^i.e. for phantoms)
- \noexpand\mfx@margin@skip{\the\marginparpush}%
- }%
+ \expandafter\ifx\@marbox\Mfx@inject@insert
+ \mfx@injected\global\let\mfx@injected\@empty
+ \else
+ \MFX@cons\mfx@marginlist{%
+ \noexpand\mfx@build@note\@currbox\@marbox{\mfx@ypos}%
+ \noexpand\mfx@build@skip{\the\marginparpush}%
+ }%
+ \fi
}
\def\MFX@cons#1#2{%
\edef\temp@{#2}%
@@ -59,10 +68,23 @@
\expandafter\expandafter\expandafter#1%
\expandafter\expandafter\expandafter{\expandafter\temp@#1}%
}
+\def\MFX@run@clear#1{%
+ \expandafter\global\expandafter\let\expandafter#1\expandafter\@empty#1%
+}
+\def\MFX@inject#1{
+ \expandafter\def\expandafter\@freelist\expandafter{%
+ \expandafter\@elt\expandafter\Mfx@inject@insert
+ \expandafter\@elt\expandafter\Mfx@inject@insert
+ \@freelist}%
+ \expandafter\def\expandafter\mfx@injected\expandafter{\mfx@injected#1}%
+ \marginpar{}%
+}
\def\MFX@getypos{%
- \edef\mfx@ypos{%
- \the\dimexpr\@pageht - \Mfx@strutheight
- + \marginposadjustment + \Mfx@mparshift\relax}%
+ \dimen@\dimexpr\@pageht+\@pagedp+\marginposadjustment+\Mfx@mparshift\relax
+ \ifnum\outputpenalty=-10002\relax
+ \advance\dimen@-\Mfx@strutheight
+ \fi
+ \edef\mfx@ypos{\the\dimen@}%
\global\Mfx@mparshift\z@
}
\newdimen\Mfx@strutheight
@@ -73,90 +95,133 @@
\expandafter\def\expandafter\@combinefloats\expandafter{\expandafter
\MFX@combinefloats@before\@combinefloats}
\def\MFX@combinefloats@before{%
+ \advance\Mfx@marginheight\marginheightadjustment
\MFX@buildmargin
\MFX@attachmargin
- \Mfx@marginheight\marginheightadjustment
+ \global\Mfx@marginheight\z@
}
\def\MFX@attachmargin{%
- \ifdim\ht\@outputbox<\ht\Mfx@marginbox
- \setbox\@outputbox\vbox to \ht\Mfx@marginbox{%
- \box\@outputbox
- \vfill
- }%
- \else
- \setbox\Mfx@marginbox\vbox to \ht\@outputbox{%
- \unvbox\Mfx@marginbox
- \vfill
- }%
- \fi
- \setbox\@outputbox\vbox to \ht\@outputbox{%
- \hbox to \wd\@outputbox{%
- \if\MFX@leftmargin
- \llap{\box\Mfx@marginbox\hskip\marginparsep}%
- \box\@outputbox
- \else
- \box\@outputbox
- \rlap{\hskip\marginparsep\box\Mfx@marginbox}%
- \fi
- }}%
+ %<debug>\showbox\@outputbox
+ %<debug>\showbox\Mfx@marginbox
+ \setbox\Mfx@marginbox\vtop{%
+ \vskip\z@\unvbox\Mfx@marginbox}%
+ %% \ifdim\ht\@outputbox<\ht\Mfx@marginbox
+ %% \setbox\Mfx@marginbox\vbox to \ht\@outputbox{%
+ %% \unvbox\Mfx@marginbox
+ %% \vskip\z@ shrink 1filll\relax
+ %% }%
+ %% \else
+ %% \setbox\Mfx@marginbox\vbox to \ht\@outputbox{%
+ %% \unvbox\Mfx@marginbox
+ %% \vfill
+ %% }%
+ %% \fi
+ \setbox\@outputbox\vbox{% to \ht\@outputbox{%
+ \begingroup
+ \setbox\@tempboxa\vbox{% to \ht\@outputbox{%
+ \hbox{% to \wd\@outputbox{%
+ \if\MFX@leftmargin
+ \llap{\box\Mfx@marginbox\hskip\marginparsep}%
+ \else
+ \hskip\columnwidth
+ \rlap{\hskip\marginparsep\box\Mfx@marginbox}%
+ \fi
+ }}%
+ \ht\@tempboxa\z@
+ \dp\@tempboxa\z@
+ \box\@tempboxa
+ \endgroup
+ \unskip
+ \unvbox\@outputbox
+ }%
+ %<debug>\showbox\@outputbox
}
\def\MFX@buildmargin{%
\advance\Mfx@marginheight\@colroom
- \MFX@buildmargin@down
- \MFX@buildmargin@up
+ \ifx\mfx@marginstart\relax
+ \else
+ \MFX@cons\mfx@marginpieces{%
+ \noexpand\@elt{\mfx@marginstart}{\the\Mfx@marginheight}}%
+ \gdef\mfx@marginstart{0pt}%
+ \global\advance\Mfx@piece@count\@ne
+ \fi
+ \ifx\mfx@marginpieces\@empty\else
+ \MFX@buildmargin@down
+ \MFX@buildmargin@up
+ \MFX@buildmargin@pieces
+ \fi
}
\def\MFX@buildmargin@down{%
- \let\mfx@margin@note\MFX@margin@note@down
- \let\mfx@margin@skip\@gobble
- \let\mfx@margin@clear\MFX@margin@clear@down
+ \let\mfx@pieceheights\@empty
+ \def\@elt##1##2{%
+ \MFX@cons\mfx@pieceheights{\noexpand\@elt{\the\dimexpr##2-##1}}}%
+ \mfx@marginpieces
+ \MFX@popdimen\Mfx@marginheight\mfx@pieceheights
+ \let\mfx@build@note\MFX@margin@note@down
+ \let\mfx@build@skip\@gobble
+ \let\mfx@build@clear\MFX@build@clear@down
\let\mfx@marginout\@empty
- \expandafter\global\expandafter\let
- \expandafter\mfx@marginlist\expandafter\@empty
- \mfx@marginlist
+ \MFX@run@clear\mfx@marginlist
}
\def\MFX@margin@note@down#1#2#3{%
- \ifdim#3>\Mfx@marginpos
- \dimen@\dimexpr#3-\Mfx@marginpos\relax
- \MFX@snoc\mfx@marginout{\noexpand\mfx@margin@compressible{\the\dimen@}}%
- \advance\Mfx@marginpos\the\dimen@
- \fi
- \MFX@whichbox#1#2%
- \advance\Mfx@marginboxspace\dimexpr\ht\@marbox+\dp\@marbox\relax
- \ifdim\Mfx@marginboxspace>\Mfx@marginheight
- \advance\Mfx@marginboxspace\dimexpr-\ht\@marbox-\dp\@marbox\relax
- \mfx@margin@clear
- \mfx@margin@note#1#2{#3}%
- \else
- \advance\Mfx@marginpos\dimexpr\ht\@marbox+\dp\@marbox\relax
+ \MFX@whichbox\@marbox#1#2%
+ \if\MFX@check@fit{}{\ht\@marbox+\dp\@marbox}%
\MFX@snoc\mfx@marginout{%
- \noexpand\mfx@margin@note\@marbox
\noexpand\@cons\noexpand\@freelist#1%
\noexpand\@cons\noexpand\@freelist#2%
- }%
+ \noexpand\mfx@build@note\@marbox{#3}}%
+ \let\mfx@build@skip\MFX@margin@skip@down
+ \else
+ \mfx@build@clear
+ \mfx@build@note{#1}{#2}{#3}%
\fi
- \let\mfx@margin@skip\MFX@margin@skip@down
}
-\def\MFX@whichbox#1#2{%
- \if\MFX@leftmargin
- \def\@marbox{#1}%
+\def\MFX@margin@skip@down#1{%
+ \if\MFX@check@fit{}{#1}%
+ \MFX@snoc\mfx@marginout{\noexpand\mfx@build@skip{#1}}%
\else
- \def\@marbox{#2}%
+ \mfx@build@clear
\fi
}
-\def\MFX@margin@skip@down#1{%
- \advance\Mfx@marginpos#1\relax
- \advance\Mfx@marginboxspace#1\relax
- \MFX@snoc\mfx@marginout{\noexpand\mfx@margin@skip{#1}}%
-}
-\def\MFX@margin@clear@down{%
- \def\mfx@margin@note##1##2##3{%
- \MFX@cons\mfx@marginlist{\noexpand\mfx@margin@note##1##2{\MFX@minus@inf}}}%
- \def\mfx@margin@skip##1{%
- \MFX@cons\mfx@marginlist{\noexpand\mfx@margin@skip{##1}}}%
- \def\mfx@margin@clear{%
- \MFX@cons\mfx@marginlist{\noexpand\mfx@margin@clear}}%
+\def\MFX@build@clear@down{%
+ \def\mfx@build@note##1##2##3{%
+ \MFX@cons\mfx@marginlist{\noexpand\mfx@build@note##1##2{\MFX@minus@inf}}}%
+ \def\mfx@build@skip##1{%
+ \MFX@cons\mfx@marginlist{\noexpand\mfx@build@skip{##1}}}%
+ \def\mfx@build@clear{%
+ \MFX@cons\mfx@marginlist{\noexpand\mfx@build@clear}}%
+}
+\def\MFX@check@fit#1#2{%
+ 00\fi % close out the \if
+ \@tempswafalse
+ \ifdim\dimexpr#2<\Mfx@marginheight % it fits
+ \advance\Mfx@marginheight-\dimexpr#2\relax % deduct the size
+ \@tempswatrue
+ \else % didn't fit: check the next piece
+ \ifx\mfx@pieceheights\@empty\else % make sure there's anything there
+ #1%
+ \MFX@popdimen\Mfx@marginheight\mfx@pieceheights
+ \if\MFX@check@fit{#1}{#2}\fi
+ \fi
+ \fi
+ \if@tempswa % start a new \if
+}
+\def\MFX@popdimen#1#2{%
+ \def\@elt##1{%
+ #1##1\relax
+ \def\@elt####1{%
+ \MFX@cons#2{\noexpand\@elt{####1}}%
+ }%
+ }%
+ \MFX@run@clear#2%
+}
+\def\MFX@whichbox#1#2#3{%
+ \if\MFX@leftmargin
+ \def#1{#2}%
+ \else
+ \def#1{#3}%
+ \fi
}
-\def\MFX@minus@inf{-4000pt}
\def\MFX@leftmargin{%
00\fi % close out the \if
\@tempcnta\@ne
@@ -170,34 +235,185 @@
\fi
\ifnum\@tempcnta<\z@ % start a new \if
}
+\def\MFX@minus@inf{-4000\p@}
\def\MFX@buildmargin@up{%
- \let\mfx@margin@note\MFX@margin@note@up
- \let\mfx@margin@compressible\MFX@margin@skip@gobble@up
- \let\mfx@margin@skip\MFX@margin@skip@gobble@up
- \mfx@marginout
-}
-\def\MFX@margin@skip@gobble@up#1{%
- \advance\Mfx@marginpos-#1\relax
-}
-\def\MFX@margin@note@up#1{%
- \setbox\Mfx@marginbox\vbox{\box#1\unvbox\Mfx@marginbox}%
- \let\mfx@margin@skip\MFX@margin@skip@up
- \let\mfx@margin@compressible\MFX@margin@compressible@up
+ \let\mfx@pieceheights\@empty
+ \let\mfx@phantomheights\@empty
+ \let\temp@@\relax
+ \def\@elt##1##2{%
+ \MFX@snoc\mfx@pieceheights{\noexpand\@elt{\the\dimexpr##2-##1}}%
+ \ifx\temp@@\relax\else
+ \MFX@snoc\mfx@phantomheights{\noexpand\@elt{\the\dimexpr##1-\temp@@}}%
+ \fi
+ \def\temp@@{##2}%
+ }%
+ \mfx@in@phantomfalse
+ \mfx@marginpieces
+ \MFX@popdimen\Mfx@marginheight\mfx@pieceheights
+ \let\mfx@build@note\MFX@margin@note@up
+ \let\mfx@build@skip\@gobble
+ \MFX@run@clear\mfx@marginout
+}
+\def\MFX@margin@note@up#1#2{%
+ \ifmfx@in@phantom
+ \MFX@popdimen\Mfx@marginheight\mfx@pieceheights
+ \advance\Mfx@piece@count\m@ne
+ \mfx@in@phantomfalse
+ \fi
+ \if\MFX@check@fit{\advance\Mfx@piece@count\m@ne
+ \MFX@popdimen\dimen@\mfx@phantomheights}{\ht#1+\dp#1}%
+ \MFX@snoc\mfx@marginout{%
+ \noexpand\mfx@build@note{#1}{#2}{\the\Mfx@piece@count}}%
+ \let\mfx@build@skip\MFX@margin@skip@up
+ \else\MFX@AssertionError\fi
}
\def\MFX@margin@skip@up#1{%
- \setbox\Mfx@marginbox\vbox{\vskip#1\relax\unvbox\Mfx@marginbox}%
-}
-\def\MFX@margin@compressible@up#1{%
\dimen@#1\relax
- \ifdim\Mfx@marginpos>\Mfx@marginheight
- \advance\dimen@\dimexpr\Mfx@marginheight-\Mfx@marginpos\relax
- \ifdim\dimen@<\z@
- \dimen@\z@
+ \advance\Mfx@marginheight-\dimen@
+ \ifdim\Mfx@marginheight<\z@
+ \advance\dimen@\Mfx@marginheight
+ \MFX@snoc\mfx@marginout{%
+ \noexpand\mfx@build@skip{\the\dimen@}{\the\Mfx@piece@count}}%
+ \dimen@-\Mfx@marginheight
+ \ifmfx@in@phantom
+ \MFX@popdimen\Mfx@marginheight\mfx@pieceheights
+ \advance\Mfx@piece@count\m@ne
+ \mfx@in@phantomfalse
+ \else
+ \MFX@popdimen\Mfx@marginheight\mfx@phantomheights
+ \mfx@in@phantomtrue
\fi
- \advance\Mfx@marginpos\dimexpr\dimen@-#1\relax
+ \mfx@build@skip\dimen@
+ \else
+ \MFX@snoc\mfx@marginout{%
+ \noexpand\mfx@build@skip{\the\dimen@}{\the\Mfx@piece@count}}%
+ \fi
+}
+\def\MFX@buildmargin@pieces{%
+ \Mfx@piece@count\z@
+ \Mfx@marginspace\z@
+ \setbox\Mfx@marginbox\vbox{\vskip\z@}% TODO - do we need this?
+ \let\@elt\MFX@buildmargin@piece
+ \MFX@run@clear\mfx@marginpieces
+ \let\@elt\relax
+ \Mfx@piece@count\z@
+}
+\def\MFX@buildmargin@piece#1#2{%
+ \ifdim\ht\Mfx@marginbox<#1\relax
+ \dimen@\dimexpr#1-\ht\Mfx@marginbox\relax
+ \setbox\Mfx@marginbox\vbox{%
+ \unvbox\Mfx@marginbox
+ \vskip\dimen@
+ }%
+ \advance\Mfx@marginspace\dimen@
+ \fi
+ \Mfx@marginpos@min#1\relax
+ \Mfx@marginpos@max#1\relax
+ \Mfx@marginheight#2\relax
+ \advance\Mfx@piece@count\@ne
+ \MFX@buildpiece@down
+ \MFX@buildpiece@up
+ \setbox\Mfx@marginbox\vbox{%
+ \unvbox\Mfx@marginbox
+ \box\Mfx@piece@content
+ \vskip\z@
+ }%
+}
+\def\MFX@buildpiece@down{%
+ \let\mfx@build@note\MFX@piece@note@down
+ \let\mfx@build@skip\MFX@piece@skip@down
+ \let\mfx@pieceout\@empty
+ \MFX@run@clear\mfx@marginout
+}
+\def\MFX@piece@note@down#1#2#3{%
+ \Mfx@marginspace\z@
+ \@tempswafalse
+ \ifdim#2>\Mfx@marginheight
+ \ifnum#3>\Mfx@piece@count
+ \@tempswatrue
+ \fi
+ \fi
+ \ifdim\dimexpr\ht#1+\dp#1+\Mfx@marginpos@min>\Mfx@marginheight
+ \@tempswatrue
+ \fi
+ \if@tempswa
+ \MFX@piece@clear
+ \mfx@build@note{#1}{#2}{#3}%
+ \else
+ \dimen@#2\relax
+ \ifdim\dimen@=\MFX@minus@inf
+ \ifdim\Mfx@marginpos@max=\z@
+ \dimen@\topskip
+ \advance\dimen@-\ht#1\relax
+ \ifdim\dimen@<\z@ \dimen@\z@ \fi
+ \fi
+ \fi
+ \advance\dimen@-\Mfx@marginpos@max
+ \ifdim\dimen@>\z@
+ \MFX@snoc\mfx@pieceout{\noexpand\mfx@build@compressible{\the\dimen@}}%
+ \advance\Mfx@marginpos@max\dimen@
+ \fi
+ \MFX@snoc\mfx@pieceout{\noexpand\mfx@build@note{#1}}%
+ \advance\Mfx@marginpos@min\dimexpr\ht#1+\dp#1\relax
+ \advance\Mfx@marginpos@max\dimexpr\ht#1+\dp#1\relax
+ \fi
+}
+\def\MFX@piece@skip@down#1#2{%
+ \dimen@#1\relax
+ \ifdim\Mfx@marginspace>\z@
+ \advance\dimen@-\Mfx@marginspace
+ \ifdim\dimen@<\z@ \dimen@\z@ \fi
+ \advance\Mfx@marginspace-\dimen@
\fi
\ifdim\dimen@>\z@
- \MFX@margin@skip@up\dimen@
+ \ifdim\dimexpr#1+\Mfx@marginpos@min>\Mfx@marginheight
+ \MFX@piece@clear
+ \mfx@build@skip{\the\dimen@}{#2}%
+ \else
+ \MFX@snoc\mfx@pieceout{\noexpand\mfx@build@skip{\the\dimen@}{#2}}%
+ \advance\Mfx@marginpos@min\dimen@
+ \advance\Mfx@marginpos@max\dimen@
+ \fi
+ \fi
+}
+\def\MFX@piece@clear{%
+ \def\mfx@build@note##1##2##3{%
+ \MFX@cons\mfx@marginout{\noexpand\mfx@build@note##1{##2}{##3}}}%
+ \def\mfx@build@skip##1##2{%
+ \MFX@cons\mfx@marginout{\noexpand\mfx@build@skip{##1}{##2}}}%
+}
+\def\MFX@buildpiece@up{%
+ \Mfx@marginheight\dimexpr\Mfx@marginpos@max-\Mfx@marginheight\relax
+ \ifdim\Mfx@marginheight<\z@\Mfx@marginheight\z@\fi
+ \let\mfx@build@note\MFX@piece@note@up
+ \let\mfx@build@compressible\MFX@piece@compressible@up
+ \let\mfx@build@skip\MFX@piece@skip@maybedefer
+ \MFX@run@clear\mfx@pieceout\relax
+}
+\def\MFX@piece@skip@maybedefer#1#2{%
+ \ifnum#2>\Mfx@piece@count
+ \MFX@snoc\mfx@marginout{\noexpand\mfx@build@skip{#1}{#2}}%
+ \else
+ \let\mfx@build@skip\MFX@piece@skip@up
+ \mfx@build@skip{#1}{#2}%
+ \fi
+}
+\def\MFX@piece@note@up#1{%
+ \setbox\Mfx@piece@content\vbox{%
+ \box#1%
+ \unvbox\Mfx@piece@content}%
+ \let\mfx@build@skip\MFX@piece@skip@up
+}
+\def\MFX@piece@skip@up#1#2{%
+ \setbox\Mfx@piece@content\vbox{%
+ \vskip#1\relax
+ \unvbox\Mfx@piece@content}%
+}
+\def\MFX@piece@compressible@up#1{%
+ \advance\Mfx@marginheight-#1\relax
+ \ifdim\Mfx@marginheight<\z@
+ \MFX@piece@skip@up{-\Mfx@marginheight}\relax
+ \Mfx@marginheight\z@
\fi
}
\def\dumpmargins{%
@@ -207,6 +423,7 @@
\vbox{}\clearpage
\ifx\temp@\mfx@marginlist
\PackageError{marginfix}{lost some margin notes%
+ \ifx\mfx@marginstart\relax\ (missing \noexpand\unblockmargin)\fi
}\@eha
\let\mfx@marginlist\@empty % be nicer by just dropping one?
% TODO: also, set an emergency mode to allow oversized notes
@@ -215,10 +432,10 @@
}
\AtEndDocument{\dumpmargins}
\def\marginskip#1{%
- \MFX@cons\mfx@marginlist{\noexpand\mfx@margin@skip{#1}}%
+ \MFX@cons\mfx@marginlist{\noexpand\mfx@build@skip{#1}}%
}
\def\clearmargin{%
- \MFX@cons\mfx@marginlist{\noexpand\mfx@margin@clear}%
+ \MFX@cons\mfx@marginlist{\noexpand\mfx@build@clear}%
}
\def\softclearmargin{%
\marginskip{\the\textheight}%
@@ -229,6 +446,56 @@
\def\mparshift#1{%
\advance\Mfx@mparshift#1\relax
}
+\def\blockmargin{%
+ \@ifnextchar[%]
+ \MFX@blockmargin
+ {\MFX@blockmargin[0\p@]}%
+}
+\def\MFX@blockmargin[#1]{%
+ \MFX@inject{%
+ \ifx\mfx@marginstart\relax
+ \PackageError{marginfix}{two \\blockmargin with no \\unblockmargin}\@eha
+ \else
+ \MFX@cons\mfx@marginpieces{\noexpand
+ \@elt{\mfx@marginstart}{\expandafter\dimexpr\mfx@ypos+#1\relax}}%
+ \global\let\mfx@marginstart\relax
+ \global\advance\Mfx@piece@count\@ne
+ \fi
+ }%
+}
+\def\unblockmargin{%
+ \@ifnextchar[%]
+ \MFX@unblockmargin
+ {\MFX@unblockmargin[0\p@]}%
+}
+\def\MFX@unblockmargin[#1]{%
+ \MFX@inject{%
+ \ifx\mfx@marginstart\relax
+ \xdef\mfx@marginstart{\dimexpr\mfx@ypos+#1\relax}%
+ \else
+ \PackageError{marginfix}{\\unblockmargin with no \\blockmargin}\@eha
+ \fi
+ }%
+}
+\def\marginphantom{%
+ \@ifnextchar[%]
+ \MFX@marginphantom
+ {\MFX@marginphantom[0\p@]}%
+}
+\def\MFX@marginphantom[#1]#2{%
+ \ifdim#2<\z@\MFX@marginphantom[#1+#2]{-#2}\else
+ \MFX@inject{%
+ \ifx\mfx@marginstart\relax
+ \PackageError{marginfix}{\\marginphantom while margin blocked}\@eha
+ \else
+ \MFX@cons\mfx@marginpieces{\noexpand
+ \@elt{\mfx@marginstart}{\expandafter\dimexpr\mfx@ypos+#1\relax}}%
+ \xdef\mfx@marginstart{\dimexpr\mfx@ypos+#1+#2\relax}%
+ \global\advance\Mfx@piece@count\@ne
+ \fi
+ }%
+ \fi
+}
\makeatother
\endinput
%%
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tlpkg/tlpobj/marginfix.tlpobj new/tlpkg/tlpobj/marginfix.tlpobj
--- old/tlpkg/tlpobj/marginfix.tlpobj 2011-10-19 04:29:17.000000000 +0200
+++ new/tlpkg/tlpobj/marginfix.tlpobj 2013-09-09 03:20:29.000000000 +0200
@@ -1,6 +1,6 @@
name marginfix
category Package
-revision 24320
+revision 31598
shortdesc Patch \marginpar to avoid overfull margins.
relocated 1
longdesc Authors using LaTeX to typeset books with significant margin
@@ -13,9 +13,9 @@
longdesc with sidebars. This package implements a solution to make
longdesc marginpars "just work" by keeping a list of floating inserts
longdesc and arranging them intelligently in the output routine.
-runfiles size=2
+runfiles size=4
RELOC/tex/latex/marginfix/marginfix.sty
catalogue-ctan /macros/latex/contrib/marginfix
-catalogue-date 2010-09-10 23:39:51 +0200
+catalogue-date 2013-09-08 19:13:28 +0200
catalogue-license lppl
-catalogue-version 0.9.1
+catalogue-version 1.1
++++++ texlive-specs-n-rpmlintrc ++++++
addFilter(".*dangling-symlink.*/fonts/.*")
addFilter(".*dangling-symlink.*/zypper\.py.*")
addFilter(".*description-shorter-than-summary.*")
addFilter(".*devel-file-in-non-devel-package.*/doc/.*")
addFilter(".*files-duplicate.*")
addFilter(".*E:.*files-duplicated-waste.*")
addFilter(".*spelling-error.*")
addFilter(".*zero-length.*")
addFilter(".*E:.*summary-too-long.*")
addFilter(".*incorrect-fsf-address.*")
addFilter(".*hidden-file-or-dir.*/\.tex.*")
addFilter(".*wrong-script-end-of-line-encoding.*")
addFilter(".*script-without-shebang.*/doc/.*")
addFilter(".*wrong-script-interpreter.*/doc/.*")
addFilter(".*non-executable-script.*/doc/.*")