{package-writing} is about writing packages. If your question is about choosing, installing, or using packages, choose {package} instead.

learn more… | top users | synonyms

2
votes
1answer
34 views

Fixing a LaTeX thesis style issues with formatting section headings

I am fairly new to LaTeX, but I decided to take it upon myself to use the .sty file the computer science department at my school had for the university's thesis style. As it turns out, there are a ...
16
votes
2answers
102 views

What is the simplest way to extract a URL from a .bib entry for use in \href{}{} (probably using Biblatex)?

I am trying to define a new macro with the following syntax: \citeimg*{<bibkey>} The unstarred form should simply produce \citeauthor{<bibkey>}, \citetitle{<bibkey>}, ...
28
votes
3answers
744 views

When to use TeX vs LaTeX for package writing

So I got into the whole idea of learning plain TeX (or what I think is plain TeX) and it's been very fun and rewarding. I also started writing some macros/packages for my personal use for now. Since ...
4
votes
1answer
141 views

Option argument for Beamer section slide

I am creating my own Beamer theme with a custom section slide. Ideally I would like the command \frame{\sectionpage} to have an additional, optional argument, that specifies the color of the ...
4
votes
1answer
56 views

How to display the dates in the \PrintChanges' changes?

An information I'm often missing when I have a look at the "Change History" of a package/classe is the dates of the changes because, IMHO, just the version number is not informative enough: if I could ...
1
vote
1answer
263 views

thmtools: “Your backend doesn't allow styling theorems” warning

I'm writing a package. Here is a part of it which should be enough for people to try reproducing my problem: %[…] \ProvidesPackage{mworks} %[…] \RequirePackage{amsmath,amssymb,amsfonts,nicefrac} ...
14
votes
1answer
152 views

Determine File Name and Line Number Where a Macro is Invoked From

Wondering if there is any way to print out (for debugging purposes) the file name and the line number from where a macro is invoked (not where it is defined). My attempt to use the currfile package ...
0
votes
0answers
40 views

Create your own style [duplicate]

I know this question has been asked many times, but I could not find a good answer for my question, yet... I wanted to develop my own thesis style i.e. \usepackage{harthesis}, which I did, but when I ...
0
votes
1answer
17 views

Placing the abstract on titlepage in custom class

Imagine I want to include my abstract to my titlepage. I would do something like this: \documentclass[10pt,english,a4paper]{article} \usepackage[utf8]{inputenc} \usepackage[T1]{fontenc} \title{My ...
108
votes
6answers
37k views

Style/class tutorials

What are some good tutorials on writing custom styles (classes) that clearly explain commands used and some of the features that TeX has to offer in the way of styles?
3
votes
1answer
98 views

HowTo create a LuaLatex package

I would like to develop LuaLatex packages. I am very interested by the scripting capability of LuaLatex, so I'd like to use it as much as possible instead of Latex or Tex. Is there a "standard" or ...
4
votes
1answer
37 views

Are dynamic defaults possible with kvoptions?

I'm writing a package with two options; one of the defaults should change, depending on the other option. Currently, the definitions are: \SetupKeyvalOptions{family=gitlog,prefix=gitLog@} ...
5
votes
1answer
55 views

How can solides3d know when one object is behind another?

pst-solides3d has an impressive graphics engine behind its design. I'm interested in knowing how it is able to know when an object is behind another object. Disclaimer: I am not sure this is an ...
28
votes
1answer
560 views

How does \usepackage differ from a simple \include or \input?

What does \usepackage do that is different than \input or \include? Does it simply import the commands in the package file to the current document or is it more complicated?
6
votes
1answer
41 views

Is it possible to implement a package dependency which is version specific?

This question should really ask what is the best way to implement a version-specific package dependency. However, if I try to ask that, the system threatens to close my question. In this answer, ...
21
votes
1answer
878 views

What date should I specify in the optional argument of \NeedsTeXFormat?

Subsection 4.1 of LaTeX2e for class and package writers contains the following passage: \NeedsTeXFormat {⟨format-name⟩} [⟨release-date⟩] This command tells TeX that this file should be ...
19
votes
2answers
672 views

Write new package with LaTeX2e or LaTeX3

I’m planning to create a package and I wonder if it’s better do do this with LaTeX3 syntax or the „old“ LaTeX2e, which is the one I know. Will LaTeX2e packages be supported by LaTeX3? I can give ...
7
votes
1answer
282 views

Creating a ConTeXt/LaTeX hybrid module

I have a simple titlepage, which I want to make available for ConTeXt- as well as LaTeX users. Each should just type \usemodule[myTitlepage], or \usepackage{myTitlepage}, respectively. I want to do ...
128
votes
4answers
18k views

Where do I start LaTeX programming?

I'm interested in writing packages for TeX/LaTeX/XeLaTeX. I googled around, but all I found was guides or tutorials about how to prepare documents using LaTeX. I want to know how LaTeX works and how ...
8
votes
2answers
158 views

Encrypt and decrypt parts of text in a LaTeX source file

Assume that you have some text in parts of your LaTeX document that you only want people with a password to see. A reason could e.g. be a case with an guiding answer. You want to make the case public ...
0
votes
1answer
70 views

Has anybody implemented Society of Automotive Engineer (SAE) style bibliographies with a biblatex/biber solution?

There already exists an SAE class on CTAN contributed by Axel Franke, which although it is 15 years old (last update 2000-11-14) is still workable with a few tweaks, I think. The problem I am facing ...
13
votes
2answers
171 views

The following code compiles without error. How can I change that?

Unlike most questions on this site, my problem is that my code compiles without error and I do not want it to. I want to be able the check whether \command is defined and to do something if it is ...
3
votes
1answer
101 views

change title page margins ONLY without packages

I am trying to prepare a package for students that offers a uniform standard title page for their work (homework, reports, theses, and probably more). I have the title page laid out as it should be. ...
2
votes
0answers
54 views

How to put the section head on the same location as a slide title when using slidepage

I am developing my own beamer theme. As part of the theme I want the section slides to have the section title on the same position as the other slides. At this moment the position is a little off. ...
1
vote
1answer
36 views

How to \clist_set in \msg_new?

Is it possible to process a comma separated list within a LaTeX3 error message? For example I want to define a message for unknown values to a .choice key like in the following example. I use \test ...
4
votes
2answers
74 views

Writing a token list conditional with expl3

This is a follow-up question to LaTeX3 conditional with grouping fails to compile. I would like to write a token list conditional with expl3 that is fully expandable in order to use it as a predicate ...
1
vote
0answers
86 views

Writing modular classes

As an OOP programmer, I am very attracted to the idea of making separate files for independent features within a class definition, where each feature I feel is too long to be included inline in the ...
5
votes
4answers
144 views

Help designing a package to use with personal notation

I am attempting to typeset a notation that I use for my own work, and I am struggling to create flexible commands. The notation involves placing mathematical symbols and expressions as if on the ...
40
votes
4answers
2k views

Has the time come for a LaTeX3 successor to 'listings'?

I'm currently looking for a nice and challenging open-source project to work/collaborate on after my thesis. I don't have a Comp. Sci. background, but I'd like to learn more about compiler ...
3
votes
2answers
114 views

Evaluate strings of key-value option in custom package by using a switch-case environment

I'm trying to write a custom package MyUnicodefonts where I'd like to store all my font settings for various math fonts and roman fonts (later also mono and sans). In my document I intend to choose ...
13
votes
2answers
214 views

Should expl3 code be used in packages intended to be compatible with multiple formats?

Maybe this question is just not a good idea in general, but, I'm curious. This could make package development simpler for some in the future. (Of course, this would not be forced on any package ...
6
votes
2answers
244 views

What is the difference between \@@par and \par?

In LaTeX internal code I came accross \@@par. How is this different from \par or \newline. When should I use \@@par if I am writing a package or class file? In general, there are so many other ...
4
votes
1answer
36 views

Problems using listxadd and xappto

I am a fairly experienced LaTeX user. Now, I am trying to get into learning the internals of LaTeX packages and classes. I do not know much about TeX coding. I thought a good beginning would be to try ...
3
votes
1answer
43 views

use multiple .dtx file to make only .sty file

I would like to split the voluminous .dtx of eledmac in multiple .dtx file. 1) one for the user handbook 2) many other for the package code + handbook. So my objectives are: 1) have multiple .dtx ...
8
votes
1answer
115 views

What is the most effective and efficient way to document a package?

I'm sure this must be a duplicate but the questions I've found don't quite address the question I have. Related questions include: How to modify package documentation How to document style files ...
3
votes
1answer
69 views

LaTeX3 conditional with grouping fails to compile

I am trying to write a LaTeX3 conditional using \prg_new_conditional:Nnn from the expl3 package. Since the code in the conditional needs to make assignments to some variables, I would like to use ...
5
votes
1answer
367 views

Define path for packages in the LaTeX file (analog of \input@path or \graphicspath for \usepackage)

How to specify path for additional packages in the LaTeX file itself? For graphics, you use \graphicspath{{a}{b}}, and then \includegraphics{file} finds b/file.pdf. EDIT: it should be ...
2
votes
0answers
82 views

advanced LaTeX course [duplicate]

I am looking for some tutorial or video-class or something like that about LaTeX advanced course. I want to know more about macros and the creation of packages. Thanks for the attention!
4
votes
2answers
66 views

How can I set contents in a box of zero width and specified height, optionally rotating, using expl3 syntax?

Using Steven B. Segletes's answer, I can centre something horizontally, optionally rotating it, using \centering \makebox[0pt]{\rotatebox{<angle>}{<contents>}} \par However, I would ...
5
votes
1answer
147 views

How can I override geometry's scale in the preamble? (E.g. if a class or package has set a default using geometry.)

With some geometry options, it is possible to override a previous setting in the preamble. For example: \documentclass{article} \usepackage{geometry} \geometry{hmarginratio=1:1} ...
0
votes
0answers
65 views

How to go about learning to program in Tex? [duplicate]

I have been using Tex for a few years now and enjoyed the work of others (e.g., ctan packages, templates, styles). My question sees to practical code to learn from. What would be a good primer, or ...
7
votes
1answer
418 views

How can latex help me format and present lots of data in a report?

At work I am responsible for creating information security reports that contain long narratives and reference what we refer to as "vulnerabilities". These vulnerabilities are presented in a table. I ...
7
votes
1answer
47 views

Patching/Preventing effective code in a package

Consider a command being defined in a package (or used from another package), say \somethingstupid and being used before \endinput within the package, doing some non-typesetting setup (coloring, ...
8
votes
1answer
390 views

How do counts differ from numexpr

To do basic arithmetic on numbers, one can utilize TeX counts, \newcount\c \c=2 \advance\c 3 \typeout{\the\c} LaTeX counters \newcounter{c} \setcounter{c}{2} \addtocounter{c}{3} \typeout{\thec} ...
1
vote
1answer
190 views

Beamer style file: footline drops out of slide if used only from slide 2 on

I'm in the process of creating a style file for a Beamer presentation. Most things are straight forward but I have some issues with the footline. In particular, I don't want a footline on the title ...
1
vote
1answer
77 views

option for title page in custom package

I have made my own package which loads some packages and setup a custom title page using the following % Title and author \makeatletter \def\@maketitle{% \newpage %\vspace{-\topskip} % ...
8
votes
1answer
656 views

Help wanted on \openout, \write and \closeout

Is there a way to test if a token is already associated with a writer? Something like this: \def\do@write#1{% \immediate\write\mywriter{something: #1}% } \def\@writesomething#1{% ...
16
votes
1answer
174 views

Customizing names of auxiliary file: safe practices?

I maintain a package (morewrites) which requires a temporary auxiliary file to function (written and read right away). This auxiliary file is currently named \jobname.mw, and a user has asked me to ...
12
votes
3answers
407 views

What to put into the dtx file?

Many packages are written as a single dtx file from that everything that composes the package is extracted. Apart from documentation and package code (the sty or cls), the installation instructions ...
2
votes
0answers
134 views

Throw error if font is not defined

I need to throw an error, should a certain font not be installed. I have a font in a subfolder: /font/NinjaFont.ttf. This must be installed via certain commands (not important for this - but here: ...