Take the 2-minute tour ×
TeX - LaTeX Stack Exchange is a question and answer site for users of TeX, LaTeX, ConTeXt, and related typesetting systems. It's 100% free, no registration required.

I want something like \ifmmode\else\GenerateWarning{The command \backslash uzuka is supported only in math mode.}\fi, which is supposed to generate a warning "The command \uzuka is supported only in math mode.". Is there a command or a package with this capacibility?

share|improve this question

3 Answers 3

up vote 15 down vote accepted

For LaTeX, use the commands described in section 4.9 of clsguide.pdf:

  • \PackageWarning and \PackageWarningNoLine if you are writing a package
  • \ClassWarning and \ClassWarningNoLine if you are writing a class
  • The internal generic version for warnigns is \GenericWarning

The expl3 bundle has another interface for warnings and similar messages, see Part XVII in source3.pdf.

share|improve this answer
3  
I'd add that the expl3 approach has been designed to allow suppression of messages in a selective fashion. Packages such as silence can do the same for LaTeX2e messages but as an 'add on'. –  Joseph Wright Sep 20 '10 at 11:43
1  
@doncherry Thanks, fixed. (It's called l3kernel now instead of expl3.) –  Philipp Dec 9 '12 at 20:52

You can use \typeout{msg}. The command will print msg on the terminal and in the log file.

share|improve this answer

Just use the built-in \errmessage for errors, e.g. \let\GenerateWarning=\errmessage.

The kind of warnings Latex generates are just messages; \let\GenerateWarning=\message will not interrupt the compile. Latex uses the commands \@latex@warning and \@latex@warning@no@lines to create these for its own warnings: you check the source you find in latex.ltx.

share|improve this answer
    
Yes, that will allow to generate errors. But what about warnings? Is it possible to generate them too? –  fiktor Sep 20 '10 at 11:13
    
Thanks to search using \errmessage keyword I've found in TeXBook how to output warning. Actually I've found, that my editor (TeXnicCenter 1.0) treats as warnings output lines like "LaTeX Warning: \uzuka used outside of math mode on input line 211", which can be generated using \message{LaTeX Warning: \noexpand\uzuka used outside of math mode on input line \the\inputlineno}. Thank you. –  fiktor Sep 20 '10 at 11:21

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.