Pregunta

Yo uso el comando \todo del paquete \todonotes. Me gustaría a la disposición mi fuente de poner \todos por separado del párrafo anterior:

Some text.

\todo{make note}

Pero no quiero \todo para comenzar un nuevo párrafo, o se estropea el espaciamiento del documento.

¿Hay un comando para evitar esto?

Si hubiera un comando / paquete de consumir el espacio en blanco a la altura, entonces yo podría redefinir \todo utilizarlo.

Editar: La adición de un% entre todo lo que es, obviamente, muy irritante. Algo más?

¿Fue útil?

Solución

Estoy de acuerdo con todos los demás que se debe, probablemente, sólo tiene que añadir el %, pero sí encontrar esta pregunta interesante. El problema es que tan pronto como el látex lee la línea de vacío, que se convierte en el comando \par, que termina el párrafo anterior. A principios de \todo, esta orden \par ya ha sido ejecutado, y es imposible de deshacer (creo). Por lo que su única esperanza es mantener ese \par se inserte o se comporten como lo hace normalmente. Si desea evitar que sea insertada, puede probar con el Capítulo 8 de "El TeXbook", que debe decirle cómo una línea vacía se convierte en \par lectura. Alternativamente, se podría tratar de hacer una solución basada en el siguiente tipo de idea:

Some text.{\let\par\relax

\todo{make note}}

Pero cuidado! Definitivamente no quiere a nivel mundial cambiar el comportamiento de \par, por lo que he añadido un par extra de llaves (comandos LaTeX están en el ámbito, por lo que la nueva definición de \par sólo tiene efecto dentro del grupo donde se hizo la definición). Buena suerte.

Otros consejos

Cuando la macro precede al espacio deseado, el% no es necesario si usted hace uso de \ @ifnextchar y \ @gobble.

Considere algo así como (en el preámbulo, por supuesto):

\makeatletter
\let\oldtodo\todo
\renewcommand\todo[1]{%
\oldtodo{#1}%
\@ifnextchar\par{\@gobble}{}}
\makeatother

De este modo, si usted tiene algo como:

\todo{Stuff}

Things

actuará el mismo que

\todo{Stuff}
%
Things

o

\todo{Stuff}
Things

Se puede generalizar este tipo de cosas con una macro como

\makeatletter
\newcommand\gobblepars{%
    \@ifnextchar\par%
        {\expandafter\gobblepars\@gobble}%
        {}}
\makeatother

A continuación, puede utilizar \gobblepars donde quiera que quiere comer el espacio (como después de que el TODO). También puede volver a definir TODO (como se muestra arriba) para colocar automáticamente una \gobblepars después de ella.

Para manejar la líder espacio vacío. puede utilizar \gobblepars también, pero hay que ser explícita. Por ejemplo:

Some text\gobblepars

\todo{Stuff}

impedirá una \ par de aparecer entre las dos líneas.

Prueba esto:

Some text.
%
\todo{make note}

puede ser que usted no debe dejar nueva línea entre el texto y la nota de tarea o simplemente comentar que

Some text.
%
\todo{make note}

¿Qué tal

Some text.
%
\todo{make note}
%
some more text

Conjunto \endlinechar=-1 para hacer líneas vacías no tienen ningún efecto. Usted tendrá que utilizar \par para separar párrafos, que creo que es una irritación más grande que tener que escribir % en líneas de separación, pero eso es lo que está pidiendo.

¿Qué hay de mantener todo lo que aún tiene trabajo por hacer dentro de las etiquetas \ def, y luego se retira y se mueve en el documento adecuado cuando no hay más trabajo que hacer?

por ejemplo.

\def \par1
{
It was the best of times, it was the
}

\def \par2000
{
"Repression is the only lasting philosophy. The dark deference of fear and slavery, my friend," observed the Marquis
}

\def \paridunno
{
The end
}

Un cuento de dos ciudades, de Charles Dickens

\par1
\todo{write a whole bunch of pages}
\par2000
\todo{Visit ghost of Christmas future, copy pages from finished book}
\paridunno
\todo{Think of a better ending}

Esto tiene la ventaja añadida de que le da un \ listoftodos tanto en la fuente, literalmente, y

en la salida.

sólo incluyen su derecho \ TODO en el medio de su texto. ningún salto de línea, nada de nada.

bla bla bla texto \ TODO {Hágalo ahora!} Más texto, bla, bla, bla.

en mi equipo (Win XP, MiKTeX 2.7, TeXnicCenter) este buen trabajo, no produce ningún salto de línea, y pone la nota de tareas en el margen. . .

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top