# Tag Info

13

You can modify the texmf.cnf variables error_line and max_print_line, adding to the "local" texmf.cnf file, whose location depends on the distribution you're using; for TeX Live it is /usr/local/texlive/2011/texmf.cnf and the lines to be added are max_print_line=1000 error_line=254 half_error_line=238 The first number is actually arbitrary, but 1000 ...

11

From LuaTeX Reference, beta 0.70.1, section 2.3 UNICODE text support: Output to the terminal uses ^^ notation for the lower control range (c < 32), with the exception of ^^I, ^^J and ^^M. These are considered 'safe' and therefore print-as-is. And in the manual are the terminal/log explicitely excluded for process_output_buffer: 4.1.3.2 ...

10

As @egreg says, it looks like a bug to me. For writing to files you can modify a lua callback but unfortunately the callback (as documented) is not called when writing to the terminal. \edef\foo{\string\^^M} {\catcode`\^=12 \directlua{ callback.register( "process_output_buffer", function (s) snew, n = string.gsub(s,"\string\r","^^M") return snew end) }} ...

8

The best way is outlined in Passing parameters to a document, which should be better known. If the document starts as \ifcase\flag\relax <what to do when \flag=0>\or <what to do when \flag=1>\or <what to do when \flag=2>\or ... <what to do when \flag=n>\else <what to do otherwise>\fi we are free to choose among ...

8

This has nothing to do with \typeout except insofar as its argument is fully expanded because of \write, as you noted. You could ask the same of \edef, and the answer would be to use a sufficiently elaborate combination of \expandafter, \noexpand, and \unexpanded to force each token to expand the desired number of times. For example: *\def\a{\b} ...

7

This is not garbage, but very important information. All text files that are input are recorded, along with the image files that are imported and included in the final PDF. A .fd file contains the necessary info to use a font; in your case t1cmss.fd contains the information for European Modern Sans (T1 encoding) and t1fi4.fd is for Inconsolata. TeX has no ...

6

If you actually want to generate the error in an expansion only context such as a \write or a PS \special the usual way is just to use an undefined command such as \ERROR You can not trigger any other error from there (and LaTeX3 can't really change that). ! Undefined control sequence. l.1 ...ptingToCallUndefinedPropertyunknownproperty ...

6

This space is, as far as I know, impossible to avoid between two separate \messages. The solution would be to first combine all the contiguous material in one macro (adding material with \edef\foo{\foo <material>}), and then doing \message{\foo}. To really know where the space comes from, look in tex.web, documented source code of TeX. The relevant ...

5

You shouldn't invoke latex (or pdflatex) from the folder that contains the executables, because that folder is (or at least should be...) writeable only by root. Thus, latex has to crash because it can't create the .log, .aux, and .pdf (or .dvi) files to the executables folder. You may verify this by typing sudo ./latex /Users/fluid/Desktop/sample.tex ...

4

\show uses the same internal routines that TeX employs for error messages. Judging now this may seem a design error, but one always has to keep in mind that TeX was released in 1982, when computer memory was quite scarcer than it is today. A front-end like Texmaker could, in principle, distinguish between diagnostic messages given by \show (or \showthe) and ...

3

From the comments received so far, and my own conclusions after reading the LuaTeX manual, I'm now convinced that the log file cannot be read reliably from lua code being run in the same document whose log file I'm trying to read. Opening that file from lua and reading with file.read() is not reliable because the same file is open and being written in by ...

3

The texio library provided by luatex provides more control over message formatting and does not insert a space: \def\mymessage#1{\directlua{texio.write("\luaescapestring{#1}")}} \mymessage{.}\mymessage{.}\mymessage{.} \bye The result is: grendel:io sharpie$luatex io.tex This is LuaTeX, Version beta-0.60.2-2010071218 (TeX Live 2010) (rev 3736) ... 2 Well, here is a partial answer - does everything, (except I don't know how to output ASCII code as character on terminal in Latex (\char apparently typesets, and it's not expandable, so cannot be used in \typeout) EDIT: Fixed thanks to uccode trick by @DavidCarlisle in comments.), except the "reverse lookup". The output is something like this: ... ASCII ... 2 If you have hex value rather than the ascii code value then you can use ^^61 to represent a. The hex digits have to be in lowercase (for the letters a-f). If you have only the ascii code number then you have to build your own table (if you want to mix such output with other material) or use the ingenious trick with \uccodeby David, but the latter doesn't ... 2 The boolean variable texconfig.trace_file_names is only in effect when you disable the kpathsea library with texconfig.kpse_init = false. You can disable the kpathsea library in the ini file called with luatex --lua <inifile> .... See below. A non working example (it is hard to replace kpathsea in a few lines of code) is like this. Call with lualatex ... 2 I'm not sure if this exactly what you need, but with help of grep you can do something. Let's say I want to compile my tex file via terminal. pdflatex Untitled.tex does the job. However, I can pipe the output of this into grep and use color feature of grep to highlight a word (in this example "pdf") pdflatex Untitled.tex | grep -E --color "pdf|$" The ...

Only top voted, non community-wiki answers of a minimum length are eligible