¿Qué técnica general siguen los autores al escribir libros técnicos en LaTeX?

Aquí hay una docena de nuestras prácticas LaTeX.

  1. No hay referencias absolutas. Cuando hacemos referencia a una parte, capítulo, sección, subsección, teorema, lema, corolario, figura, tabla, fórmula, línea de pseudocódigo, ejercicio, problema, página o cualquier otra cosa numerada, siempre usamos los comandos \ label y \ ref. Nuestra práctica para la cadena en la etiqueta es un tipo de dos o tres caracteres, seguido de un nombre descriptivo. Por ejemplo, la etiqueta para el capítulo sobre árboles rojo-negro es ch: rojo-negro-árboles, y la etiqueta para el Teorema maestro es thm: maestro.
  2. Nuestra bibliografía es grande y necesitamos una forma de administrar las claves en el archivo BibTeX. Nuestro sistema es que la clave es el apellido completo del primer autor, seguido de las dos primeras letras de los apellidos de cada autor sucesivo, seguido de dos dígitos para el año de publicación, seguido de una letra minúscula solo si necesario desambiguate. Por ejemplo, si citáramos nuestra propia tercera edición, la clave sería CormenLeRiSt09. Agregaré que no sé qué editor de texto usan mis coautores actualmente, pero he estado usando emacs durante 30 años y tiene un modo BibTeX que es bastante útil.

    Anexo, 16 de noviembre de 2014: cada vez que inserte algo en su bibliografía, asegúrese de tener la fuente en su poder, o al menos de haber registrado la información bibliográfica directamente de la fuente . Nunca copie una entrada bibliográfica de otra fuente, incluso si es un autor que cita su propio trabajo.   Así se propagan los errores bibliográficos. Sí, he visto a autores citar incorrectamente su propio trabajo. Realmente sucede Y crear una entrada BibTeX no es suficiente. Debe leer cómo salió la bibliografía en su artículo, o en lo que sea que esté escribiendo. Puede pensar que sabe cómo saldrá, pero BibTeX puede actuar de manera extraña. Como les digo a mis alumnos una y otra vez (y una y otra vez …): RTFB: ¡Lea la Bibliografía!

  3. Intentamos evitar usar el comando \ frac en línea. Puede haber un lugar o dos donde no podamos evitarlo, pero casi todo el tiempo usamos \ frac, está en una pantalla de matemáticas.
  4. Las matemáticas siempre son parte de una oración, incluso si está en una pantalla. Puntúalo como tal. Cuando un signo de puntuación (generalmente un punto o una coma) sigue a una visualización matemática, colocamos un espacio antes, para que la visualización finalice con \. o \, (eso es barra invertida-espacio-punto y barra invertida-espacio-coma). De esa manera, es menos probable que el lector piense que la puntuación es parte de las matemáticas en sí. No ponemos el espacio antes de la puntuación cuando las matemáticas aparecen en línea porque parecería extraño.
  5. Soy un fanático de conseguir espacio justo al final de las oraciones. TeX asume que una parada (punto, signo de interrogación o signo de exclamación) finaliza una oración, a menos que siga una letra mayúscula o una letra mayúscula seguida de un paréntesis derecho. (Puede haber otras partes de la regla que estoy olvidando aquí.) TeX deja un poco de espacio extra después de una oración (a menos que haya invocado el comando \ frenchspacing). Cuando una oración termina con una letra mayúscula, o una letra mayúscula seguida de un paréntesis derecho, colocamos \ @ antes de la parada. Cuando un punto sigue a una letra minúscula que no termina la oración, colocamos una barra diagonal inversa después del punto.
  6. La pregunta mencionó nuestro uso de espacios no rompedores. No dejamos que las matemáticas comiencen una línea, a menos que sea una expresión lo suficientemente larga. Si tenemos una secuencia A, B y C, donde los elementos son cortos, la ingresamos como A, B y ~ C.
  7. No permitimos líneas excesivamente completas. Los comandos \ sloppy y \ fussy son nuestros amigos.
  8. Tratamos de no usar un símbolo matemático que tenga un tipo sin dar el tipo, a menos que hayamos dado el tipo muy recientemente. Por ejemplo, diremos vértice ~ $ v $ en lugar de solo $ v $, a menos que hayamos mencionado que $ v $ es un vértice anterior en la oración, o tal vez en una de las dos oraciones anteriores. Probablemente pueda encontrar varios lugares donde no pudimos observar esta convención, pero tratamos de ser buenos al respecto.
  9. Para pseudocódigo, creé un paquete LaTeX, clrscode3e.sty. Puede descargar el paquete y su documentación en http://www.cs.dartmouth.edu/~thc…. Una cosa sobre la que te advertiré es que nunca escribas un nombre de varios archivos directamente en modo matemático. Si escribe $ shuffle $, la salida se verá terrible. Como mínimo, deberías usar \ mathit. Hice una macro \ id para los identificadores de composición tipográfica, y funciona dentro y fuera del modo matemático. My \ id macro tiene la ventaja de que, incluso en modo matemático, un guión en el nombre se compone como un guión y no como un signo menos. También te advertiré que, debido a que soy muy exigente con el espaciado correcto, hice un conjunto de macros para los atributos en la notación similar a un objeto que cambiamos en la tercera edición. Entonces, en lugar de escribir $ x. \ Id {left} $, escribimos $ \ attrib {x} {left} $, que coloca la cantidad correcta de espacio alrededor del punto. ¿Por qué soy tan exigente para hacer la composición correcta? Dos razones. Primero, mi padre era impresor y solía trabajar para él durante el verano. Tenía que estar bien . En segundo lugar, mi doctorado. El asesor era mi coautor, Charles Leiserson, y si conoces a Charles, sabes a lo que me refiero.
  10. Las 223 figuras fueron dibujadas por mí, usando MacDraw Pro. Es un software heredado, que se ejecuta solo en Macs anteriores a Intel. Pero me gusta más que cualquier cosa que haya pasado por el camino desde mediados de la década de 1990, por lo que mantengo alrededor de un par de Macs viejas para poder ejecutarlo. Un problema con los programas de dibujo más nuevos, como Illustrator, es que su salida es incompatible con el paquete psfrag de LaTeX, y confiamos en psfrag para las figuras con cualquier tipo de matemática complicada en ellos.
  11. Macros para todo. Creamos macros para todas las construcciones matemáticas, como \ expect para los valores esperados. Creamos una macro \ defn para definir los términos; produce texto en negrita y cursiva, pero podríamos cambiar fácilmente cómo aparecen las definiciones porque creamos una macro para ellas. Si hay una razón lógica para componer algo de cierta manera, creamos una macro para ello.
  12. Hice el índice, y el programa windex que escribió Ron Rivest fue inmensamente útil. Si vas a hacer un índice, hazlo bien. Nuestros archivos tienen comandos 5947 \ index en ellos.

¿Por qué soy tan exigente para hacer la composición correcta? Dos razones. Primero, mi padre era impresor y solía trabajar para él durante el verano. Tenía que estar bien .

Como lector, es apreciado.

More Interesting

¿Existe un libro o sitio web que describa los problemas y luego le solicite la estructura de datos / algoritmos más apropiados necesarios para resolver el problema?

¿Hay algún algoritmo de compresión de texto con pérdida?

¿Dónde puedo encontrar una biblioteca de estructura de datos de gráficos dirigida, implementada en Javascript?

¿Por qué chupo la programación (algoritmos de programación dinámica en particular)?

¿Cuál es el significado de la complejidad del tiempo pseudo polinomial? Vi que Knapsack se ejecuta en tiempo pseudo polinomial. Leí sobre esto aquí: tiempo pseudo-polinomial pero no puedo seguirlo. Quiero comprender el concepto de tiempo de ejecución pseudo polinomial y cómo se ejecuta la mochila en tiempo de pseudo polinomio.

¿Un árbol de búsqueda binario permite un vértice duplicado?

Cómo explorar los datos para elegir un algoritmo de aprendizaje automático

¿Cuál es el mejor algoritmo de reconocimiento de patrones hoy?

¿Cómo se diseña el algoritmo de búsqueda difusa en Sublime Text? ¿Cómo diseñarías algo similar?

¿Qué tipo de datos debo usar en C para almacenar datos como a1b2c3? ¿Podría usar una matriz de caracteres para almacenar esto como una cadena?

¿Existe un algoritmo para fusionar 2 montones máximos en un montón mínimo con una complejidad de tiempo menor que O (n)?

¿Cómo puede un programador competitivo construir cosas solo por algoritmo y un lenguaje y nada sobre la web?

¿Cómo funciona el algoritmo de cubos de marcha?

Cómo entender rápidamente la complejidad del tiempo en su conjunto y sus 3 anotaciones

¿Cuál es el mejor factor de contracción para un tipo de peine? ¿Por qué?