Diseño de dos columnas con dos tablas de contenido bilingües para cada idioma.

Diseño de dos columnas con dos tablas de contenido bilingües para cada idioma.

Usando texliveen Debian Jessie

Estoy escribiendo mi solicitud para un puesto y me gustaría incluir versiones del contenido tanto en alemán como en inglés.

Me gustaría tener una página justo después de la portada de mi solicitud que contenga dos ToCmensajes de correo electrónico uno al lado del otro, sin embargo, cada uno de ellos muestre elementos que solo están en el idioma especificado.

Hasta ahora he descubierto cómo sumar dos ToCcomo este:

\usepackage{parcolumns}
\usepackage{etoolbox}
\makeatletter
\patchcmd{\pc@placeboxes}{\vrule}{{\VRULE}}{}{}
\makeatother
\newcommand\VRULE{\color{SOME_COLOR}\vrule width 0.2mm}
\usepackage{shorttoc}
...

\begin{parcolumns}[nofirstindent,rulebetween=true]{2}
    \colchunk{
        \selectlanguage{german}
        \shorttableofcontents{\contentsname}{1}
    }
    \colchunk{
        \selectlanguage{english}
        \tableofcontents
    }
\end{parcolumns}
\pagebreak

Esto produce lo siguiente:

ingrese la descripción de la imagen aquí

Como puedes ver, las cosas están lejos de estar terminadas. No me gustan mucho los trucos de LaTeX, así que no tengo idea de si lo que estoy a punto de pedir es posible.

La primera pregunta es:¿Es posible personalizar una ToC para mostrar solo las entradas que cumplen una condición específica?En mi caso la condición sería: ¿el nombre de la sección está en alemán o en inglés? Si está en alemán, se muestra solo en el ToC izquierdo; de lo contrario, si está en inglés, se muestra solo en el ToC derecho. Además, sería fantástico si una entrada pudiera cumplir ambas condiciones para que pudiera aparecer en ambos ToC (por ejemplo, un certificado del que no tengo la traducción y no es necesario agregarlo dos veces solo por diversión). Me imagino que todo lo anterior funcionaría con algún tipo ifde valor para las secciones en alemán e inglés que luego se verifica y, en función de él, el ToC se completa en consecuencia.

Siguiendo esta línea de pensamiento y si estás familiarizado con ambos idiomas habrás notado en la imagen de arriba que las entradas1 y 2significan lo mismo (pero en un idioma diferente), así como las entradas3 y 4.

Esto me lleva a la segunda pregunta, a saber:¿Es posible utilizar algún tipo de condición que permita que dos secciones tengan el mismo número?

Al final, así es como debería verse la página:

ingrese la descripción de la imagen aquí


EDITAR:¡Gracias al increíble @ChristianHupfer ya casi está terminado! Un último problema es la eliminación de las entradas en blanco en el tocque no tiene las entradas X,Y y Z pero sí ftoclas tiene:

ingrese la descripción de la imagen aquí

La imagen de arriba corresponde al código siguiente:

\section{Lebenslauf}
\pagebreak
\section{Lebenslauf}[CV]*
\pagebreak
\section{Bachelor Urkunde}
\pagebreak
\section{Bachelor Urkunde}[Bachelor Diploma]*
\pagebreak
\section{Lalalala}[Lalalala]
\pagebreak
\section{Wichtige Informationen}
\pagebreak
\section{Wichtige Informationen}[Important information]*
\pagebreak
\section{Andere Informationen}
\pagebreak
\section{Noch mehr wichtige Informationen}
\pagebreak
\section{Noch mehr wichtige Informationen}[Even more important information]*
\pagebreak
\section{Blabla}[Only in English Foo]*
\pagebreak
\section{Zusammengef\"uhrt}[Recombined]

Tengo la sensación de que quizás no he explicado las cosas lo suficientemente bien (¡lo siento!). Una sección en un idioma diferente en realidad tiene que aparecer como una sección separada. Entonces, el código anterior se adapta mejor a mis necesidades con la pequeña molestia visual de que quedan entradas en blanco en ambos tocs. ¿Es posible eliminarlos? No es gran cosa, pero creo que las cosas se verían mucho mejor, especialmente para otros lectores de todo este tema que quieran usar las soluciones proporcionadas en un documento más grande donde pueden aparecer múltiples entradas en solo uno de ambos, tocdejando enormes espacios en blanco en el otro toc.

Respuesta1

Aquí hay una versión con un argumento opcional adicional \sectionque contiene la versión en inglés del nombre de la sección de la tabla de contenido. Si [...]se omite, no se ingresa nada en ftoc(significado foreign toc).

Úselo \tableofcontentspara el comportamiento tradicional y \tableofcontents[ftoc]para el otro idioma. La configuración del idioma en realidad se realiza en el parcolumnsentorno, no dentro \tableofcontents, etc.

\documentclass{article}

\usepackage[english,ngerman]{babel}
\usepackage{xpatch}
\usepackage{xparse}


\usepackage{parcolumns}


\makeatletter

\patchcmd{\pc@placeboxes}{\vrule}{{\VRULE}}{}{}
\newcommand\VRULE{\color{SOME_COLOR}\vrule width 0.2mm}


\let\latex@@section\section
\RenewDocumentCommand{\section}{somo}{%
  \IfBooleanTF{#1}{%
    \latex@@section*{#3}%
  }{%
    \IfValueTF{#2}{%
      \latex@@section[#2]{#3}%
    }{%
      \latex@@section{#3}%
    }%
    \IfValueT{#4}{%
      \addcontentsline{ftoc}{section}{\protect\numberline{\csname thesection\endcsname}#4}
    }%
  }%
}

\renewcommand\tableofcontents[1][toc]{%
  \section*{\contentsname
    \@mkboth{%
      \MakeUppercase\contentsname}{\MakeUppercase\contentsname}}%
  \@starttoc{#1}%
}



\makeatother  

\begin{document}

\begin{parcolumns}[nofirstindent,rulebetween=true]{2}
    \colchunk{
        \selectlanguage{ngerman}
        \tableofcontents
        %\shorttableofcontents{\contentsname}{1}
    }
    \colchunk{
        \selectlanguage{english}
        \tableofcontents[ftoc]
    }
\end{parcolumns}
\pagebreak

\section{Lebenslauf}[CV]
\section{Bachelor Urkunde}[Bachelor Diploma]
\section{Wichtige Informationen}[Important information]





\end{document}

ingrese la descripción de la imagen aquí

Actualizar

\documentclass{article}

\usepackage[english,ngerman]{babel}
\usepackage{xpatch}
\usepackage{xparse}


\usepackage{parcolumns}


\makeatletter

\patchcmd{\pc@placeboxes}{\vrule}{{\VRULE}}{}{}
\newcommand\VRULE{\color{SOME_COLOR}\vrule width 0.2mm}

\newcounter{storetocdepth}

\let\latex@@section\section
\RenewDocumentCommand{\section}{somos}{%
  \IfBooleanTF{#1}{%
    \latex@@section*{#3}%
  }{%
    \IfBooleanTF{#5}{%
      \setcounter{storetocdepth}{\value{tocdepth}}
      \addtocontents{toc}{\protect\setcounter{tocdepth}{-4}} 
      % The #2 is of no use here, except of page headings /section mark
      \IfValueTF{#2}{%
        \latex@@section[#2]{#3}%
      }{%
        \latex@@section{#3}%
      }%
      \addtocontents{toc}{\protect\setcounter{tocdepth}{\number\value{storetocdepth}}}
      \addtocontents{toc}{\protect\contentsline{section}{\protect\phantom{#3}}{}}% Provide an empty fake entry
    }{%
      \IfValueTF{#2}{%
        \latex@@section[#2]{#3}%
      }{%
        \latex@@section{#3}%
      }%
    }%
    \IfValueTF{#4}{%
      \addcontentsline{ftoc}{section}{\protect\numberline{\csname thesection\endcsname}#4}
    }{%
      \addtocontents{ftoc}{\protect\contentsline{section}{\protect\phantom{#2}}{}}% Provide an empty fake entry
    }%
  }%
}

\renewcommand\tableofcontents[1][toc]{%
  \section*{\contentsname
    \@mkboth{%
      \MakeUppercase\contentsname}{\MakeUppercase\contentsname}}%
  \@starttoc{#1}%
}



\makeatother  

\begin{document}

\begin{parcolumns}[nofirstindent,rulebetween=true]{2}
    \colchunk{
        \selectlanguage{ngerman}
        \tableofcontents
        %\shorttableofcontents{\contentsname}{1}
    }
    \colchunk{
        \selectlanguage{english}
        \tableofcontents[ftoc]
    }
\end{parcolumns}
\pagebreak

\section{Lebenslauf}[CV]
\section{Bachelor Urkunde}[Bachelor Diploma]
\section{Wichtige Informationen}[Important information]
\section{Andere Informationen}
\section{Noch mehr wichtige Informationen}[Even more important information]
\section{Blabla}[Only in English Foo]*

\section{Zusammengef\"uhrt}[Recombined]




\end{document}

ingrese la descripción de la imagen aquí

información relacionada