Some TeX Developments Coding in the TeX world Menu About Contact Packages l3build development picks up the pace July 1, 2017 by josephwright The LaTeX team have over the past three years created l3build, a ‘proper’ tool which takes our previous testing and release scripts and converts them into some that can be used more widely of LaTeX developers. I talked about the early work some time ago, and Frank Mittelbach and Will Robertson also wrote about it for TUGBoat. Promoting l3build as a general tool means that new ideas come up, and we’ve been working on that (as well as other things) quite a bit. To keep developments clear, we’ve recently moved the l3build code to a new home on GitHub. This means it’s now separate from the main LaTeX3 repository, but that the history is clearer. This change has meant new ideas have come ‘out of the woodwork’, and have started accumulating in the issue tracker. It looks like an exciting time for l3build: I’m expecting more features to appear and for that to help new developers pick it up as their release technology. Hopefully the result will be more well-designed and tested LaTeX code. Share this: Email Facebook Google Twitter Categories LaTeX3Tags l3buildLeave a comment TeX Live 2017 Pretesting April 18, 2017 by josephwright Eager TeX users will have noticed that a few days ago TeX Live 2016 updates were frozen for ever. We now have the pretest available for TeX Live 2017. As always, using pre-release software is not without risk, but as you can install it in parallel with the older releases there is not a big problem. The LaTeX team will be updating a few things on CTAN to go into the new release, and I’ll probably mention some of that in future posts. A quick look over the changes tells us that there are minor (and perhaps not-so-minor) engine changes to explore: I’m particularly keen to try out the new XeTeX math mode approach, using HarfBuzz. Share this: Email Facebook Google Twitter Categories GeneralTags TeX LiveLeave a comment Hosting upgrade January 29, 2017January 30, 2017 by josephwright As I mentioned a little while ago, I’ve moved the hosting for my blog and added https access as-standard. Doing that, I of course had to take a stab at how big a hosting package to buy. I get a steady set of hits, according to WordPress’s JetPack plugin about 5000/month. So I went for a hosting package that would easily cover that. However, it seems that somewhere there are some more visitors! I got a mail from SiteGround saying that the site’s been using too much CPU time based on what I’ve paid for. Looking over the stats, this is not anything about my setup but is one way or another ‘real’ hits. I can’t be sure if they are real people or spam-like bots, of course, but there’s only one solution: upgrade my hosting account. Hopefully this is all transparent to readers: should mean things continue to work smoothly. Share this: Email Facebook Google Twitter Categories texdev.netTags SiteGroundLeave a comment Checking over the beamer codebase January 8, 2017January 9, 2017 by josephwright Anyone who is watching the beamer GitHub repository will notice quite a lot of checkins, starting from the beginning beamer.cls and working forward. Most of these are ‘internal’ changes, so readers might wonder what is going on. I’ve been involved with beamer for a while, but have not really taken a good look over the code yet. Several of the entries in the issue list are quite subtle, and it’s clear that a proper tidy-up of the code is needed to sort them out. That means addressing several internal inconsistencies, but it’s also helpful for me to get the code into a form I’m used to. So there are a mix of cosmetic changes in with some real improvements in the code. Hopefully I’ll not introduce and new issues doing this work. However, it’s not easy to avoid changing behaviour in LaTeX, especially as beamer is somewhat delicate in the first place. So if anyway is keen to help with the work, simply grabbing the development code from time to time and making sure it doesn’t break existing presentations would be very helpful! Share this: Email Facebook Google Twitter Categories beamer, Packages2 Comments A beamer release January 1, 2017 by josephwright After a bit of a hiatus, I’ve got back into fixing the bugs in beamer, starting with some ‘low hanging’ ones and scheduling a few more. Hopefully there won’t be too many new issues as a result, but if there are then please log them! Share this: Email Facebook Google Twitter Categories beamer, Packages1 Comment Standard font loading in LaTeX2e with XeTeX and LuaTeX December 20, 2016December 20, 2016 by josephwright The LaTeX Project have been making efforts over the past few years to update support in the LaTeX2e kernel for XeTeX and LuaTeX. Supporting these Unicode-enabled engines provide new features (and challenges) compared to the ‘classical’ 8-bit TeX engines (probably pdfTeX for most users). Over recent releases, the team have made the core of LaTeX ‘engine-aware’ and pulled a reasonable amount of basic Unicode data directly into the kernel. The next area we are addressing is font loading, or rather the question of what the out-of-the-box (text) font should be. To date, the LaTeX kernel has loaded Knuth’s Computer Modern font in his original ‘OT1’ encoding for all engines. Whilst there are good reasons to load at least the T1-encoded version rather than the OT1 version, using an 8-bit engine using the OT1 version can be justified: it’s a question of stability, and nothing is actually out-and-out wrong. Things are different with the Unicode engines: some of the basic assumptions change. In particular, there are some characters in the upper-half of the 8-bit range for T1 that are not in the same place in Unicode. That means that hyphenation will be wrong for words using some characters unless you load a Unicode font. At the same time, both LuaTeX and XeTeX have changed a lot over recent years: stability in the pdfTeX sense isn’t there. Finally, almost all ‘real’ documents using Unicode engines will be loading the excellent fontspec package to allow system font access. Under these circumstances, it’s appropriate to look again at the standard font loading. After careful consideration, the team have therefore decided that as of the next (2017) LaTeX2e release, the standard text font loaded when XeTeX and LuaTeX are in use will be Latin Modern as a Unicode-encoded OpenType font. (This is the font chosen by fontspec so for almost all users there will no change in output.) No changes are being made to the macro interfaces for fonts, so users wanting anything other than Latin Modern will continue to be best served by loading fontspec. (Some adjustments are being made to the package to be ready for this.) It’s important to add that no change is being made in math mode: the Unicode maths font situation is not anything like as clear as the text mode case. There are still some details being finalised, but the general approach is clear and should make life easier for end users. Share this: Email Facebook Google Twitter Categories GeneralTags fonts, LaTeX2e, LuaTeX, Unicode, XeTeXLeave a comment TeX on Windows: TeX Live versus MiKTeX revisited December 18, 2016December 18, 2016 by josephwright On Windows, users have two main choices of TeX system to install: TeX Live or MiKTeX. I’ve looked at this before a couple of times: first in 2009 then again in 2011. Over the past few years both systems have developed, so it seems like a good time to revisit this. (I know from my logs that this is one of the most popular topics I’ve covered!) The first thing to say is that for almost all ‘end users’ (with a TeX system on their own PC just for them to use), both options are fine: they’ll probably notice no difference between the two in use. It’s also worth noting that there is a third option: W32TeX. I’ve mentioned this before: it’s popular in the far East and is where the Windows binaries for TeX Live come from. (There’s a close relationship between W32TeX and TeX Live, with W32TeX more ‘focussed’ and expecting more user decisions in installing.) Assuming you are going for one of the ‘big two’, what is there to think about? For most people, it’s simply: Both MiKTeX and TeX Live include a ‘full’ set of TeX-related binaries, including the engines pdfTeX, XeTeX, LuaTeX and support programs such as BibTeX, Biber, MakeIndex and Xindy. The standard installer for MiKTeX installs ‘just the basics’ and uses on-the-fly installation for anything else you need; the standard install for TeX Live is ‘everything’ (about 4.5 Gb!). Which is right for you will depend on how much space you have: you can of course customise the installation of either system to include more or less of the ‘complete’ set up. MiKTeX has a slightly more flexibly approach to licensing than TeX Live does: there are a small number of LaTeX packages that MiKTeX includes that TeX Live does not. (Probably the most odious example is thesis.) TeX Live has a Unix background so the management GUI looks slightly less ‘standard’ than the MiKTeX one. TeX Live has a strict once-a-year freeze,which means that to update you have to do a fresh install once a year. On the other hand, MiKTeX versions change only when there is a significant change and otherwise ‘roll onward’. So the decision is likely to come down to whether you want auto-installation of packages. (If you do go for MiKTeX on a one-user PC, choose the ‘Just for me’ installation option: it makes life a lot simpler!) For more advanced users there are a few more factors you probably want to consider TeX Live was originally developed on Unix and so is available for Linux and on the Mac (and other systems) as well as Windows; MiKTeX is a Windows system so is (more-or-less) Windows-only. So if you want exactly the same set up on Windows and other operating systems, this of course means you need to use TeX Live. Both systems have graphical management tools as well as command line interfaces. They have a lot in common, but they are not identical (in particular, MiKTeX tends to emulate TeX Live command line interfaces, but the reverse is not true). The engine binaries in TeX Live are (almost) never updated other than in the yearly freeze period, meaning that for a given release you know which version of pdfTeX, etc., you’ll have: MiKTeX is more flexible with such updates. (At different times, one or other of the systems can be more ‘up to date’: this is not necessarily predictable! The W32TeX system often has very up-to-date testing binaries.) The two systems differ slightly in handling how local trees are managed (places to add TeX files that are not controlled by the TeX system itself). TeX Live automatically expects <installation root>/texmf-local to hold system-wide ‘local’ additions and <user root>/texmf to hold per-user additions, whereas MiKTeX has no out-of-the box locations, but does make it easier to add and remove them from the command line. MiKTeX also makes it easy to add multiple per-user trees, whereas for TeX Live there’s more of an assumption that all user additions will be added in one place. (This makes it easier in MiKTeX to add/remove local additions by altering a setting in the TeX system rather than deleting files.) TeX Live has a team doing the work; MiKTeX is a one-man project. This cuts both ways: you know exactly who is doing everything in MiKTeX (Christian Schenk), and he’s very fast, but there is more ‘spread’ in TeX Live for the work. For people wanting to step quickly between different versions of TeX system, the fact that TeX Live freezes once a year makes life convenient (I have TeX Live 2009,2010, 2011, 2012, 2013, 2014, 2015 and 2016 installed at present, plus MiKTeX 2.9 of course!) You can switch installations by adjusting the PATH or by choosing the appropriate version from your editor, so have a ‘fall back’ if there is an issue when you update. TeX Live has build-in package backup during maintenance updates. Share this: Email Facebook Google Twitter Categories GeneralTags MiKTeX, TeX Live, WindowsLeave a comment Blog spring-cleaning December 17, 2016December 17, 2016 by josephwright As I’ve just moved where the blog is hosted it seemed like a good opportunity to do a bit of tidying up. Regular readers will notice that the categories have been updated, hopefully making it easier to find things. Suggestions on any new arrangements are welcome. I’ve also fixed a few missing files in older posts (the odd re-install means that not 100% of the older content is right!). I’ve also revised the static pages (About, Packages and Contact) to make sure they are up to date: the package list and my PGP key are now right! At the ‘back end’, I’ve adjusted a few WordPress plugins and generally made sure everything is as organised as it should be. I’ve also tweaked a few parts of the layout, including adding the very-commong ‘quite share’ buttons. So hopefully the blog is tuned up for the future! Share this: Email Facebook Google Twitter Categories texdev.netLeave a comment texdev.net is now set up for https December 16, 2016December 17, 2016 by josephwright A rare foray outside of the strictly TeX-related: as it’s about the blog itself I think its OK! As you might notice on visiting the site, I’ve enabled https for the site. Why have I done that? Well, if you read the WordPress News it’s clear that they are pushing toward more use of secure access. (As you might guess, the back-end for the blog is WordPress.) There are wider moves toward ‘https everywhere’, so it seemed like as good a time as any to do the work. For readers, there should be no change at all in the site. For those interested in the detail, I’ve moved the hosting to SiteGround as they offer Let’s Encrypt: a free SSL certificate system suitable for small-scale sites like this one. (If anyone is feeling particularly generous, I’ve got a referral URL which will give me some free service in return for pointing to my new host!) The process was largely trouble-free: I’ve taken the opportunity to re-build the site from scratch (just using the dumps of the content) and to remove some older ‘back-end’ rubbish (old plugins and the like). Again, for readers this should be transparent! Share this: Email Facebook Google Twitter Categories texdev.netTags https2 Comments Dependencies November 30, 2016 by josephwright There’s been some recent discussion on the TeX Live mailing list about recording dependencies for (La)TeX packages. This is a good idea but means that package authors need to think about their dependency situation. So I thought a few words on this would be helpful, at least from the point of view of the most common case: LaTeX packages. It’s pretty easy to accumulate \RequirePackage lines in your source, but if you are serious about giving a useful set of dependencies you need to know what each one is for. In many ways the rule is easy: require each package you use. What makes that more complicated is that you might use features which are available when you load package X but are actually provided by package Y. For example, if you load my siunitx package, it loads array so means that you can do for example \begin{tabular}{>{$}l<{$}} So how do you tell what your ‘real’ dependencies are? The usual rule is that you check the documentation: does it say that package X itself provides the features you use? In the case above, siunitx doesn’t document that syntax extension for tabular: it’s documented by array. So if you wrote a package that uses siunitx but also needs to use features from array you should \RequirePackage{array} \RequirePackage{siunitx} This means that even if at some future stage there’s a change in the internals of a package you load, things should still all work. If you want to track down where stuff might be coming from, you can always \listfiles to get a full overview of your current package use (starting from a small example). There are a few places were packages are so closely linked you might not have to list them both. The most obvious is TikZ/pgf: the two are different ‘layers’ of the same set up but are documented together, so if you load TikZ you can assume pgf. Of course, there is no harm in listing both! Share this: Email Facebook Google Twitter Categories GeneralTags CTAN, packaging2 Comments Post navigation Older posts 1 2 … 37 Next → Search for: Recent Posts l3build development picks up the pace TeX Live 2017 Pretesting Hosting upgrade Checking over the beamer codebase A beamer release Recent Comments l3build development picks up the pace – Some TeX Developments on Lua for LaTeX3 build scripts Hosting upgrade – Some TeX Developments on texdev.net is now set up for https josephwright on A model dtx file Igor A. Kotelnikov on A model dtx file benjamin on The beamer slide overlay concept Archives July 2017 April 2017 January 2017 December 2016 November 2016 October 2016 September 2016 May 2016 March 2016 February 2016 July 2015 April 2015 March 2015 January 2015 December 2014 November 2014 October 2014 September 2014 July 2014 May 2014 March 2014 February 2014 January 2014 October 2013 September 2013 June 2013 May 2013 April 2013 March 2013 February 2013 January 2013 December 2012 November 2012 October 2012 September 2012 August 2012 July 2012 June 2012 May 2012 April 2012 March 2012 February 2012 January 2012 December 2011 November 2011 October 2011 September 2011 August 2011 July 2011 June 2011 May 2011 April 2011 March 2011 February 2011 January 2011 December 2010 November 2010 October 2010 September 2010 August 2010 July 2010 June 2010 May 2010 April 2010 March 2010 February 2010 January 2010 December 2009 November 2009 October 2009 September 2009 August 2009 July 2009 June 2009 May 2009 April 2009 March 2009 February 2009 January 2009 December 2008 Categories achemso beamer biblatex General LaTeX3 Meetings Packages siunitx texdev.net TeXworks Meta Log in Entries RSS Comments RSS WordPress.org © 2017 • GeneratePress