6

I'm looking for a way to turn toggle the "comment" status of certain comments within a latex document. The idea is that throughout the document, including the preamble, there are specific commented-out lines that I can effectively toggle on and off, from comment to printed line. The following MWE shows my attempt to instigate this using a command, but unfortunately it just prints the % character:

% Compiles with XeLaTeX

\documentclass{memoir}

\usepackage{polyglossia}
\setmainlanguage{english}


\newcommand{\tcom}{\%} % I was hoping changing this as needed would work.

\tcom comment in preamble that can be toggled.

\begin{document}

% comment that should remain hidden.
\tcom comment that can be toggled.

\end{document}
  • No, not this way – user31729 Jun 19 '15 at 20:02
  • 1
    Maybe you can achieve what you are looking for by introducing feature switches with \newif? After \newif\iffoo you can use \iffoo .. \else ..\fi and set the switch to true (\footrue) or false (\foofalse). – Christian Lindig Jun 19 '15 at 20:05
  • See the comment package; and perhaps the topics conditional compilation and editorial. – jon Jun 19 '15 at 20:05
  • @ChristianLindig This is not something I currently understand, but I will look into it. Thanks – DavidR Jun 19 '15 at 20:07
  • 1
    @DavidRowthorn: Yes -- if you use a real comment (indicating some explanation to some code, you don't use macros, just ordinary text) -- this is no problem in the document environment, but in the preamble, this text means typesetting as long as the % is removed – user31729 Jun 19 '15 at 20:39
9

Since you're using XeLaTeX you have thousands of characters you don't use in your document. Choose one that you can easily type (maybe with a shorthand in your editor). Here I use TIBETAN SYLLABLE OM

\documentclass{memoir}

\usepackage{polyglossia}
\setmainlanguage{english}

\newif\ifshowcomments
%\showcommentstrue % uncomment to show the comments

\ifshowcomments
  \catcode`ༀ=9 % ignored
\else
  \catcode`ༀ=14 % comments
\fi

ༀ \usepackage{kantlipsum} %comment in preamble that can be toggled.

\begin{document}

Some text

% comment that should remain hidden.
ༀ comment that can be toggled.

\end{document}

If you uncomment the line \showcommentstrue the chosen character will be ignored, otherwise it will act exactly like %.

  • And thanks for introducing me to the kantlipsum package. I wonder if there's a hegellipsum on the horizon – DavidR Jun 19 '15 at 21:22
0

If there is always a blank line after then you could do (untested)

\def\tcom#1\par{}

Eats everything until the next paragraph

Then the toggle would just be a redefinition of the macro

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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