TeXblog

 Typography with TeX and LaTeX

Can you use TeX for any kind of document, or is it overkill for simple ones

Januar 24th, 2012 by Stefan Kottwitz

Untypical for a Q&A site, there’s currently an exchange of views on TeX.SX:

As an expert, can you always use TeX for (nearly) any kind of document?
 

“Yes, you can:”

  • It’s easy if you are a routine user, you know the common packages.
  • Typing a letter, for example, is just like 20 TeX commands added to the text.
  • You get the best possible hyphenation and justification, and a professional consistent look - why to abandon it for a “simple” document.
  • After some time you’ve got a lot of documents to use as a template or as a start for a similar document.
  • Your, let’s say, 16 years old document still work today. Try documents made with a word processor 16 years ago - can you open it today with current software, without layout loss or change?
  • TeX users naturally have TeX installed. Some have a dislike for installing a huge wordprocessing software or suite such as Open/LibreOffice or MS Office - this is overkill for simple documents.

“No, you cannot:”

  • For typesetting music, TeX may not be the best choice. Though there’s MusiXTeX, Lilipond seems to be favored.
  • TeX should not be used for documents intended for quick onscreen use, such as manual pages which should be readable in a text console window. mandoc and Groff are recommended.

There are 16 answers until know. Perhaps you have a new important point to add? See the original answers with further points.

Category: TeX and LaTeX, TeX.SX, LaTeX General | No Comments »

LaTeX Workflow

Januar 18th, 2012 by Stefan Kottwitz

Agodemar posted a very nice diagram of the LaTeX workflow on TeX.SX:

LaTeX Workflow - compiler and application levels

A bigger version of the image and a link the full source code is shown in the topic Diagram / Infographic of TeX & friends.

Category: TeX.SX, pgf/TikZ, LaTeX General | No Comments »

Strategies for preambles

Januar 13th, 2012 by Stefan Kottwitz

Yesterday Seamus Bradley started a topic on TeX.SX:

    Best practice on organising your preamble

For large and highly customized documents, preambles can be lengthy. Should all packages be loaded before macros are defined? Or should packages and related definitions be close together? What about externalizing settings, and handling package dependencies?

Until now, there are two answers.

Yiannis Lazarides’ recommendations:

  • Consider developing your own class or package to hold your changes.
  • Have the packages and own related commands, near each other.
  • Divide the preamble into topics, such as typography, graphics, maths, sectioning etc.
  • Have the problematic package settings in their own packages or files.

Mico Loretan’s recommendations:

  • Put the entire preamble content into a .sty file. Besides separating the settings from the document content, it has the benefit that you don’t need to use \makeatletter and \makeatother there.
  • Check each loaded package if it’s really needed.
  • Check your definitions, if there’s a package which could replace them, simpler and perhaps better.
  • Use comments and whitespace liberally, to keep your preamble readable.
  • A complex preamble could have an overview, a guide like a small table of contents.
  • Divide the preamble into topics or tasks.
  • Packages, which are loaded without any options, could be loaded by a single \usepackage command, however it would be good to put each package on its own line then.

Justin Bailey’s advice:

  • For preambles that load a lot of packages or large packages, such as TikZ, you could create a format file, speeding up compilation.

Justin added a How-To for creating format files for TeX in six steps.

For reasons and explanation, have a look at the original topic.

Category: TeX.SX, LaTeX General | No Comments »

TeXmaker 3.2.2 released

Januar 12th, 2012 by Stefan Kottwitz

TeXmaker version 3.2.2 has been released today. New features, from the ChangeLog file, to 3.2.1:

  • Block selection mode has been added (alt+mouse).
  • The shortcuts of the “Tool” and “Edit” menus can now be modified.
  • While using the “New by copying an existing file” command, the directory of the file is now stored.
  • The list of asymptote and tikz tags has been completed.
  • Users can now hide the pstricks/metapost/tikz/asymptote icons in the structure panels by clicking on the tool bar.
  • Users can now hide some commands in the left tool bar of the editor.
  • The “underline” tag is replaced by the “emphasis” tag in the left toolbar of the editor.
  • If errors are detected, the log file is now displayed even if the “quick build” command is not used.
  • After setting a document as “master”, the structure and the bibliography are rescanned.

3.2.1 to 3.2:

  • Faster syntax highlighting and structure checking
  • An additional parameter (#) for the current file name is available for the commands (required for pdf synchronization with the sumatra pdf viewer).
  • The log panel can now be closed directly with the escape key.

Several bugs have been fixed. The complete ChangeLog can be found here. Click here for downloading versions for Linux, Mac OS X or Windows or source files.

Category: News, IDEs and Editors | No Comments »

Happy New Year!

Januar 1st, 2012 by Stefan Kottwitz

Happy New Year, and the best wishes!

Fireworks

The image shows fireworks displayed with TikZ by percusse on TeX.SX. Follow the link to see further fireworks effects.

The code is:

\documentclass{article}
\usepackage{tikz}
\usepackage[active,tightpage]{preview}
\PreviewEnvironment{tikzpicture}
\setlength\PreviewBorder{0pt}%
\usetikzlibrary{calc,decorations.pathmorphing}
%
\pgfdeclareradialshading{someshade}{\pgfpointorigin}{%
  color(0mm)=(pgftransparent!40);color(5mm)=(pgftransparent!50);%
  color(10mm)=(pgftransparent!70);color(2cm)=(pgftransparent!100)}
\pgfdeclareradialshading{somenodeshade}{\pgfpointorigin}{%
  color(0mm)=(pgftransparent!0);color(2mm)=(pgftransparent!5);%
  color(5mm)=(pgftransparent!95);color(20mm)=(pgftransparent!100)}
\pgfdeclareradialshading{invertshade}{\pgfpointorigin}{%
  color(0mm)=(pgftransparent!100);color(6mm)=(pgftransparent!95);%
  color(10mm)=(pgftransparent!60);color(2cm)=(pgftransparent!0)}
\pgfdeclarefading{fadeit}{\pgfuseshading{someshade}}
\pgfdeclarefading{fadein}{\pgfuseshading{invertshade}}
%
\begin{document}
\begin{tikzpicture}[projectile/.style={decorate,decoration={random steps,
  segment length=3pt,amplitude=0.5pt}}]
  \fill[black] (-4,-4) rectangle (6,5);
 
  \begin{scope}[xshift=0cm,yshift=-0.4cm,transparency group]
    \pgfsetfading{fadein}{\pgftransformshift{\pgfpointorigin}}
    \foreach \x in {0,6,..., 360}{\draw[blue!80!white,projectile,line width=1.1pt]
      (0,0) to [in=90] (10*rand+\x:rand*1mm+2cm);};
  \end{scope}
 
  \begin{scope}[xshift=2cm,yshift=1cm]
    \foreach \x in {0,8,..., 360}{\draw [yellow!5,thick,projectile] (0.7,0)
      to  (3*rand+\x :1mm*rand+2.2cm)  node[circle,inner sep=1mm,
      shade,shading=somenodeshade,opacity=0.1] {};}
    {\pgfsetfading{fadeit}{\pgftransformshift{\pgfpoint{2.5cm}{1cm}}}};
    \fill[white] (-3,-3) rectangle (3,3);
  \end{scope}
 
  \begin{scope}[xshift=3cm,yshift=-1cm]
    \foreach \x in {0,10,..., 360}{\def\r1{rand}\draw [yellow]
      ($(0,0)!abs{\r1}!(\x :5mm)$) to [in=90] ($(0,0)!abs{\r1}+0.2!(\x :8mm)$);}
    {\pgfsetfading{fadeit}{\pgftransformshift{\pgfpoint{3cm}{-1cm}}}};
    \fill[yellow,opacity=0.6] (-3,-3) rectangle (3,3);
  \end{scope}
 
  \begin{scope}[xshift=-1cm,yshift=1.5cm]
    \foreach \x in {0,12,..., 360}{\def\r2{rand}\draw [red,line width=0.5pt]
      ($(0,0)!abs{\r2}!(\x :3mm)$) -- ($(0,0)!abs{\r2}+0.1!(\x :7mm)$);}
    {\pgfsetfading{fadeit}{\pgftransformshift{\pgfpoint{-1cm}{1.5cm}}}};
    \fill[red,opacity=0.6] (-3,-3) rectangle (3,3);
  \end{scope}
\end{tikzpicture}
\end{document}

The image has been taken from the TeXworks PDF previewer, not all PDF viewers are capable of showing it in this quality. The example has been added to the TikZ example gallery.

Category: TeX.SX, pgf/TikZ | 1 Comment »

Merry Christmas!

Dezember 24th, 2011 by Stefan Kottwitz

Christmas tree

This Christmas tree has been created by Mikko Heiskanen with this code:

\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{scopes,svg.path,shapes.geometric,shadows}
\begin{document}
\begin{tikzpicture}[
  mystar/.style={star, minimum size=2cm, star point ratio=2.5, shade, thick,
    line join=round, color=yellow!80!black, draw=red!20!black,
    top color=yellow!80!white, bottom color=yellow!60!black},
  mytree/.style={scale=0.5, rotate=180, draw=green!60!black, thick,
    line join=round, inner color=green!60!yellow, outer color=green!50!black},
  myball/.style={shade, ball color=#1, circular drop shadow={
    shadow xshift=0pt, shadow yshift=-.5ex, fill=green!40!black}}
  ]
  {[mytree]
  \shadedraw svg "M355,430
    q90,10 105,-85 30,0 50,-30 20,30 50,30 50,-20 100,0 10,88 105,85
    -45,90 -205,25 Q400,520 355,430";
  \shadedraw svg "M380,325
    q83,10 105,-80 25,0 35,-30 20,25 40,30 20,-10 35,-25 20,20 40,25
    25,90 105,82 -15,50 -120,15 -30,-2 -60,12 -30,0 -52,-28
    C490,370 380,360 380,325";
  \shadedraw svg "M435,225
    q65,-8 90,-70 35,40 70,0 25,60 90,70 -30,52 -90,5 -36,48 -73,-3
    C520,254 445,265 435,225";
  \shadedraw svg "M470,139
    q50,5 90,-80 50,90 90,80 -30,30 -50,20 -40,45 -78,0
    Q500,170 470,139";
  }
  %\shadedraw svg[scale=0.5,rotate=180]
  %"M460,532 q50,-8 q77,-45 v-20 a20,13 0 1 1 48,0 v20 q30,40 77,45";
  %pgf/tikz doesn't like the arc operation, as stated in manual
 
  \node[mystar] at (-9.85,-1) {$\lambda$};
 
  \shade[myball=blue]   (-9.7,-2.2)   circle (.2cm);
  \shade[myball=red]    (-9.2,-3.8)   circle (.2cm);
  \shade[myball=green]  (-10.3,-4)    circle (.4cm);
  \shade[myball=yellow] (-8.95,-5.4)  circle (.4cm);
  \shade[myball=red]    (-10.7,-6.1)  circle (.4cm);
  \shade[myball=blue]   (-10.8,-5)    circle (.2cm);
  \shade[myball=yellow] (-9.5,-6.7)   circle (.2cm);
  \shade[myball=green]  (-8.3,-7.6)   circle (.4cm);
  \shade[myball=yellow] (-11.7,-7.6)  circle (.4cm);
  \shade[myball=blue]   (-10.5,-7.8)  circle (.2cm);
\end{tikzpicture}
\end{document}

Further trees based using TikZ and pgfplots, using decorations and L-System fractals are here: Christmas trees with TikZ.

Category: TeX.SX, Events, pgf/TikZ | No Comments »

TeXmaker 3.2 released

Dezember 22nd, 2011 by Stefan Kottwitz

The version 3.2 of the free cross-platform LaTeX editor TeXmaker has been released today, read on LaTeX-community.org. New features, cited from the ChangeLog file:

  • block selection mode has been added (alt+mouse)
  • a “search in folders” dialog has been added
  • the settings file can now be saved, deleted or loaded
  • all the colors for the syntax highlighting can now be changed (a preconfigured dark theme is available)
  • graphics environments and .asy files have their own syntax highlighting mode
  • a selected piece of text can now be surrounded by french/german quotes (these quotes has been added to the “LaTeX” menu and to the completion)
  • a panel can be added in the structure view to show the list of opened files (”View” menu)
  • the Texdoc tool can be launched directly via the Help menu (users can select the name of the environment before calling Texdoc)
  • the list of label and bibliography items can now be used to customize the completion
  • the “recent files” list can now be cleaned
  • the shortcuts of some commands can now be changed (”switching between the editor and the pdf viewer”, “french/german quotes”, “next/previous document”,…)
  • *.asy files can now be opened directly without using the “all files” filter
  • *.jpeg has been added to the list of the “includegraphics wizard”
  • .thm and .pre files are now deleted while using the “clean” command
  • windows and mac versions are now compiled with Qt 4.8 and poppler 0.18.2
  • a version compiled on macosx lion is now available
  • the version number is now added to the info.plist file (macosx)

Further several bugs have been fixed. The complete ChangeLog can be found here. Click here for downloading versions for Linux, Mac OS X or Windows or source files.

Category: News, IDEs and Editors | No Comments »

@TeXgallery on Twitter

Dezember 22nd, 2011 by Stefan Kottwitz

Koch snowflake, TeXgallery Twitter icon
TeXample.net is now on Twitter. TeXample.net is a web site dedicated to TeX and related software, currently it’s focussed on collecting and showing TikZ examples.

Follow @TeXgallery to read about new contributions and site features.

Four TikZ examples have been added this week, more are planned, as well as new site features. Twitter will inform about smaller updates, blog posts about bigger changes.

The @TeXgallery Twitter logo is a Koch snowflake, which can be produced using TikZ:

\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{lindenmayersystems}
\usetikzlibrary[shadings]
\begin{document}
\begin{tikzpicture}
\shadedraw[shading=color wheel] 
  [l-system={rule set={F -> F-F++F-F}, step=2pt, angle=60,
   axiom=F++F++F, order=4}] lindenmayer system -- cycle;
\end{tikzpicture}
\end{document}

This is also one of the recently added examples.

Category: News, pgf/TikZ, Online Ressources | No Comments »

LyX 2.0.2 released

Dezember 1st, 2011 by Stefan Kottwitz

The maintenance release 2.0.2 of LyX has been published. New and updated features are:

  • Support for CTEX document classes
  • Revised support for the latest versions of the Springer document classes svjour3, svmono and svmult
  • R code from a Sweave-enabled document can now be exported
  • Document color settings are now respected by XHTML export
  • tex2lyx has been improved and now supports conversion of horizontal lines, phantom spaces, hyperlinks, underlined and striked out text, rotated and wrapped floats, subfloats, frameless boxes and the font packages beraserif, ccfonts, chancery, fourier, and utopia
  • Cursor movement is faster now when inline completion has been enabled in math
  • Improved archive feature , now also external files referenced in ERT in the document body, such as by \input or \insertgraphics, are included

This release fixes many bugs, that’s why it’s recommended to update to this version.

For further information and download visit:


This text is available in German. Dieser Text ist auch in Deutsch verfügbar.

Category: News, IDEs and Editors | No Comments »

Decorate a TikZ path

November 5th, 2011 by Stefan Kottwitz

Redfiloux asked on TeX.SX:

 
How to decorate a \path?
 

My question is about drawing a “commutative-type diagram” in mathematics. I would like to integrate an arrow of the type \rightsquigarrow, which is described how to be obtained here: Squiggly arrows in TikZ.

The problem is that I use \path to connect the entries of my matrix in TikZ (because this part comes integrated in a bigger diagram), and I get an error:

“Package PGF Error: I cannot decorate an empty path.”

The code is

\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{decorations.pathmorphing}
\usepackage{amssymb}
\begin{document}
\begin{tikzpicture}
\matrix (m) [matrix of math nodes, row sep=3em,
  column sep=4em, text height=2ex, text depth=0.25ex]
{ U & U \\};
\path [->, font=\scriptsize, line join=round,
  decoration={zigzag,segment length=4,
  amplitude=.9,post=lineto,post length=2pt},
  decorate] (m-1-1) edge node[auto] {F} (m-1-2);
\end{tikzpicture}
\end{document}

where the decorate part does not work.

Answer:

You could specify the decoration to the path, and give the edge the decorate option:

\path [->, decoration={zigzag,segment length=4,amplitude=.9,
  post=lineto,post length=2pt},font=\scriptsize,
  line join=round] (m-1-1) edge[decorate]
  node[auto] {F} (m-1-2);
path with decoration

Category: TikZ | No Comments »